diff options
Diffstat (limited to 'src/H5Epublic.h')
-rw-r--r-- | src/H5Epublic.h | 195 |
1 files changed, 95 insertions, 100 deletions
diff --git a/src/H5Epublic.h b/src/H5Epublic.h index ed14217..8f9b473 100644 --- a/src/H5Epublic.h +++ b/src/H5Epublic.h @@ -17,42 +17,39 @@ #ifndef _H5Epublic_H #define _H5Epublic_H -#include <stdio.h> /*FILE arg of H5Eprint() */ +#include <stdio.h> /*FILE arg of H5Eprint() */ /* Public headers needed by this file */ #include "H5public.h" #include "H5Ipublic.h" /* Value for the default error stack */ -#define H5E_DEFAULT (hid_t)0 +#define H5E_DEFAULT (hid_t)0 /* Different kinds of error information */ -typedef enum H5E_type_t { - H5E_MAJOR, - H5E_MINOR -} H5E_type_t; +typedef enum H5E_type_t { H5E_MAJOR, H5E_MINOR } H5E_type_t; /* Information about an error; element of error stack */ typedef struct H5E_error2_t { - hid_t cls_id; /*class ID */ - hid_t maj_num; /*major error ID */ - hid_t min_num; /*minor error number */ - unsigned line; /*line in file where error occurs */ - const char *func_name; /*function in which error occurred */ - const char *file_name; /*file in which error occurred */ - const char *desc; /*optional supplied description */ + hid_t cls_id; /*class ID */ + hid_t maj_num; /*major error ID */ + hid_t min_num; /*minor error number */ + unsigned line; /*line in file where error occurs */ + const char *func_name; /*function in which error occurred */ + const char *file_name; /*file in which error occurred */ + const char *desc; /*optional supplied description */ } H5E_error2_t; /* When this header is included from a private header, don't make calls to H5open() */ #undef H5OPEN #ifndef _H5private_H -#define H5OPEN H5open(), -#else /* _H5private_H */ +#define H5OPEN H5open(), +#else /* _H5private_H */ #define H5OPEN -#endif /* _H5private_H */ +#endif /* _H5private_H */ /* HDF5 error class */ -#define H5E_ERR_CLS (H5OPEN H5E_ERR_CLS_g) +#define H5E_ERR_CLS (H5OPEN H5E_ERR_CLS_g) H5_DLLVAR hid_t H5E_ERR_CLS_g; /* Include the automatically generated public header information */ @@ -75,108 +72,108 @@ H5_DLLVAR hid_t H5E_ERR_CLS_g; * purpose. */ #ifndef H5_NO_DEPRECATED_SYMBOLS -#define H5E_BEGIN_TRY { \ - 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); \ +#define H5E_BEGIN_TRY \ + { \ + 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); \ + } + +#define H5E_END_TRY \ + 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); \ } - -#define H5E_END_TRY \ - 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); \ -} #else /* H5_NO_DEPRECATED_SYMBOLS */ -#define H5E_BEGIN_TRY { \ - H5E_auto2_t saved_efunc; \ - void *H5E_saved_edata; \ - \ - (void)H5Eget_auto2(H5E_DEFAULT, &saved_efunc, &H5E_saved_edata); \ - (void)H5Eset_auto2(H5E_DEFAULT, NULL, NULL); - -#define H5E_END_TRY \ - (void)H5Eset_auto2(H5E_DEFAULT, saved_efunc, H5E_saved_edata); \ -} +#define H5E_BEGIN_TRY \ + { \ + H5E_auto2_t saved_efunc; \ + void * H5E_saved_edata; \ + \ + (void)H5Eget_auto2(H5E_DEFAULT, &saved_efunc, &H5E_saved_edata); \ + (void)H5Eset_auto2(H5E_DEFAULT, NULL, NULL); + +#define H5E_END_TRY \ + (void)H5Eset_auto2(H5E_DEFAULT, saved_efunc, H5E_saved_edata); \ + } #endif /* H5_NO_DEPRECATED_SYMBOLS */ /* * Public API Convenience Macros for Error reporting - Documented */ /* Use the Standard C __FILE__ & __LINE__ macros instead of typing them in */ -#define H5Epush_sim(func, cls, maj, min, str) H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str) +#define H5Epush_sim(func, cls, maj, min, str) \ + H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str) /* * Public API Convenience Macros for Error reporting - Undocumented */ /* Use the Standard C __FILE__ & __LINE__ macros instead of typing them in */ /* And return after pushing error onto stack */ -#define H5Epush_ret(func, cls, maj, min, str, ret) { \ - H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \ - return(ret); \ -} +#define H5Epush_ret(func, cls, maj, min, str, ret) \ + { \ + H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \ + return (ret); \ + } /* Use the Standard C __FILE__ & __LINE__ macros instead of typing them in * And goto a label after pushing error onto stack. */ -#define H5Epush_goto(func, cls, maj, min, str, label) { \ - H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \ - goto label; \ -} +#define H5Epush_goto(func, cls, maj, min, str, label) \ + { \ + H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str); \ + goto label; \ + } /* Error stack traversal direction */ typedef enum H5E_direction_t { - H5E_WALK_UPWARD = 0, /*begin deep, end at API function */ - H5E_WALK_DOWNWARD = 1 /*begin at API function, end deep */ + H5E_WALK_UPWARD = 0, /*begin deep, end at API function */ + H5E_WALK_DOWNWARD = 1 /*begin at API function, end deep */ } H5E_direction_t; - #ifdef __cplusplus extern "C" { #endif /* Error stack traversal callback function pointers */ -typedef herr_t (*H5E_walk2_t)(unsigned n, const H5E_error2_t *err_desc, - void *client_data); +typedef herr_t (*H5E_walk2_t)(unsigned n, const H5E_error2_t *err_desc, void *client_data); typedef herr_t (*H5E_auto2_t)(hid_t estack, void *client_data); /* Public API functions */ -H5_DLL hid_t H5Eregister_class(const char *cls_name, const char *lib_name, - const char *version); -H5_DLL herr_t H5Eunregister_class(hid_t class_id); -H5_DLL herr_t H5Eclose_msg(hid_t err_id); -H5_DLL hid_t H5Ecreate_msg(hid_t cls, H5E_type_t msg_type, const char *msg); -H5_DLL hid_t H5Ecreate_stack(void); -H5_DLL hid_t H5Eget_current_stack(void); -H5_DLL herr_t H5Eclose_stack(hid_t stack_id); +H5_DLL hid_t H5Eregister_class(const char *cls_name, const char *lib_name, const char *version); +H5_DLL herr_t H5Eunregister_class(hid_t class_id); +H5_DLL herr_t H5Eclose_msg(hid_t err_id); +H5_DLL hid_t H5Ecreate_msg(hid_t cls, H5E_type_t msg_type, const char *msg); +H5_DLL hid_t H5Ecreate_stack(void); +H5_DLL hid_t H5Eget_current_stack(void); +H5_DLL herr_t H5Eclose_stack(hid_t stack_id); H5_DLL ssize_t H5Eget_class_name(hid_t class_id, char *name, size_t size); -H5_DLL herr_t H5Eset_current_stack(hid_t err_stack_id); -H5_DLL 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, ...); -H5_DLL herr_t H5Epop(hid_t err_stack, size_t count); -H5_DLL herr_t H5Eprint2(hid_t err_stack, FILE *stream); -H5_DLL herr_t H5Ewalk2(hid_t err_stack, H5E_direction_t direction, H5E_walk2_t func, - void *client_data); -H5_DLL herr_t H5Eget_auto2(hid_t estack_id, H5E_auto2_t *func, void **client_data); -H5_DLL herr_t H5Eset_auto2(hid_t estack_id, H5E_auto2_t func, void *client_data); -H5_DLL herr_t H5Eclear2(hid_t err_stack); -H5_DLL herr_t H5Eauto_is_v2(hid_t err_stack, unsigned *is_stack); -H5_DLL ssize_t H5Eget_msg(hid_t msg_id, H5E_type_t *type, char *msg, - size_t size); +H5_DLL herr_t H5Eset_current_stack(hid_t err_stack_id); +H5_DLL 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, ...); +H5_DLL herr_t H5Epop(hid_t err_stack, size_t count); +H5_DLL herr_t H5Eprint2(hid_t err_stack, FILE *stream); +H5_DLL herr_t H5Ewalk2(hid_t err_stack, H5E_direction_t direction, H5E_walk2_t func, void *client_data); +H5_DLL herr_t H5Eget_auto2(hid_t estack_id, H5E_auto2_t *func, void **client_data); +H5_DLL herr_t H5Eset_auto2(hid_t estack_id, H5E_auto2_t func, void *client_data); +H5_DLL herr_t H5Eclear2(hid_t err_stack); +H5_DLL herr_t H5Eauto_is_v2(hid_t err_stack, unsigned *is_stack); +H5_DLL ssize_t H5Eget_msg(hid_t msg_id, H5E_type_t *type, char *msg, size_t size); H5_DLL ssize_t H5Eget_num(hid_t error_stack_id); - /* Symbols defined for compatibility with previous versions of the HDF5 API. * * Use of these symbols is deprecated. @@ -188,17 +185,17 @@ H5_DLL ssize_t H5Eget_num(hid_t error_stack_id); /* Alias major & minor error types to hid_t's, for compatibility with new * error API in v1.8 */ -typedef hid_t H5E_major_t; -typedef hid_t H5E_minor_t; +typedef hid_t H5E_major_t; +typedef hid_t H5E_minor_t; /* Information about an error element of error stack. */ typedef struct H5E_error1_t { - H5E_major_t maj_num; /*major error number */ - H5E_minor_t min_num; /*minor error number */ - const char *func_name; /*function in which error occurred */ - const char *file_name; /*file in which error occurred */ - unsigned line; /*line in file where error occurs */ - const char *desc; /*optional supplied description */ + H5E_major_t maj_num; /*major error number */ + H5E_minor_t min_num; /*minor error number */ + const char *func_name; /*function in which error occurred */ + const char *file_name; /*file in which error occurred */ + unsigned line; /*line in file where error occurs */ + const char *desc; /*optional supplied description */ } H5E_error1_t; /* Error stack traversal callback function pointers */ @@ -208,14 +205,13 @@ typedef herr_t (*H5E_auto1_t)(void *client_data); /* Function prototypes */ H5_DLL herr_t H5Eclear1(void); H5_DLL herr_t H5Eget_auto1(H5E_auto1_t *func, void **client_data); -H5_DLL herr_t H5Epush1(const char *file, const char *func, unsigned line, - H5E_major_t maj, H5E_minor_t min, const char *str); +H5_DLL herr_t H5Epush1(const char *file, const char *func, unsigned line, H5E_major_t maj, H5E_minor_t min, + const char *str); H5_DLL herr_t H5Eprint1(FILE *stream); H5_DLL herr_t H5Eset_auto1(H5E_auto1_t func, void *client_data); -H5_DLL herr_t H5Ewalk1(H5E_direction_t direction, H5E_walk1_t func, - void *client_data); -H5_DLL char *H5Eget_major(H5E_major_t maj); -H5_DLL char *H5Eget_minor(H5E_minor_t min); +H5_DLL herr_t H5Ewalk1(H5E_direction_t direction, H5E_walk1_t func, void *client_data); +H5_DLL char * H5Eget_major(H5E_major_t maj); +H5_DLL char * H5Eget_minor(H5E_minor_t min); #endif /* H5_NO_DEPRECATED_SYMBOLS */ #ifdef __cplusplus @@ -223,4 +219,3 @@ H5_DLL char *H5Eget_minor(H5E_minor_t min); #endif #endif /* end _H5Epublic_H */ - |