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. |