hdf5-1.8.13: Haskell interface to the HDF5 scientific data storage library.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bindings.HDF5.Raw.H5Z

Synopsis

Documentation

newtype H5Z_filter_t Source #

Filter identifiers. Values 0 through 255 are for filters defined by the HDF5 library. Values 256 through 511 are available for testing new filters. Subsequent values should be obtained from the HDF5 development team at mailto:hdf5dev@ncsa.uiuc.edu. These values will never change because they appear in the HDF5 files.

Constructors

H5Z_filter_t Int32 

h5z_FILTER_NONE :: H5Z_filter_t Source #

reserved indefinitely

h5z_FILTER_DEFLATE :: H5Z_filter_t Source #

deflation like gzip

h5z_FILTER_FLETCHER32 :: H5Z_filter_t Source #

fletcher32 checksum of EDC

h5z_FILTER_SCALEOFFSET :: H5Z_filter_t Source #

scale+offset compression

h5z_FILTER_RESERVED :: H5Z_filter_t Source #

filter ids below this value are reserved for library use

h5z_FILTER_MAX :: H5Z_filter_t Source #

maximum filter id

h5z_FILTER_ALL :: H5Z_filter_t Source #

Symbol to remove all filters in h5p_remove_filter

h5z_MAX_NFILTERS :: Num a => a Source #

Maximum number of filters allowed in a pipeline (should probably be allowed to be an unlimited amount, but currently each filter uses a bit in a 32-bit field, so the format would have to be changed to accomodate that)

Flags for filter definition (stored)

h5z_FLAG_DEFMASK :: Num a => a Source #

definition flag mask

h5z_FLAG_MANDATORY :: Num a => a Source #

filter is mandatory

h5z_FLAG_OPTIONAL :: Num a => a Source #

filter is optional

Additional flags for filter invocation (not stored

h5z_FLAG_INVMASK :: Num a => a Source #

invocation flag mask

h5z_FLAG_REVERSE :: Num a => a Source #

reverse direction; read

h5z_FLAG_SKIP_EDC :: Num a => a Source #

skip EDC filters for read

Special parameters for szip compression

Macros for the shuffle filter

h5z_SHUFFLE_USER_NPARMS :: Num a => a Source #

Number of parameters that users can set

h5z_SHUFFLE_TOTAL_NPARMS :: Num a => a Source #

Total number of parameters for filter

Macros for the szip filter

h5z_SZIP_USER_NPARMS :: Num a => a Source #

Number of parameters that users can set

h5z_SZIP_TOTAL_NPARMS :: Num a => a Source #

Total number of parameters for filter

h5z_SZIP_PARM_MASK :: Num a => a Source #

"User" parameter for option mask

h5z_SZIP_PARM_PPB :: Num a => a Source #

"User" parameter for pixels-per-block

h5z_SZIP_PARM_BPP :: Num a => a Source #

"Local" parameter for bits-per-pixel

h5z_SZIP_PARM_PPS :: Num a => a Source #

"Local" parameter for pixels-per-scanline

Macros for the nbit filter

h5z_NBIT_USER_NPARMS :: Num a => a Source #

Number of parameters that users can set

Macros for the scale offset filter

h5z_SCALEOFFSET_USER_NPARMS :: Num a => a Source #

Number of parameters that users can set

Special parameters for ScaleOffset filter

h5z_CLASS_T_VERS :: Num a => a Source #

Current version of the H5Z_class_t struct

newtype H5Z_EDC_t Source #

Values to decide if EDC is enabled for reading data

Constructors

H5Z_EDC_t Int32 

Instances

Instances details
Storable H5Z_EDC_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5Z

Show H5Z_EDC_t Source # 
Instance details

Defined in Bindings.HDF5.Raw.H5Z

Bit flags for H5Zget_filter_info

h5z_CB_FAIL :: H5Z_cb_return_t Source #

I/O should fail if filter fails.

h5z_CB_CONT :: H5Z_cb_return_t Source #

I/O continues if filter fails.

type H5Z_filter_func_t a b = FunPtr (H5Z_filter_t -> InOutArray a -> CSize -> InOut b -> IO H5Z_cb_return_t) Source #

Filter callback function definition

typedef H5Z_cb_return_t (*H5Z_filter_func_t)(H5Z_filter_t filter, void* buf,
       size_t buf_size, void* op_data);

type H5Z_can_apply_func_t = FunPtr (HId_t -> HId_t -> HId_t -> IO HTri_t) Source #

Before a dataset gets created, the "can_apply" callbacks for any filters used in the dataset creation property list are called with the dataset's dataset creation property list, the dataset's datatype and a dataspace describing a chunk (for chunked dataset storage).

The "can_apply" callback must determine if the combination of the dataset creation property list setting, the datatype and the dataspace represent a valid combination to apply this filter to. For example, some cases of invalid combinations may involve the filter not operating correctly on certain datatypes (or certain datatype sizes), or certain sizes of the chunk dataspace.

The "can_apply" callback can be the NULL pointer, in which case, the library will assume that it can apply to any combination of dataset creation property list values, datatypes and dataspaces.

The "can_apply" callback returns positive a valid combination, zero for an invalid combination and negative for an error.

typedef htri_t (*H5Z_can_apply_func_t)(hid_t dcpl_id, hid_t type_id, hid_t space_id);

mK_H5Z_can_apply_func_t :: H5Z_can_apply_func_t -> HId_t -> HId_t -> HId_t -> IO HTri_t Source #

After the "can_apply" callbacks are checked for new datasets, the "set_local" callbacks for any filters used in the dataset creation property list are called. These callbacks receive the dataset's private copy of the dataset creation property list passed in to H5Dcreate (i.e. not the actual property list passed in to H5Dcreate) and the datatype ID passed in to H5Dcreate (which is not copied and should not be modified) and a dataspace describing the chunk (for chunked dataset storage) (which should also not be modified).

The "set_local" callback must set any parameters that are specific to this dataset, based on the combination of the dataset creation property list values, the datatype and the dataspace. For example, some filters perform different actions based on different datatypes (or datatype sizes) or different number of dimensions or dataspace sizes.

The "set_local" callback can be the NULL pointer, in which case, the library will assume that there are no dataset-specific settings for this filter.

The "set_local" callback must return non-negative on success and negative for an error.

typedef herr_t (*H5Z_set_local_func_t)(hid_t dcpl_id, hid_t type_id, hid_t space_id);

mK_H5Z_set_local_func_t :: H5Z_set_local_func_t -> HId_t -> HId_t -> HId_t -> IO HErr_t Source #

A filter gets definition flags and invocation flags (defined above), the client data array and size defined when the filter was added to the pipeline, the size in bytes of the data on which to operate, and pointers to a buffer and its allocated size.

The filter should store the result in the supplied buffer if possible, otherwise it can allocate a new buffer, freeing the original. The allocated size of the new buffer should be returned through the buf_size pointer and the new buffer through the BUF pointer.

The return value from the filter is the number of bytes in the output buffer. If an error occurs then the function should return zero and leave all pointer arguments unchanged.

typedef size_t (*H5Z_func_t)(unsigned int flags, size_t cd_nelmts,
       const unsigned int cd_values[], size_t nbytes,
       size_t *buf_size, void **buf);

data H5Z_class2_t Source #

The filter table maps filter identification numbers to structs that contain a pointers to the filter function and timing statistics.

Version number of the H5Z_class_t struct

Filter ID number

Does this filter have an encoder?

Does this filter have a decoder?

Comment for debugging

The "can apply" callback for a filter

The "set local" callback for a filter

The actual filter function

h5z_register :: In H5Z_class2_t -> IO HErr_t Source #

This function registers a new filter.

Returns non-negative on success, negative on failure.

herr_t H5Zregister(const void *cls);

p'H5Z_class2_t'version :: Ptr H5Z_class2_t -> Ptr CInt Source #

This function unregisters a filter.

Returns non-negative on success, negative on failure.

herr_t H5Zunregister(H5Z_filter_t id);

p'H5Z_class2_t'decoder_present :: Ptr H5Z_class2_t -> Ptr CUInt Source #

Check if a filter is available

htri_t H5Zfilter_avail(H5Z_filter_t id);

p'H5Z_class2_t'set_local :: Ptr H5Z_class2_t -> Ptr H5Z_set_local_func_t Source #

Gets information about a pipeline data filter and stores it in filter_config_flags.

Returns non-negative on success, negative on failure.

herr_t H5Zget_filter_info(H5Z_filter_t filter, unsigned int *filter_config_flags);