summaryrefslogtreecommitdiffstats
path: root/src/H5Eprivate.h
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2003-07-14 20:08:27 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2003-07-14 20:08:27 (GMT)
commit8a98abf66f4d672e6f0fbfa4719d0100b54ff2e0 (patch)
treef9a8424c7945ce64a3ef88ac17d9855cb89a37f0 /src/H5Eprivate.h
parent49dc44366672eada497939f80b2dd044ce627054 (diff)
downloadhdf5-8a98abf66f4d672e6f0fbfa4719d0100b54ff2e0.zip
hdf5-8a98abf66f4d672e6f0fbfa4719d0100b54ff2e0.tar.gz
hdf5-8a98abf66f4d672e6f0fbfa4719d0100b54ff2e0.tar.bz2
[svn-r7225] Purpose: error API gradual checkin
Platforms tested: RH 8; c and c++
Diffstat (limited to 'src/H5Eprivate.h')
-rw-r--r--src/H5Eprivate.h32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h
index 58a7acf..56ed9d5 100644
--- a/src/H5Eprivate.h
+++ b/src/H5Eprivate.h
@@ -27,7 +27,7 @@
#ifndef NEW_ERR
-#define H5E_ERRCLS_RESERVED_ATOMS 0
+#define H5E_RESERVED_ATOMS 0
typedef struct H5E_cls_t {
char *cls_name;
@@ -35,15 +35,17 @@ typedef struct H5E_cls_t {
char *lib_vers;
} H5E_cls_t;
-typedef struct H5E_maj_t {
- char *mesg;
- H5E_cls_t *cls;
-} H5E_maj_t;
+typedef struct H5E_msg_t {
+ char *msg;
+ H5E_type_t type;
+ H5E_cls_t *cls;
+} H5E_msg_t;
-typedef struct H5E_min_t {
- char *mesg;
- H5E_cls_t *cls;
-} H5E_min_t;
+/* An error stack */
+typedef struct H5E_t_new {
+ int nused; /*num slots currently used in stack */
+ H5E_error_t_new slot[H5E_NSLOTS]; /*array of error records */
+} H5E_t_new;
#ifdef TMP
/* HDF5 error class */
@@ -277,6 +279,18 @@ H5_DLL herr_t H5E_clear (void);
H5_DLL herr_t H5E_walk (H5E_direction_t dir, H5E_walk_t func,
void *client_data);
+#ifndef NEW_ERR
+/* New error API */
+H5_DLL hid_t H5E_register_class(const char *cls_name, const char *lib_name,
+ const char *version);
+H5_DLL herr_t H5E_unregister_class(H5E_cls_t *cls);
+H5_DLL herr_t H5E_close_msg(H5E_msg_t *err);
+H5_DLL hid_t H5E_create_msg(hid_t cls_id, H5E_type_t msg_type, const char *msg);
+H5_DLL hid_t H5E_get_current_stack(void);
+H5_DLL herr_t H5E_close_stack(H5E_t_new *err_stack);
+
+#endif /* NEW_ERR */
+
#ifdef H5_HAVE_PARALLEL
/*
* MPI error handling macros.