00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "hdf5.h"
00019 #include "h5Object.h"
00020
00021
00022 #define H5E_NSLOTS 32
00023
00024
00025 typedef struct H5E_t {
00026 int nused;
00027 H5E_error_t slot[H5E_NSLOTS];
00028 H5E_auto_t auto_func;
00029 void *auto_data;
00030 } H5E_t;
00031
00032 H5E_t H5E_stack_g[1];
00033 #define H5E_get_my_stack() (H5E_stack_g+0)
00034
00035
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039
00040
00041
00042 const char* getMajorError()
00043 {
00044 return H5Eget_major(getMajorErrorNumber());
00045 }
00046
00047
00048 const char* getMinorError()
00049 {
00050 return H5Eget_minor(getMinorErrorNumber());
00051 }
00052
00053 H5E_major_t getMajorErrorNumber()
00054 {
00055 H5E_t *estack = H5E_get_my_stack ();
00056 H5E_error_t *err_desc;
00057 H5E_major_t maj_num = H5E_NONE_MAJOR;
00058 if (estack && estack->nused>0)
00059 {
00060 err_desc = estack->slot+0;
00061 maj_num = err_desc->maj_num;
00062 }
00063 return maj_num;
00064 }
00065
00066 H5E_minor_t getMinorErrorNumber()
00067 {
00068 H5E_t *estack = H5E_get_my_stack ();
00069 H5E_error_t *err_desc;
00070 H5E_minor_t min_num = H5E_NONE_MINOR;
00071 if (estack && estack->nused>0)
00072 {
00073 err_desc = estack->slot+0;
00074 min_num = err_desc->min_num;
00075 }
00076 return min_num;
00077 }
00078
00079
00080 #ifdef __cplusplus
00081 }
00082 #endif
00083