module Bindings.HDF5.Types 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
type C'ssize_t = CInt
type C'hsize_t = Word64
type C'hssize_t = Int64
type C'herr_t = CInt
type C'hbool_t = CUInt
type C'htri_t = CInt
type C'hid_t = CInt
type C'H5LT_lang_t = CInt
c'H5LT_LANG_ERR = 1
c'H5LT_LANG_ERR :: (Num a) => a
c'H5LT_DDL = 0
c'H5LT_DDL :: (Num a) => a
c'H5LT_C = 1
c'H5LT_C :: (Num a) => a
c'H5LT_FORTRAN = 2
c'H5LT_FORTRAN :: (Num a) => a
c'H5LT_NO_LANG = 3
c'H5LT_NO_LANG :: (Num a) => a
type C'H5T_class_t = CInt
c'H5T_NO_CLASS = 1
c'H5T_NO_CLASS :: (Num a) => a
c'H5T_INTEGER = 0
c'H5T_INTEGER :: (Num a) => a
c'H5T_FLOAT = 1
c'H5T_FLOAT :: (Num a) => a
c'H5T_TIME = 2
c'H5T_TIME :: (Num a) => a
c'H5T_STRING = 3
c'H5T_STRING :: (Num a) => a
c'H5T_BITFIELD = 4
c'H5T_BITFIELD :: (Num a) => a
c'H5T_OPAQUE = 5
c'H5T_OPAQUE :: (Num a) => a
c'H5T_COMPOUND = 6
c'H5T_COMPOUND :: (Num a) => a
c'H5T_REFERENCE = 7
c'H5T_REFERENCE :: (Num a) => a
c'H5T_ENUM = 8
c'H5T_ENUM :: (Num a) => a
c'H5T_VLEN = 9
c'H5T_VLEN :: (Num a) => a
c'H5T_ARRAY = 10
c'H5T_ARRAY :: (Num a) => a
c'H5T_NCLASSES = 11
c'H5T_NCLASSES :: (Num a) => a
type C'H5DS_iterate_t = FunPtr (C'hid_t -> CUInt -> C'hid_t -> Ptr () -> IO C'herr_t)
foreign import ccall "wrapper" mk'H5DS_iterate_t
:: (C'hid_t -> CUInt -> C'hid_t -> Ptr () -> IO C'herr_t) -> IO C'H5DS_iterate_t
foreign import ccall "dynamic" mK'H5DS_iterate_t
:: C'H5DS_iterate_t -> (C'hid_t -> CUInt -> C'hid_t -> Ptr () -> IO C'herr_t)