Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- Flags for filter definition (stored)
- Additional flags for filter invocation (not stored
- Special parameters for szip compression
- Macros for the shuffle filter
- Macros for the szip filter
- Macros for the nbit filter
- Macros for the scale offset filter
- Special parameters for ScaleOffset filter
- Bit flags for H5Zget_filter_info
Synopsis
- newtype H5Z_filter_t = H5Z_filter_t Int32
- h5z_FILTER_ERROR :: H5Z_filter_t
- h5z_FILTER_NONE :: H5Z_filter_t
- h5z_FILTER_DEFLATE :: H5Z_filter_t
- h5z_FILTER_SHUFFLE :: H5Z_filter_t
- h5z_FILTER_FLETCHER32 :: H5Z_filter_t
- h5z_FILTER_SZIP :: H5Z_filter_t
- h5z_FILTER_NBIT :: H5Z_filter_t
- h5z_FILTER_SCALEOFFSET :: H5Z_filter_t
- h5z_FILTER_RESERVED :: H5Z_filter_t
- h5z_FILTER_MAX :: H5Z_filter_t
- h5z_FILTER_ALL :: H5Z_filter_t
- h5z_MAX_NFILTERS :: Num a => a
- h5z_FLAG_DEFMASK :: Num a => a
- h5z_FLAG_MANDATORY :: Num a => a
- h5z_FLAG_OPTIONAL :: Num a => a
- h5z_FLAG_INVMASK :: Num a => a
- h5z_FLAG_REVERSE :: Num a => a
- h5z_FLAG_SKIP_EDC :: Num a => a
- h5_SZIP_ALLOW_K13_OPTION_MASK :: Num a => a
- h5_SZIP_CHIP_OPTION_MASK :: Num a => a
- h5_SZIP_EC_OPTION_MASK :: Num a => a
- h5_SZIP_NN_OPTION_MASK :: Num a => a
- h5_SZIP_MAX_PIXELS_PER_BLOCK :: Num a => a
- h5z_SHUFFLE_USER_NPARMS :: Num a => a
- h5z_SHUFFLE_TOTAL_NPARMS :: Num a => a
- h5z_SZIP_USER_NPARMS :: Num a => a
- h5z_SZIP_TOTAL_NPARMS :: Num a => a
- h5z_SZIP_PARM_MASK :: Num a => a
- h5z_SZIP_PARM_PPB :: Num a => a
- h5z_SZIP_PARM_BPP :: Num a => a
- h5z_SZIP_PARM_PPS :: Num a => a
- h5z_NBIT_USER_NPARMS :: Num a => a
- h5z_SCALEOFFSET_USER_NPARMS :: Num a => a
- h5z_SO_INT_MINBITS_DEFAULT :: Num a => a
- newtype H5Z_SO_scale_type_t = H5Z_SO_scale_type_t Word32
- h5z_SO_FLOAT_DSCALE :: H5Z_SO_scale_type_t
- h5z_SO_FLOAT_ESCALE :: H5Z_SO_scale_type_t
- h5z_SO_INT :: H5Z_SO_scale_type_t
- h5z_CLASS_T_VERS :: Num a => a
- newtype H5Z_EDC_t = H5Z_EDC_t Int32
- h5z_ERROR_EDC :: H5Z_EDC_t
- h5z_DISABLE_EDC :: H5Z_EDC_t
- h5z_ENABLE_EDC :: H5Z_EDC_t
- h5z_NO_EDC :: H5Z_EDC_t
- h5z_FILTER_CONFIG_ENCODE_ENABLED :: Num a => a
- h5z_FILTER_CONFIG_DECODE_ENABLED :: Num a => a
- newtype H5Z_cb_return_t = H5Z_cb_return_t Int32
- h5z_CB_ERROR :: H5Z_cb_return_t
- h5z_CB_FAIL :: H5Z_cb_return_t
- h5z_CB_CONT :: H5Z_cb_return_t
- h5z_CB_NO :: H5Z_cb_return_t
- type H5Z_filter_func_t a b = FunPtr (H5Z_filter_t -> InOutArray a -> CSize -> InOut b -> IO H5Z_cb_return_t)
- type H5Z_can_apply_func_t = FunPtr (HId_t -> HId_t -> HId_t -> IO HTri_t)
- mk_H5Z_can_apply_func_t :: (HId_t -> HId_t -> HId_t -> IO HTri_t) -> IO H5Z_can_apply_func_t
- mK_H5Z_can_apply_func_t :: H5Z_can_apply_func_t -> HId_t -> HId_t -> HId_t -> IO HTri_t
- type H5Z_set_local_func_t = FunPtr (HId_t -> HId_t -> HId_t -> IO HErr_t)
- mk_H5Z_set_local_func_t :: (HId_t -> HId_t -> HId_t -> IO HErr_t) -> IO H5Z_set_local_func_t
- mK_H5Z_set_local_func_t :: H5Z_set_local_func_t -> HId_t -> HId_t -> HId_t -> IO HErr_t
- type H5Z_func_t a = FunPtr (CUInt -> CSize -> InArray CUInt -> CSize -> InOut CSize -> InOut (Ptr a) -> IO CSize)
- data H5Z_class2_t = H5Z_class2_t {}
- h5z_register :: In H5Z_class2_t -> IO HErr_t
- p_H5Zregister :: FunPtr (In H5Z_class2_t -> IO HErr_t)
- p'H5Z_class2_t'version :: Ptr H5Z_class2_t -> Ptr CInt
- p'H5Z_class2_t'id :: Ptr H5Z_class2_t -> Ptr H5Z_filter_t
- h5z_unregister :: H5Z_filter_t -> IO HErr_t
- p'H5Z_class2_t'encoder_present :: Ptr H5Z_class2_t -> Ptr CUInt
- p_H5Zunregister :: FunPtr (H5Z_filter_t -> IO HErr_t)
- p'H5Z_class2_t'decoder_present :: Ptr H5Z_class2_t -> Ptr CUInt
- p'H5Z_class2_t'name :: Ptr H5Z_class2_t -> Ptr CString
- h5z_filter_avail :: H5Z_filter_t -> IO HTri_t
- p'H5Z_class2_t'can_apply :: Ptr H5Z_class2_t -> Ptr H5Z_can_apply_func_t
- p_H5Zfilter_avail :: FunPtr (H5Z_filter_t -> IO HTri_t)
- p'H5Z_class2_t'set_local :: Ptr H5Z_class2_t -> Ptr H5Z_set_local_func_t
- p'H5Z_class2_t'filter :: Ptr H5Z_class2_t -> Ptr (H5Z_func_t ())
- h5z_get_filter_info :: H5Z_filter_t -> Out CUInt -> IO HErr_t
- p_H5Zget_filter_info :: FunPtr (H5Z_filter_t -> Out CUInt -> IO HErr_t)
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.
Instances
Storable H5Z_filter_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z sizeOf :: H5Z_filter_t -> Int # alignment :: H5Z_filter_t -> Int # peekElemOff :: Ptr H5Z_filter_t -> Int -> IO H5Z_filter_t # pokeElemOff :: Ptr H5Z_filter_t -> Int -> H5Z_filter_t -> IO () # peekByteOff :: Ptr b -> Int -> IO H5Z_filter_t # pokeByteOff :: Ptr b -> Int -> H5Z_filter_t -> IO () # peek :: Ptr H5Z_filter_t -> IO H5Z_filter_t # poke :: Ptr H5Z_filter_t -> H5Z_filter_t -> IO () # | |
Show H5Z_filter_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z showsPrec :: Int -> H5Z_filter_t -> ShowS # show :: H5Z_filter_t -> String # showList :: [H5Z_filter_t] -> ShowS # | |
Eq H5Z_filter_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z (==) :: H5Z_filter_t -> H5Z_filter_t -> Bool # (/=) :: H5Z_filter_t -> H5Z_filter_t -> Bool # |
h5z_FILTER_ERROR :: H5Z_filter_t Source #
no filter
h5z_FILTER_NONE :: H5Z_filter_t Source #
reserved indefinitely
h5z_FILTER_DEFLATE :: H5Z_filter_t Source #
deflation like gzip
h5z_FILTER_SHUFFLE :: H5Z_filter_t Source #
shuffle the data
h5z_FILTER_FLETCHER32 :: H5Z_filter_t Source #
fletcher32 checksum of EDC
h5z_FILTER_SZIP :: H5Z_filter_t Source #
szip compression
h5z_FILTER_NBIT :: H5Z_filter_t Source #
nbit compression
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
h5_SZIP_ALLOW_K13_OPTION_MASK :: Num a => a Source #
h5_SZIP_CHIP_OPTION_MASK :: Num a => a Source #
h5_SZIP_EC_OPTION_MASK :: Num a => a Source #
h5_SZIP_NN_OPTION_MASK :: Num a => a Source #
h5_SZIP_MAX_PIXELS_PER_BLOCK :: Num a => a Source #
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_SO_INT_MINBITS_DEFAULT :: Num a => a Source #
newtype H5Z_SO_scale_type_t Source #
Instances
Storable H5Z_SO_scale_type_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z sizeOf :: H5Z_SO_scale_type_t -> Int # alignment :: H5Z_SO_scale_type_t -> Int # peekElemOff :: Ptr H5Z_SO_scale_type_t -> Int -> IO H5Z_SO_scale_type_t # pokeElemOff :: Ptr H5Z_SO_scale_type_t -> Int -> H5Z_SO_scale_type_t -> IO () # peekByteOff :: Ptr b -> Int -> IO H5Z_SO_scale_type_t # pokeByteOff :: Ptr b -> Int -> H5Z_SO_scale_type_t -> IO () # peek :: Ptr H5Z_SO_scale_type_t -> IO H5Z_SO_scale_type_t # poke :: Ptr H5Z_SO_scale_type_t -> H5Z_SO_scale_type_t -> IO () # | |
Show H5Z_SO_scale_type_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z showsPrec :: Int -> H5Z_SO_scale_type_t -> ShowS # show :: H5Z_SO_scale_type_t -> String # showList :: [H5Z_SO_scale_type_t] -> ShowS # |
h5z_CLASS_T_VERS :: Num a => a Source #
Current version of the H5Z_class_t struct
Values to decide if EDC is enabled for reading data
Instances
Storable H5Z_EDC_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z | |
Show H5Z_EDC_t Source # | |
Bit flags for H5Zget_filter_info
h5z_FILTER_CONFIG_ENCODE_ENABLED :: Num a => a Source #
h5z_FILTER_CONFIG_DECODE_ENABLED :: Num a => a Source #
newtype H5Z_cb_return_t Source #
Return values for filter callback function
Instances
Storable H5Z_cb_return_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z sizeOf :: H5Z_cb_return_t -> Int # alignment :: H5Z_cb_return_t -> Int # peekElemOff :: Ptr H5Z_cb_return_t -> Int -> IO H5Z_cb_return_t # pokeElemOff :: Ptr H5Z_cb_return_t -> Int -> H5Z_cb_return_t -> IO () # peekByteOff :: Ptr b -> Int -> IO H5Z_cb_return_t # pokeByteOff :: Ptr b -> Int -> H5Z_cb_return_t -> IO () # peek :: Ptr H5Z_cb_return_t -> IO H5Z_cb_return_t # poke :: Ptr H5Z_cb_return_t -> H5Z_cb_return_t -> IO () # | |
Show H5Z_cb_return_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z showsPrec :: Int -> H5Z_cb_return_t -> ShowS # show :: H5Z_cb_return_t -> String # showList :: [H5Z_cb_return_t] -> ShowS # |
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 :: (HId_t -> HId_t -> HId_t -> IO HTri_t) -> IO H5Z_can_apply_func_t Source #
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 :: (HId_t -> HId_t -> HId_t -> IO HErr_t) -> IO H5Z_set_local_func_t Source #
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);
type H5Z_func_t a = FunPtr (CUInt -> CSize -> InArray CUInt -> CSize -> InOut CSize -> InOut (Ptr a) -> IO CSize) Source #
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
Instances
Storable H5Z_class2_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z sizeOf :: H5Z_class2_t -> Int # alignment :: H5Z_class2_t -> Int # peekElemOff :: Ptr H5Z_class2_t -> Int -> IO H5Z_class2_t # pokeElemOff :: Ptr H5Z_class2_t -> Int -> H5Z_class2_t -> IO () # peekByteOff :: Ptr b -> Int -> IO H5Z_class2_t # pokeByteOff :: Ptr b -> Int -> H5Z_class2_t -> IO () # peek :: Ptr H5Z_class2_t -> IO H5Z_class2_t # poke :: Ptr H5Z_class2_t -> H5Z_class2_t -> IO () # | |
Show H5Z_class2_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z showsPrec :: Int -> H5Z_class2_t -> ShowS # show :: H5Z_class2_t -> String # showList :: [H5Z_class2_t] -> ShowS # | |
Eq H5Z_class2_t Source # | |
Defined in Bindings.HDF5.Raw.H5Z (==) :: H5Z_class2_t -> H5Z_class2_t -> Bool # (/=) :: H5Z_class2_t -> H5Z_class2_t -> Bool # |
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_H5Zregister :: FunPtr (In H5Z_class2_t -> IO HErr_t) Source #
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);
h5z_unregister :: H5Z_filter_t -> IO HErr_t Source #
p_H5Zunregister :: FunPtr (H5Z_filter_t -> IO HErr_t) Source #
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);
h5z_filter_avail :: H5Z_filter_t -> IO HTri_t Source #
p_H5Zfilter_avail :: FunPtr (H5Z_filter_t -> IO HTri_t) Source #
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);
p'H5Z_class2_t'filter :: Ptr H5Z_class2_t -> Ptr (H5Z_func_t ()) Source #
h5z_get_filter_info :: H5Z_filter_t -> Out CUInt -> IO HErr_t Source #
p_H5Zget_filter_info :: FunPtr (H5Z_filter_t -> Out CUInt -> IO HErr_t) Source #