H5Z_GET_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.
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:
|Encoding is enabled for this filter |
|Decoding is enabled for this filter |
|(These flags are defined for C in the HDF5 Library source code file |
A bitwise AND of the returned
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
is true, i.e., greater than
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 to H5P_SET_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 H5P_SET_SZIP , that might require a particular filter configuration.