Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5 1.14.5
API Reference
Loading...
Searching...
No Matches
H5Epublic.h File Reference
#include <stdio.h>
#include "H5public.h"
#include "H5Ipublic.h"
#include "H5Epubgen.h"

Data Structures

struct  H5E_error2_t
 
struct  H5E_error1_t
 

Macros

#define H5E_DEFAULT   0 /* (hid_t) */
 
#define H5OPEN   H5open(),
 
#define H5E_ERR_CLS   (H5OPEN H5E_ERR_CLS_g)
 
#define H5E_BEGIN_TRY
 
#define H5E_END_TRY
 
#define H5Epush_sim(func, cls, maj, min, str)    H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str)
 
#define H5Epush_ret(func, cls, maj, min, str, ret)
 
#define H5Epush_goto(func, cls, maj, min, str, label)
 

Typedefs

typedef herr_t(* H5E_walk2_t) (unsigned n, const H5E_error2_t *err_desc, void *client_data)
 Callback function for H5Ewalk2()
 
typedef herr_t(* H5E_auto2_t) (hid_t estack, void *client_data)
 Callback function for H5Eset_auto2()
 
typedef hid_t H5E_major_t
 
typedef hid_t H5E_minor_t
 
typedef herr_t(* H5E_walk1_t) (int n, H5E_error1_t *err_desc, void *client_data)
 Callback function for H5Ewalk1()
 
typedef herr_t(* H5E_auto1_t) (void *client_data)
 Callback function for H5Eset_auto1()
 

Enumerations

enum  H5E_type_t { H5E_MAJOR , H5E_MINOR }
 
enum  H5E_direction_t { H5E_WALK_UPWARD = 0 , H5E_WALK_DOWNWARD = 1 }
 

Functions

hid_t H5Eregister_class (const char *cls_name, const char *lib_name, const char *version)
 Registers a client library or application program to the HDF5 error API.
 
herr_t H5Eunregister_class (hid_t class_id)
 Removes an error class.
 
herr_t H5Eclose_msg (hid_t err_id)
 Closes an error message.
 
hid_t H5Ecreate_msg (hid_t cls, H5E_type_t msg_type, const char *msg)
 Adds a major or minor error message to an error class.
 
hid_t H5Ecreate_stack (void)
 Creates a new, empty error stack.
 
hid_t H5Eget_current_stack (void)
 Returns a copy of the current error stack.
 
herr_t H5Eappend_stack (hid_t dst_stack_id, hid_t src_stack_id, hbool_t close_source_stack)
 Appends one error stack to another, optionally closing the source stack.
 
herr_t H5Eis_paused (hid_t stack_id, hbool_t *is_paused)
 
  • Check if pushing errors on an error stack is paused

 
herr_t H5Epause_stack (hid_t stack_id)
 
  • Pause pushing errors on an error stack

 
herr_t H5Eresume_stack (hid_t stack_id)
 
  • Resume pushing errors on an error stack

 
herr_t H5Eclose_stack (hid_t stack_id)
 Closes an error stack handle.
 
ssize_t H5Eget_class_name (hid_t class_id, char *name, size_t size)
 Retrieves error class name.
 
herr_t H5Eset_current_stack (hid_t err_stack_id)
 Replaces the current error stack.
 
herr_t H5Epush2 (hid_t err_stack, const char *file, const char *func, unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *msg,...)
 Pushes a new error record onto an error stack.
 
herr_t H5Epop (hid_t err_stack, size_t count)
 Deletes specified number of error messages from the error stack.
 
herr_t H5Eprint2 (hid_t err_stack, FILE *stream)
 Prints the specified error stack in a default manner.
 
herr_t H5Ewalk2 (hid_t err_stack, H5E_direction_t direction, H5E_walk2_t func, void *client_data)
 Walks the specified error stack, calling the specified function.
 
herr_t H5Eget_auto2 (hid_t estack_id, H5E_auto2_t *func, void **client_data)
 Returns the settings for the automatic error stack traversal function and its data.
 
herr_t H5Eset_auto2 (hid_t estack_id, H5E_auto2_t func, void *client_data)
 Turns automatic error printing on or off.
 
herr_t H5Eclear2 (hid_t err_stack)
 Clears the specified error stack or the error stack for the current thread.
 
herr_t H5Eauto_is_v2 (hid_t err_stack, unsigned *is_stack)
 Determines the type of error stack.
 
ssize_t H5Eget_msg (hid_t msg_id, H5E_type_t *type, char *msg, size_t size)
 Retrieves an error message.
 
ssize_t H5Eget_num (hid_t error_stack_id)
 Retrieves the number of error messages in an error stack.
 
herr_t H5Eclear1 (void)
 Clears the error stack for the current thread.
 
herr_t H5Eget_auto1 (H5E_auto1_t *func, void **client_data)
 Returns the current settings for the automatic error stack traversal function and its data.
 
herr_t H5Epush1 (const char *file, const char *func, unsigned line, H5E_major_t maj, H5E_minor_t min, const char *str)
 Pushes a new error record onto the error stack.
 
herr_t H5Eprint1 (FILE *stream)
 Prints the current error stack in a default manner.
 
herr_t H5Eset_auto1 (H5E_auto1_t func, void *client_data)
 Turns automatic error printing on or off.
 
herr_t H5Ewalk1 (H5E_direction_t direction, H5E_walk1_t func, void *client_data)
 Walks the current error stack, calling the specified function.
 
char * H5Eget_major (H5E_major_t maj)
 Returns a character string describing an error specified by a major error number.
 
char * H5Eget_minor (H5E_minor_t min)
 Returns a character string describing an error specified by a minor error number.
 

Variables

hid_t H5E_ERR_CLS_g
 

Macro Definition Documentation

◆ H5E_BEGIN_TRY

#define H5E_BEGIN_TRY
Value:
{ \
unsigned H5E_saved_is_v2; \
union { \
H5E_auto1_t efunc1; \
H5E_auto2_t efunc2; \
} H5E_saved; \
void *H5E_saved_edata; \
\
(void)H5Eauto_is_v2(H5E_DEFAULT, &H5E_saved_is_v2); \
if (H5E_saved_is_v2) { \
(void)H5Eget_auto2(H5E_DEFAULT, &H5E_saved.efunc2, &H5E_saved_edata); \
(void)H5Eset_auto2(H5E_DEFAULT, NULL, NULL); \
} \
else { \
(void)H5Eget_auto1(&H5E_saved.efunc1, &H5E_saved_edata); \
(void)H5Eset_auto1(NULL, NULL); \
}
herr_t(* H5E_auto2_t)(hid_t estack, void *client_data)
Callback function for H5Eset_auto2()
Definition H5Epublic.h:199
herr_t(* H5E_auto1_t)(void *client_data)
Callback function for H5Eset_auto1()
Definition H5Epublic.h:793
#define H5E_DEFAULT
Definition H5Epublic.h:25
herr_t H5Eauto_is_v2(hid_t err_stack, unsigned *is_stack)
Determines the type of error stack.
herr_t H5Eget_auto1(H5E_auto1_t *func, void **client_data)
Returns the current settings for the automatic error stack traversal function and its data.
herr_t H5Eget_auto2(hid_t estack_id, H5E_auto2_t *func, void **client_data)
Returns the settings for the automatic error stack traversal function and its data.
herr_t H5Eset_auto1(H5E_auto1_t func, void *client_data)
Turns automatic error printing on or off.
herr_t H5Eset_auto2(hid_t estack_id, H5E_auto2_t func, void *client_data)
Turns automatic error printing on or off.

◆ H5E_DEFAULT

#define H5E_DEFAULT   0 /* (hid_t) */

◆ H5E_END_TRY

#define H5E_END_TRY
Value:
if (H5E_saved_is_v2) \
(void)H5Eset_auto2(H5E_DEFAULT, H5E_saved.efunc2, H5E_saved_edata); \
else \
(void)H5Eset_auto1(H5E_saved.efunc1, H5E_saved_edata); \
}

◆ H5E_ERR_CLS

#define H5E_ERR_CLS   (H5OPEN H5E_ERR_CLS_g)

◆ H5Epush_goto

#define H5Epush_goto (   func,
  cls,
  maj,
  min,
  str,
  label 
)
Value:
do { \
H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \
goto label; \
} while (0)

◆ H5Epush_ret

#define H5Epush_ret (   func,
  cls,
  maj,
  min,
  str,
  ret 
)
Value:
do { \
H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \
return (ret); \
} while (0)

◆ H5Epush_sim

#define H5Epush_sim (   func,
  cls,
  maj,
  min,
  str 
)     H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str)

◆ H5OPEN

#define H5OPEN   H5open(),

Typedef Documentation

◆ H5E_auto1_t

typedef herr_t(* H5E_auto1_t) (void *client_data)

Callback function for H5Eset_auto1()

Parameters
[in]client_dataPointer to client data in the format expected by the user-defined function
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.
Since
1.0.0

◆ H5E_auto2_t

typedef herr_t(* H5E_auto2_t) (hid_t estack, void *client_data)

Callback function for H5Eset_auto2()

Parameters
[in]estackError stack identifier
[in]client_dataPointer to client data in the format expected by the user-defined function
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.
Since
1.8.0

◆ H5E_major_t

typedef hid_t H5E_major_t

◆ H5E_minor_t

typedef hid_t H5E_minor_t

◆ H5E_walk1_t

typedef herr_t(* H5E_walk1_t) (int n, H5E_error1_t *err_desc, void *client_data)

Callback function for H5Ewalk1()

Parameters
[in]nIndexed error position in the stack
[in]err_descPointer to a data structure describing the error
[in]client_dataPointer to client data in the format expected by the user-defined function
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.
Since
1.0.0

◆ H5E_walk2_t

typedef herr_t(* H5E_walk2_t) (unsigned n, const H5E_error2_t *err_desc, void *client_data)

Callback function for H5Ewalk2()

Parameters
[in]nIndexed error position in the stack
[in]err_descPointer to a data structure describing the error
[in]client_dataPointer to client data in the format expected by the user-defined function
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.
Since
1.8.0

Enumeration Type Documentation

◆ H5E_direction_t

Error stack traversal direction

Enumerator
H5E_WALK_UPWARD 

begin w/ most specific error, end at API function

H5E_WALK_DOWNWARD 

begin at API function, end w/ most specific error

◆ H5E_type_t

enum H5E_type_t

Different kinds of error information

Enumerator
H5E_MAJOR 
H5E_MINOR 

Variable Documentation

◆ H5E_ERR_CLS_g

hid_t H5E_ERR_CLS_g
extern