Pushes a new error message onto an error stack

Signature:

<pre><code class="language-c">herr_t H5Epush( const char *file, const char *func, unsigned line, H5E_major_t maj_num, H5E_minor_t min_num, const char *str )</code></pre>

<pre><code class="language-c">herr_t H5Epush( hid_t estack_id, const char *file, const char *func, unsigned line, hid_t class_id, hid_t major_id, hid_t minor_id, const char *msg, ...)</code></pre>

Description:

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_PUSH is 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_PUSH  will 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:

Compatibility settingH5Epush mapping

Global settings
No compatibility flagH5Epush2 
Enable deprecated symbolsH5Epush2 
Disable deprecated symbolsH5Epush2 
Emulate Release 1.6 interface    H5Epush1 

Function-level macros
H5Epush_vers = 2H5Epush2
H5Epush_vers = 1H5Epush1

History:
Release    C
1.8.0The function H5Epush renamed to H5Epush1 and deprecated in this release. 
The macro H5Epush and the function H5Epush2 introduced in this release.