H5E_PUSH is a macro that is mapped to either H5E_PUSH1 or H5E_PUSH2, depending on the needs of the application.
Such macros are provided to facilitate application compatibility. Their use and mappings are fully described in API Compatibility Macros in HDF5; we urge you to read that document closely.
When both the HDF5 library and the application are built and installed with no specific compatibility flags,H5E_PUSHis mapped to the most recent version of the function, currently H5E_PUSH2. If the library and/or application is compiled for Release 1.6 emulation, H5E_PUSHwill be mapped to H5E_PUSH1. 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: