Name: H5Ewalk
Signature:
  herr_t `H5Ewalk`(H5E_direction_t `direction`, H5E_walk_t `func`, void * `client_data` )
Purpose:
  Walks the error stack for the current thread, calling a specified function.
Description:
  `H5Ewalk` walks the error stack for the current thread and calls the specified function for each error along the way.

  `direction` determines whether the stack is walked from the inside out or the outside in. A value of `H5E_WALK_UPWARD` means begin with the most specific error and end at the API; a value of `H5E_WALK_DOWNWARD` means to start at the API and end at the inner-most function where the error was first detected.

  `func` will be called for each error in the error stack. Its arguments will include an index number (beginning at zero regardless of stack traversal direction), an error stack entry, and the `client_data` pointer passed to `H5E_print`. The `H5E_walk_t` prototype is as follows:

  `typedef` herr_t `(*H5E_walk_t)(`int `n,` H5E_error_t *`err_desc,` void *`client_data)`

  where the parameters have the following meanings:

  int `n`
    Indexed position of the error in the stack.
  H5E_error_t *`err_desc`
    Pointer to a data structure describing the error. (This structure is currently described only in the source code file `hdf5/src/H5Epublic.h`. That file also contains the definitive list of major and minor error codes. That information will eventually be presented as an appendix to this Reference Manual.)
  void *`client_data`
    Pointer to client data in the format expected by the user-defined function.

Parameters:

H5E_direction_t `direction` | IN: Direction in which the error stack is to be walked.
H5E_walk_t `func` | IN: Function to be called for each error encountered.
void * `client_data` | IN: Data to be passed with `func`.

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