H5Zget_filter_info(
H5Z_filter_t filter,
unsigned int *filter_config
)
H5Zget_filter_info retrieves information about a filter.
At present, this means that the function retrieves a
filter's configuration flags, indicating whether the filter is
configured to decode data, to encode data, neither, or both.
If filter_config is not set to NULL
prior to the function call, the returned parameter contains a
bit field specifying the available filter configuration.
The configuration flag values can then be determined through
a series of bitwise AND operations, as described below.
Valid filter configuration flags include the following:
|
H5Z_FILTER_CONFIG_ENCODE_ENABLED |
Encoding is enabled for this filter.
In Fortran, H5Z_FILTER_ENCODE_ENABLED_F.
|
H5Z_FILTER_CONFIG_DECODE_ENABLED |
Decoding is enabled for this filter.
In Fortran, H5Z_FILTER_DECODE_ENABLED_F.
| |
(These flags
are defined for C in the HDF5 Library source code file
H5Zpublic.h.)
| ||
filter_config and a valid
filter configuration flag will reveal whether
the related configuration option is available.
For example, if the value of
H5Z_FILTER_CONFIG_ENCODE_ENABLED
&
filter_config
0 (zero),
the queried filter is configured to encode data;
if the value is FALSE,
i.e., equal to 0 (zero),
the filter is not so configured.
If a filter is not encode-enabled, the corresponding
H5Pset_* function will return an error if the
filter is added to a dataset creation property list (which is
required if the filter is to be used to encode that dataset).
For example, if the H5Z_FILTER_CONFIG_ENCODE_ENABLED
flag is not returned for the SZIP filter,
H5Z_FILTER_SZIP, a call to H5Pset_szip
will fail.
If a filter is not decode-enabled, the application will not be able to read an existing file encoded with that filter.
This function should be called, and the returned
filter_config analyzed, before calling
any other function, such as H5Pset_szip,
that might require a particular filter configuration.
filter
filter_config
SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr)
IMPLICIT NONE
INTEGER, INTENT(IN) :: filter ! Filter, may be one of the
! following:
! H5Z_FILTER_DEFLATE_F
! H5Z_FILTER_SHUFFLE_F
! H5Z_FILTER_FLETCHER32_F
! H5Z_FILTER_SZIP_F
INTEGER, INTENT(OUT) :: config_flags ! Bit field indicating whether
! a filter's encoder and/or
! decoder are available
INTEGER, INTENT(OUT) :: hdferr ! Error code
END SUBROUTINE h5zfilter_avail_f
| Release | C |
| 1.6.3 |
Function introduced in this release. Fortran subroutine introduced in this release. |