Name: H5Epush2
Signature:
  herr_t `H5Epush2`( 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`, ...)
Purpose:
  Pushes new error record onto error stack.
Description:
  `H5Epush2` pushes a new error record onto the error stack specified by `estack_id`.

  The error record contains the error class identifier `class_id`, the major and minor message identifiers `major_id` and `minor_id`, the function name `func` where the error was detected, the filename `file` and line number `line` within that file where the error was detected, and an error description `msg`.

  The major and minor errors must be in the same error class.

  The function name, filename, and error description strings must be statically allocated.

  `msg` can be a format control string with additional arguments. This design of appending additional arguments is similar to the system and C functions `printf` and `fprintf`.

Parameters:

hid_t `estack_id` | IN: Identifier of the error stack to which the error record is to be pushed. If the identifier is `H5E_DEFAULT`, the error record will be pushed to the current stack.
const char *`file` | IN: Name of the file in which the error was detected.
const char *`func` | IN: Name of the function in which the error was detected.
unsigned `line` | IN: Line number within the file at which the error was detected.
hid_t `class_id` | IN: Error class identifier.
hid_t `major_id` | IN: Major error identifier.
hid_t `minor_id` | IN: Minor error identifier.
const char *`msg` | IN: Error description string.

Returns:
  Returns a non-negative value if successful; otherwise returns a negative value.
Fortran90 Interface:
  None.
History:

  Release | C
  1.8.0 | Function introduced in this release.