Name: H5Pget_filter
Signatures:

  H5Z_filter_t `H5Pget_filter`( hid_t `plist`, unsigned int `idx`, unsigned int *`flags`, size_t *`cd_nelmts`, unsigned int *`cd_values`, size_t `namelen`, char `name[]` ) | [1]
  H5Z_filter_t `H5Pget_filter`( hid_t `plist_id`, unsigned `idx`, unsigned int *`flags`, size_t *`cd_nelmts`, unsigned `cd_values[]`, size_t `namelen`, char `name[]`, unsigned *`filter_config` ) | [2]

Purpose:
  Returns information about a filter in a pipeline.

Description:
  `H5Pget_filter` is a macro that is mapped to either `H5Pget_filter1` or `H5Pget_filter2`, depending on the needs of the application.

  Such macros are provided to facilitate application compatibility. For example:

  - The `H5Pget_filter` macro will be mapped to `H5Pget_filter1` and will use the `H5Pget_filter1` syntax (first signature above) if an application is coded for HDF5 Release 1.6.x.
  - The `H5Pget_filter` macro mapped to `H5Pget_filter2` and will use the `H5Pget_filter2` syntax (second signature above) if an application is coded for HDF5 Release 1.8.x.

  For more information on macro use and mappings, see the “API Compatibility Macros in HDF5” document.

  When both the HDF5 Library and the application are built and installed with no specific compatibility flags, `H5Pget_filter` is mapped to the most recent version of the function, currently `H5Pget_filter2`. If the library and/or application is compiled for Release 1.6 emulation, `H5Pget_filter` will be mapped to `H5Pget_filter1`. Function-specific flags are available to override these settings on a function-by-function basis when the application is compiled.

  Specific compile-time compatibility flags and the resulting mappings are as follows:

  Compatibility setting | `H5Pget_filter` mapping
  --- | ---
  Global settings
  No compatibility flag | `H5Pget_filter2`
  Enable deprecated symbols | `H5Pget_filter2`
  Disable deprecated symbols | `H5Pget_filter2`
  Emulate Release 1.6 interface`` | `H5Pget_filter1`
  Function-level macros
  `H5Pget_filter_vers = 2` | `H5Pget_filter2`
  `H5Pget_filter_vers = 1` | `H5Pget_filter1`

  Interface history: Signature [1] above is the original `H5Pget_filter` interface and the only interface available prior to HDF5 Release 1.8.0. This signature and the corresponding function are now deprecated but will remain directly callable as `H5Pget_filter1`.

  Signature [2] above was introduced with HDF5 Release 1.8.0 and is the recommended and default interface. It is directly callable as `H5Pget_filter2`.

  See “API Compatibility Macros in HDF5” for circumstances under which either of these functions might not be available in an installed instance of the HDF5 Library.

Fortran90 Interface: h5pget_filter_f

      SUBROUTINE h5pget_filter_f(prp_id, filter_number, flags, cd_nelmts,
                                 cd_values, namelen, name, filter_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: prp_id    ! Property list identifier
        INTEGER, INTENT(IN) :: filter_number    ! Sequence number within the filter
                                                ! pipeline of the filter for which
                                                ! information is sought
        INTEGER, DIMENSION(*), INTENT(OUT) :: cd_values
                                                ! Auxiliary data for the filter
        INTEGER, INTENT(OUT) :: flags           ! Bit vector specifying certain
                                                ! general properties of the filter
        INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts
                                                ! Number of elements in cd_values
        INTEGER(SIZE_T), INTENT(IN) :: namelen  ! Anticipated number of characters
                                                ! in name
        CHARACTER(LEN=*), INTENT(OUT) :: name   ! Name of the filter
        INTEGER, INTENT(OUT) :: filter_id       ! Filter identification number
        INTEGER, INTENT(OUT) :: hdferr          ! Error code
                                                ! 0 on success and -1 on failure
      END SUBROUTINE h5pget_filter_f

History:

  Release | C
  1.8.0 | The function `H5Pget_filter` renamed to `H5Pget_filter1` and deprecated in this release. The macro `H5Pget_filter` and the function `H5Pget_filter2` introduced in this release.