{-# LINE 1 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}

{-# LINE 2 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}

{-# LINE 3 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}

{-# LINE 4 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}

module Bindings.HDF5.HighLevelAPI where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 7 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
import Bindings.HDF5.Types

foreign import ccall "H5LTpath_valid" c'H5LTpath_valid
  :: C'hid_t -> CString -> C'hbool_t -> IO C'htri_t
foreign import ccall "&H5LTpath_valid" p'H5LTpath_valid
  :: FunPtr (C'hid_t -> CString -> C'hbool_t -> IO C'htri_t)

{-# LINE 10 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTopen_file_image" c'H5LTopen_file_image
  :: Ptr () -> CSize -> CUInt -> IO C'hid_t
foreign import ccall "&H5LTopen_file_image" p'H5LTopen_file_image
  :: FunPtr (Ptr () -> CSize -> CUInt -> IO C'hid_t)

{-# LINE 11 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset" c'H5LTmake_dataset
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> C'hid_t -> Ptr () -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset" p'H5LTmake_dataset
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> C'hid_t -> Ptr () -> IO C'herr_t)

{-# LINE 12 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_char" c'H5LTmake_dataset_char
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> CString -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_char" p'H5LTmake_dataset_char
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> CString -> IO C'herr_t)

{-# LINE 13 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_short" c'H5LTmake_dataset_short
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CShort -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_short" p'H5LTmake_dataset_short
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CShort -> IO C'herr_t)

{-# LINE 14 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_int" c'H5LTmake_dataset_int
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CInt -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_int" p'H5LTmake_dataset_int
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CInt -> IO C'herr_t)

{-# LINE 15 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_long" c'H5LTmake_dataset_long
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CLong -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_long" p'H5LTmake_dataset_long
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CLong -> IO C'herr_t)

{-# LINE 16 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_float" c'H5LTmake_dataset_float
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CFloat -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_float" p'H5LTmake_dataset_float
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CFloat -> IO C'herr_t)

{-# LINE 17 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_double" c'H5LTmake_dataset_double
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CDouble -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_double" p'H5LTmake_dataset_double
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> Ptr CDouble -> IO C'herr_t)

{-# LINE 18 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTmake_dataset_string" c'H5LTmake_dataset_string
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5LTmake_dataset_string" p'H5LTmake_dataset_string
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 19 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset" c'H5LTread_dataset
  :: C'hid_t -> CString -> C'hid_t -> Ptr () -> IO C'herr_t
foreign import ccall "&H5LTread_dataset" p'H5LTread_dataset
  :: FunPtr (C'hid_t -> CString -> C'hid_t -> Ptr () -> IO C'herr_t)

{-# LINE 20 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_char" c'H5LTread_dataset_char
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_char" p'H5LTread_dataset_char
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 21 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_short" c'H5LTread_dataset_short
  :: C'hid_t -> CString -> Ptr CShort -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_short" p'H5LTread_dataset_short
  :: FunPtr (C'hid_t -> CString -> Ptr CShort -> IO C'herr_t)

{-# LINE 22 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_int" c'H5LTread_dataset_int
  :: C'hid_t -> CString -> Ptr CInt -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_int" p'H5LTread_dataset_int
  :: FunPtr (C'hid_t -> CString -> Ptr CInt -> IO C'herr_t)

{-# LINE 23 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_long" c'H5LTread_dataset_long
  :: C'hid_t -> CString -> Ptr CLong -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_long" p'H5LTread_dataset_long
  :: FunPtr (C'hid_t -> CString -> Ptr CLong -> IO C'herr_t)

{-# LINE 24 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_float" c'H5LTread_dataset_float
  :: C'hid_t -> CString -> Ptr CFloat -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_float" p'H5LTread_dataset_float
  :: FunPtr (C'hid_t -> CString -> Ptr CFloat -> IO C'herr_t)

{-# LINE 25 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_double" c'H5LTread_dataset_double
  :: C'hid_t -> CString -> Ptr CDouble -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_double" p'H5LTread_dataset_double
  :: FunPtr (C'hid_t -> CString -> Ptr CDouble -> IO C'herr_t)

{-# LINE 26 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTread_dataset_string" c'H5LTread_dataset_string
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5LTread_dataset_string" p'H5LTread_dataset_string
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 27 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTfind_dataset" c'H5LTfind_dataset
  :: C'hid_t -> CString -> IO C'herr_t
foreign import ccall "&H5LTfind_dataset" p'H5LTfind_dataset
  :: FunPtr (C'hid_t -> CString -> IO C'herr_t)

{-# LINE 28 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_dataset_ndims" c'H5LTget_dataset_ndims
  :: C'hid_t -> CString -> Ptr CInt -> IO C'herr_t
foreign import ccall "&H5LTget_dataset_ndims" p'H5LTget_dataset_ndims
  :: FunPtr (C'hid_t -> CString -> Ptr CInt -> IO C'herr_t)

{-# LINE 29 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_dataset_info" c'H5LTget_dataset_info
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'H5T_class_t -> Ptr CSize -> IO C'herr_t
foreign import ccall "&H5LTget_dataset_info" p'H5LTget_dataset_info
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'H5T_class_t -> Ptr CSize -> IO C'herr_t)

{-# LINE 30 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_string" c'H5LTset_attribute_string
  :: C'hid_t -> CString -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_string" p'H5LTset_attribute_string
  :: FunPtr (C'hid_t -> CString -> CString -> CString -> IO C'herr_t)

{-# LINE 31 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_char" c'H5LTset_attribute_char
  :: C'hid_t -> CString -> CString -> CString -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_char" p'H5LTset_attribute_char
  :: FunPtr (C'hid_t -> CString -> CString -> CString -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 32 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_short" c'H5LTset_attribute_short
  :: C'hid_t -> CString -> CString -> Ptr CShort -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_short" p'H5LTset_attribute_short
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CShort -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 33 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_int" c'H5LTset_attribute_int
  :: C'hid_t -> CString -> CString -> Ptr CInt -> CSize -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_int" p'H5LTset_attribute_int
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CInt -> CSize -> IO C'herr_t)

{-# LINE 34 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_long" c'H5LTset_attribute_long
  :: C'hid_t -> CString -> CString -> Ptr CLong -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_long" p'H5LTset_attribute_long
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CLong -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 35 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_long_long" c'H5LTset_attribute_long_long
  :: C'hid_t -> CString -> CString -> Ptr CLLong -> CSize -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_long_long" p'H5LTset_attribute_long_long
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CLLong -> CSize -> IO C'herr_t)

{-# LINE 36 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_float" c'H5LTset_attribute_float
  :: C'hid_t -> CString -> CString -> Ptr CFloat -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_float" p'H5LTset_attribute_float
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CFloat -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 37 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTset_attribute_double" c'H5LTset_attribute_double
  :: C'hid_t -> CString -> CString -> Ptr CDouble -> CSize -> IO C'herr_t
foreign import ccall "&H5LTset_attribute_double" p'H5LTset_attribute_double
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CDouble -> CSize -> IO C'herr_t)

{-# LINE 38 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute" c'H5LTget_attribute
  :: C'hid_t -> CString -> CString -> C'hid_t -> Ptr () -> IO C'herr_t
foreign import ccall "&H5LTget_attribute" p'H5LTget_attribute
  :: FunPtr (C'hid_t -> CString -> CString -> C'hid_t -> Ptr () -> IO C'herr_t)

{-# LINE 39 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_string" c'H5LTget_attribute_string
  :: C'hid_t -> CString -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_string" p'H5LTget_attribute_string
  :: FunPtr (C'hid_t -> CString -> CString -> CString -> IO C'herr_t)

{-# LINE 40 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_char" c'H5LTget_attribute_char
  :: C'hid_t -> CString -> CString -> Ptr Char -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_char" p'H5LTget_attribute_char
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr Char -> IO C'herr_t)

{-# LINE 41 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_uchar" c'H5LTget_attribute_uchar
  :: C'hid_t -> CString -> CString -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_uchar" p'H5LTget_attribute_uchar
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CUChar -> IO C'herr_t)

{-# LINE 42 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_short" c'H5LTget_attribute_short
  :: C'hid_t -> CString -> CString -> Ptr CShort -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_short" p'H5LTget_attribute_short
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CShort -> IO C'herr_t)

{-# LINE 43 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_int" c'H5LTget_attribute_int
  :: C'hid_t -> CString -> CString -> Ptr CInt -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_int" p'H5LTget_attribute_int
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CInt -> IO C'herr_t)

{-# LINE 44 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_long" c'H5LTget_attribute_long
  :: C'hid_t -> CString -> CString -> Ptr CLong -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_long" p'H5LTget_attribute_long
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CLong -> IO C'herr_t)

{-# LINE 45 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_long_long" c'H5LTget_attribute_long_long
  :: C'hid_t -> CString -> CString -> Ptr CLLong -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_long_long" p'H5LTget_attribute_long_long
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CLLong -> IO C'herr_t)

{-# LINE 46 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_float" c'H5LTget_attribute_float
  :: C'hid_t -> CString -> CString -> Ptr CFloat -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_float" p'H5LTget_attribute_float
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CFloat -> IO C'herr_t)

{-# LINE 47 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_double" c'H5LTget_attribute_double
  :: C'hid_t -> CString -> CString -> Ptr CDouble -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_double" p'H5LTget_attribute_double
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CDouble -> IO C'herr_t)

{-# LINE 48 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTfind_attribute" c'H5LTfind_attribute
  :: C'hid_t -> CString -> IO C'herr_t
foreign import ccall "&H5LTfind_attribute" p'H5LTfind_attribute
  :: FunPtr (C'hid_t -> CString -> IO C'herr_t)

{-# LINE 49 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_ndims" c'H5LTget_attribute_ndims
  :: C'hid_t -> CString -> CString -> Ptr CInt -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_ndims" p'H5LTget_attribute_ndims
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr CInt -> IO C'herr_t)

{-# LINE 50 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTget_attribute_info" c'H5LTget_attribute_info
  :: C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'H5T_class_t -> Ptr CSize -> IO C'herr_t
foreign import ccall "&H5LTget_attribute_info" p'H5LTget_attribute_info
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'H5T_class_t -> Ptr CSize -> IO C'herr_t)

{-# LINE 51 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTtext_to_dtype" c'H5LTtext_to_dtype
  :: CString -> C'H5LT_lang_t -> IO C'hid_t
foreign import ccall "&H5LTtext_to_dtype" p'H5LTtext_to_dtype
  :: FunPtr (CString -> C'H5LT_lang_t -> IO C'hid_t)

{-# LINE 52 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5LTdtype_to_text" c'H5LTdtype_to_text
  :: C'hid_t -> CString -> C'H5LT_lang_t -> Ptr CSize -> IO C'herr_t
foreign import ccall "&H5LTdtype_to_text" p'H5LTdtype_to_text
  :: FunPtr (C'hid_t -> CString -> C'H5LT_lang_t -> Ptr CSize -> IO C'herr_t)

{-# LINE 53 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMmake_image_8bit" c'H5IMmake_image_8bit
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5IMmake_image_8bit" p'H5IMmake_image_8bit
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> Ptr CUChar -> IO C'herr_t)

{-# LINE 54 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMmake_image_24bit" c'H5IMmake_image_24bit
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5IMmake_image_24bit" p'H5IMmake_image_24bit
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr CUChar -> IO C'herr_t)

{-# LINE 55 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMget_image_info" c'H5IMget_image_info
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr C'hssize_t -> IO C'herr_t
foreign import ccall "&H5IMget_image_info" p'H5IMget_image_info
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr C'hssize_t -> IO C'herr_t)

{-# LINE 56 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMread_image" c'H5IMread_image
  :: C'hid_t -> CString -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5IMread_image" p'H5IMread_image
  :: FunPtr (C'hid_t -> CString -> Ptr CUChar -> IO C'herr_t)

{-# LINE 57 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMis_image" c'H5IMis_image
  :: C'hid_t -> CString -> IO C'herr_t
foreign import ccall "&H5IMis_image" p'H5IMis_image
  :: FunPtr (C'hid_t -> CString -> IO C'herr_t)

{-# LINE 58 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMmake_palette" c'H5IMmake_palette
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5IMmake_palette" p'H5IMmake_palette
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr CUChar -> IO C'herr_t)

{-# LINE 59 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMlink_palette" c'H5IMlink_palette
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5IMlink_palette" p'H5IMlink_palette
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 60 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMunlink_palette" c'H5IMunlink_palette
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5IMunlink_palette" p'H5IMunlink_palette
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 61 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMget_npalettes" c'H5IMget_npalettes
  :: C'hid_t -> CString -> Ptr C'hssize_t -> IO C'herr_t
foreign import ccall "&H5IMget_npalettes" p'H5IMget_npalettes
  :: FunPtr (C'hid_t -> CString -> Ptr C'hssize_t -> IO C'herr_t)

{-# LINE 62 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMget_palette_info" c'H5IMget_palette_info
  :: C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5IMget_palette_info" p'H5IMget_palette_info
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 63 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMget_palette" c'H5IMget_palette
  :: C'hid_t -> CString -> CInt -> Ptr CUChar -> IO C'herr_t
foreign import ccall "&H5IMget_palette" p'H5IMget_palette
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr CUChar -> IO C'herr_t)

{-# LINE 64 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5IMis_palette" c'H5IMis_palette
  :: C'hid_t -> CString -> IO C'herr_t
foreign import ccall "&H5IMis_palette" p'H5IMis_palette
  :: FunPtr (C'hid_t -> CString -> IO C'herr_t)

{-# LINE 65 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBmake_table" c'H5TBmake_table
  :: CString -> C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CString -> Ptr CSize -> Ptr C'hid_t -> Ptr C'hsize_t -> Ptr () -> CInt -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBmake_table" p'H5TBmake_table
  :: FunPtr (CString -> C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CString -> Ptr CSize -> Ptr C'hid_t -> Ptr C'hsize_t -> Ptr () -> CInt -> Ptr () -> IO C'herr_t)

{-# LINE 66 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBappend_records" c'H5TBappend_records
  :: C'hid_t -> CString -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBappend_records" p'H5TBappend_records
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 67 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBwrite_records" c'H5TBwrite_records
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBwrite_records" p'H5TBwrite_records
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 68 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBwrite_fields_name" c'H5TBwrite_fields_name
  :: C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBwrite_fields_name" p'H5TBwrite_fields_name
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 69 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBwrite_fields_index" c'H5TBwrite_fields_index
  :: C'hid_t -> CString -> CInt -> Ptr CInt -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBwrite_fields_index" p'H5TBwrite_fields_index
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr CInt -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 70 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBread_table" c'H5TBread_table
  :: C'hid_t -> CString -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBread_table" p'H5TBread_table
  :: FunPtr (C'hid_t -> CString -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 71 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBread_records" c'H5TBread_records
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBread_records" p'H5TBread_records
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 72 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBread_fields_name" c'H5TBread_fields_name
  :: C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBread_fields_name" p'H5TBread_fields_name
  :: FunPtr (C'hid_t -> CString -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 73 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBread_fields_index" c'H5TBread_fields_index
  :: C'hid_t -> CString -> CInt -> Ptr CInt -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBread_fields_index" p'H5TBread_fields_index
  :: FunPtr (C'hid_t -> CString -> CInt -> Ptr CInt -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 74 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBget_table_info" c'H5TBget_table_info
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5TBget_table_info" p'H5TBget_table_info
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 75 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBget_field_info" c'H5TBget_field_info
  :: C'hid_t -> CString -> Ptr CString -> Ptr CSize -> Ptr CSize -> Ptr CSize -> IO C'herr_t
foreign import ccall "&H5TBget_field_info" p'H5TBget_field_info
  :: FunPtr (C'hid_t -> CString -> Ptr CString -> Ptr CSize -> Ptr CSize -> Ptr CSize -> IO C'herr_t)

{-# LINE 76 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBdelete_record" c'H5TBdelete_record
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5TBdelete_record" p'H5TBdelete_record
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 77 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBinsert_record" c'H5TBinsert_record
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBinsert_record" p'H5TBinsert_record
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CSize -> Ptr CSize -> Ptr () -> IO C'herr_t)

{-# LINE 78 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBadd_records_from" c'H5TBadd_records_from
  :: C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5TBadd_records_from" p'H5TBadd_records_from
  :: FunPtr (C'hid_t -> CString -> Ptr C'hsize_t -> Ptr C'hsize_t -> CString -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 79 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBcombine_tables" c'H5TBcombine_tables
  :: C'hid_t -> CString -> C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5TBcombine_tables" p'H5TBcombine_tables
  :: FunPtr (C'hid_t -> CString -> C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 80 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBinsert_field" c'H5TBinsert_field
  :: C'hid_t -> CString -> CString -> C'hid_t -> Ptr C'hsize_t -> Ptr () -> Ptr () -> IO C'herr_t
foreign import ccall "&H5TBinsert_field" p'H5TBinsert_field
  :: FunPtr (C'hid_t -> CString -> CString -> C'hid_t -> Ptr C'hsize_t -> Ptr () -> Ptr () -> IO C'herr_t)

{-# LINE 81 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5TBdelete_field" c'H5TBdelete_field
  :: C'hid_t -> CString -> CString -> IO C'herr_t
foreign import ccall "&H5TBdelete_field" p'H5TBdelete_field
  :: FunPtr (C'hid_t -> CString -> CString -> IO C'herr_t)

{-# LINE 82 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTcreate_fl" c'H5PTcreate_fl
  :: C'hid_t -> CString -> C'hid_t -> Ptr C'hsize_t -> CInt -> IO C'hid_t
foreign import ccall "&H5PTcreate_fl" p'H5PTcreate_fl
  :: FunPtr (C'hid_t -> CString -> C'hid_t -> Ptr C'hsize_t -> CInt -> IO C'hid_t)

{-# LINE 83 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTopen" c'H5PTopen
  :: C'hid_t -> CString -> IO C'hid_t
foreign import ccall "&H5PTopen" p'H5PTopen
  :: FunPtr (C'hid_t -> CString -> IO C'hid_t)

{-# LINE 84 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTclose" c'H5PTclose
  :: C'hid_t -> IO C'herr_t
foreign import ccall "&H5PTclose" p'H5PTclose
  :: FunPtr (C'hid_t -> IO C'herr_t)

{-# LINE 85 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTappend" c'H5PTappend
  :: C'hid_t -> CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5PTappend" p'H5PTappend
  :: FunPtr (C'hid_t -> CSize -> Ptr () -> IO C'herr_t)

{-# LINE 86 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTcreate_index" c'H5PTcreate_index
  :: C'hid_t -> IO C'herr_t
foreign import ccall "&H5PTcreate_index" p'H5PTcreate_index
  :: FunPtr (C'hid_t -> IO C'herr_t)

{-# LINE 87 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTset_index" c'H5PTset_index
  :: C'hid_t -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5PTset_index" p'H5PTset_index
  :: FunPtr (C'hid_t -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 88 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTread_packets" c'H5PTread_packets
  :: C'hid_t -> Ptr C'hsize_t -> CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5PTread_packets" p'H5PTread_packets
  :: FunPtr (C'hid_t -> Ptr C'hsize_t -> CSize -> Ptr () -> IO C'herr_t)

{-# LINE 89 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTget_next" c'H5PTget_next
  :: C'hid_t -> CSize -> Ptr () -> IO C'herr_t
foreign import ccall "&H5PTget_next" p'H5PTget_next
  :: FunPtr (C'hid_t -> CSize -> Ptr () -> IO C'herr_t)

{-# LINE 90 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTget_num_packets" c'H5PTget_num_packets
  :: C'hid_t -> Ptr C'hsize_t -> IO C'herr_t
foreign import ccall "&H5PTget_num_packets" p'H5PTget_num_packets
  :: FunPtr (C'hid_t -> Ptr C'hsize_t -> IO C'herr_t)

{-# LINE 91 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5PTis_valid" c'H5PTis_valid
  :: C'hid_t -> IO C'herr_t
foreign import ccall "&H5PTis_valid" p'H5PTis_valid
  :: FunPtr (C'hid_t -> IO C'herr_t)

{-# LINE 92 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSset_scale" c'H5DSset_scale
  :: C'hid_t -> CString -> IO C'herr_t
foreign import ccall "&H5DSset_scale" p'H5DSset_scale
  :: FunPtr (C'hid_t -> CString -> IO C'herr_t)

{-# LINE 93 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSattach_scale" c'H5DSattach_scale
  :: C'hid_t -> C'hid_t -> CUInt -> IO C'herr_t
foreign import ccall "&H5DSattach_scale" p'H5DSattach_scale
  :: FunPtr (C'hid_t -> C'hid_t -> CUInt -> IO C'herr_t)

{-# LINE 94 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSdetach_scale" c'H5DSdetach_scale
  :: C'hid_t -> C'hid_t -> CUInt -> IO C'herr_t
foreign import ccall "&H5DSdetach_scale" p'H5DSdetach_scale
  :: FunPtr (C'hid_t -> C'hid_t -> CUInt -> IO C'herr_t)

{-# LINE 95 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSis_attached" c'H5DSis_attached
  :: C'hid_t -> C'hid_t -> CUInt -> IO C'htri_t
foreign import ccall "&H5DSis_attached" p'H5DSis_attached
  :: FunPtr (C'hid_t -> C'hid_t -> CUInt -> IO C'htri_t)

{-# LINE 96 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSiterate_scales" c'H5DSiterate_scales
  :: C'hid_t -> CUInt -> Ptr CInt -> C'H5DS_iterate_t -> Ptr () -> IO C'herr_t
foreign import ccall "&H5DSiterate_scales" p'H5DSiterate_scales
  :: FunPtr (C'hid_t -> CUInt -> Ptr CInt -> C'H5DS_iterate_t -> Ptr () -> IO C'herr_t)

{-# LINE 97 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSset_label" c'H5DSset_label
  :: C'hid_t -> CUInt -> CString -> IO C'herr_t
foreign import ccall "&H5DSset_label" p'H5DSset_label
  :: FunPtr (C'hid_t -> CUInt -> CString -> IO C'herr_t)

{-# LINE 98 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSget_label" c'H5DSget_label
  :: C'hid_t -> CUInt -> CString -> CSize -> IO C'ssize_t
foreign import ccall "&H5DSget_label" p'H5DSget_label
  :: FunPtr (C'hid_t -> CUInt -> CString -> CSize -> IO C'ssize_t)

{-# LINE 99 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSget_scale_name" c'H5DSget_scale_name
  :: C'hid_t -> CString -> CSize -> IO C'ssize_t
foreign import ccall "&H5DSget_scale_name" p'H5DSget_scale_name
  :: FunPtr (C'hid_t -> CString -> CSize -> IO C'ssize_t)

{-# LINE 100 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSis_scale" c'H5DSis_scale
  :: C'hid_t -> IO C'htri_t
foreign import ccall "&H5DSis_scale" p'H5DSis_scale
  :: FunPtr (C'hid_t -> IO C'htri_t)

{-# LINE 101 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}
foreign import ccall "H5DSget_num_scales" c'H5DSget_num_scales
  :: C'hid_t -> CUInt -> IO CInt
foreign import ccall "&H5DSget_num_scales" p'H5DSget_num_scales
  :: FunPtr (C'hid_t -> CUInt -> IO CInt)

{-# LINE 102 "src/Bindings/HDF5/HighLevelAPI.hsc" #-}