hdf5-1.8.10: Haskell interface to the HDF5 scientific data storage library.
Safe HaskellNone
LanguageHaskell2010

Bindings.HDF5.Raw.H5

Synopsis

Version numbers

h5_VERS_MAJOR :: Num a => a Source #

For major interface/format changes

h5_VERS_MINOR :: Num a => a Source #

For minor interface/format changes

h5_VERS_RELEASE :: Num a => a Source #

For tweaks, bug-fixes, or development

h5_VERS_SUBRELEASE :: String Source #

For pre-releases like snap0

vers :: Version Source #

h5_VERS_MAJOR, et al., wrapped up as a Version

h5_VERS_INFO :: String Source #

Full version string

h5_check :: HErr_t Source #

Check that the HDF5 library that is linked with the current executable is the same version that these bindings were compiled against. Returns 0 on success, calls abort() on failure.

Types and constants

newtype HErr_t Source #

Status return values. Failed integer functions in HDF5 result almost always in a negative value (unsigned failing functions sometimes return zero for failure) while successfull return is non-negative (often zero). The negative failure value is most commonly -1, but don't bet on it. The proper way to detect failure is something like:

if((dset = H5Dopen2(file, name)) < 0)
   fprintf(stderr, "unable to open the requested datasetn");

Constructors

HErr_t Int32 

Instances

Instances details
Bits HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Storable HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Bounded HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Enum HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Num HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Integral HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Real HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Ord HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

HDFResultType HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Core.HDFResultType

Methods

isError :: HErr_t -> Bool Source #

NativeType HErr_t Source # 
Instance details

Defined in Bindings.HDF5.Datatype.Internal

newtype HBool_t Source #

Boolean type. Successful return values are zero (false) or positive (true). The typical true value is 1 but don't bet on it. Boolean functions cannot fail. Functions that return htri_t however return zero (false), positive (true), or negative (failure). The proper way to test for truth from a htri_t function is:

 if ((retval = H5Tcommitted(type))>0) {
   printf("data type is committedn");
 } else if (!retval) {
   printf("data type is not committedn");
 } else {
   printf("error determining whether data type is committedn");
 }

Constructors

HBool_t Word8 

newtype HTri_t Source #

Constructors

HTri_t Int32 

Instances

Instances details
Storable HTri_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show HTri_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq HTri_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

HDFResultType HTri_t Source # 
Instance details

Defined in Bindings.HDF5.Core.HDFResultType

Methods

isError :: HTri_t -> Bool Source #

newtype CSSize Source #

C signed size type. This is a semi-standard POSIX type that isn't in the Foreign.C.Types module. It is in System.Posix.Types, but I'm not sure whether that module is available on all platforms.

Constructors

CSSize Int64 

Instances

Instances details
Bits CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Storable CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Bounded CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Enum CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Num CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Integral CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Real CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Ord CSSize Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

newtype HSize_t Source #

Constructors

HSize_t Word64 

Instances

Instances details
Bits HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Storable HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Bounded HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Enum HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Num HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Integral HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Real HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Ord HSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

newtype HSSize_t Source #

Constructors

HSSize_t Int64 

Instances

Instances details
Bits HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Storable HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Bounded HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Enum HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Num HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Integral HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Real HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Ord HSSize_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

newtype HAddr_t Source #

Constructors

HAddr_t Word64 

Instances

Instances details
Bits HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Storable HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Bounded HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Enum HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Num HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Integral HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Real HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Show HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Eq HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

Ord HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5

HDFResultType HAddr_t Source # 
Instance details

Defined in Bindings.HDF5.Core.HDFResultType

Methods

isError :: HAddr_t -> Bool Source #

h5_ITER_INC :: H5_iter_order_t Source #

Increasing order

h5_ITER_DEC :: H5_iter_order_t Source #

Decreasing order

h5_ITER_NATIVE :: H5_iter_order_t Source #

No particular order, whatever is fastest

h5_ITER_N :: Num a => a Source #

Number of iteration orders

h5_ITER_ERROR :: HErr_t Source #

Iteration callback return value indicating that iteration should stop and report an error.

h5_ITER_CONT :: HErr_t Source #

Iteration callback return value indicating that iteration should continue.

h5_ITER_STOP :: HErr_t Source #

Iteration callback return value indicating that iteration should stop without error.

Actually, any postive value will cause the iterator to stop and pass back that positive value to the function that called the iterator

newtype H5_index_t Source #

The types of indices on links in groups/attributes on objects. Primarily used for "<do> <foo> by index" routines and for iterating over links in groups/attributes on objects.

Constructors

H5_index_t Int32 

h5_INDEX_UNKNOWN :: H5_index_t Source #

Unknown index type

h5_INDEX_NAME :: H5_index_t Source #

Index on names

h5_INDEX_CRT_ORDER :: H5_index_t Source #

Index on creation order

h5_INDEX_N :: Num a => a Source #

Number of indices defined

Functions in H5.c

p'H5_ih_info_t'index_size :: Ptr H5_ih_info_t -> Ptr HSize_t Source #

Initialize the library. This is normally called automatically, but if you find that an HDF5 library function is failing inexplicably, then try calling this function first.

Return: Non-negative on success/Negative on failure

herr_t H5open(void);

h5_close :: IO HErr_t Source #

Terminate the library and release all resources.

Return: Non-negative on success/Negative on failure

herr_t H5close(void);

h5_dont_atexit :: IO HErr_t Source #

Indicates that the library is not to clean up after itself when the application exits by calling exit() or returning from main(). This function must be called before any other HDF5 function or constant is used or it will have no effect.

If this function is used then certain memory buffers will not be de-allocated nor will open files be flushed automatically. The application may still call H5close() explicitly to accomplish these things.

Return: non-negative on success, negative if this function is called more than once or if it is called too late.

herr_t H5dont_atexit(void);

h5_garbage_collect :: IO HErr_t Source #

Walks through all the garbage collection routines for the library, which are supposed to free any unused memory they have allocated.

These should probably be registered dynamicly in a linked list of functions to call, but there aren't that many right now, so we hard-wire them...

Return: non-negative on success, negative on failure

herr_t H5garbage_collect(void);

h5_set_free_list_limits :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> IO HErr_t Source #

Sets limits on the different kinds of free lists. Setting a value of -1 for a limit means no limit of that type. These limits are global for the entire library. Each "global" limit only applies to free lists of that type, so if an application sets a limit of 1 MB on each of the global lists, up to 3 MB of total storage might be allocated (1MB on each of regular, array and block type lists).

The settings for block free lists are duplicated to factory free lists. Factory free list limits cannot be set independently currently.

Parameters:

reg_global_lim :: CInt
The limit on all "regular" free list memory used
reg_list_lim :: CInt
The limit on memory used in each "regular" free list
arr_global_lim :: CInt
The limit on all "array" free list memory used
arr_list_lim :: CInt
The limit on memory used in each "array" free list
blk_global_lim :: CInt
The limit on all "block" free list memory used
blk_list_lim :: CInt
The limit on memory used in each "block" free list

Return: non-negative on success, negative on failure

herr_t H5set_free_list_limits (int reg_global_lim, int reg_list_lim,
        int arr_global_lim, int arr_list_lim, int blk_global_lim,
        int blk_list_lim);

h5_get_libversion :: Out CUInt -> Out CUInt -> Out CUInt -> IO HErr_t Source #

Returns the library version numbers through arguments. MAJNUM will be the major revision number of the library, MINNUM the minor revision number, and RELNUM the release revision number.

Note: When printing an HDF5 version number it should be printed as

printf("%u.%u.%u", maj, min, rel)		or
printf("version %u.%u release %u", maj, min, rel)

Return: Non-negative on success/Negative on failure

herr_t H5get_libversion(unsigned *majnum, unsigned *minnum,
        unsigned *relnum);

h5_check_version :: CUInt -> CUInt -> CUInt -> IO HErr_t Source #

Purpose: Verifies that the arguments match the version numbers compiled into the library. This function is intended to be called from user to verify that the versions of header files compiled into the application match the version of the hdf5 library.

Return: Success: 0, Failure: calls abort()

herr_t H5check_version(unsigned majnum, unsigned minnum,
        unsigned relnum);