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, H5Eget_auto is mapped to the most recent version of the function, currently H5E_GET_AUTO2. If the library and/or application is compiled for Release 1.6 emulation, H5E_GET_AUTO will be mapped to H5E_GET_AUTO1. 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: