summaryrefslogtreecommitdiffstats
path: root/src/H5Epublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Epublic.h')
-rw-r--r--src/H5Epublic.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/src/H5Epublic.h b/src/H5Epublic.h
new file mode 100644
index 0000000..b1ac9b3
--- /dev/null
+++ b/src/H5Epublic.h
@@ -0,0 +1,126 @@
+/****************************************************************************
+ * NCSA HDF *
+ * Software Development Group *
+ * National Center for Supercomputing Applications *
+ * University of Illinois at Urbana-Champaign *
+ * 605 E. Springfield, Champaign IL 61820 *
+ * *
+ * For conditions of distribution and use, see the accompanying *
+ * hdf/COPYING file. *
+ * *
+ ****************************************************************************/
+
+/* $Id$ */
+
+/*
+ * This file contains public declarations for the H5E module.
+ */
+
+#ifndef _H5Epublic_H
+#define _H5Epublic_H
+
+/* Public headers needed by this file */
+#include <H5public.h>
+
+/* Declare an enumerated type which holds all the valid major HDF error codes */
+typedef enum
+ {
+ H5E_NONE_MAJOR = 0, /* special zero, no error */
+ H5E_ARGS, /* Invalid arguments to routine */
+ H5E_RESOURCE, /* Resource unavailable */
+ H5E_INTERNAL, /* Internal error (too specific to document in detail) */
+ H5E_FILE, /* File Accessability */
+ H5E_IO, /* Low-level I/O */
+ H5E_FUNC, /* Function Entry/Exit */
+ H5E_ATOM, /* Object Atom */
+ H5E_CACHE, /* Object Cache */
+ H5E_BTREE, /* B-Tree Node */
+ H5E_SYM, /* Symbol Table */
+ H5E_HEAP, /* Heap */
+ H5E_OHDR, /* Object Header */
+ H5E_DIRECTORY /* Directory */
+ }
+hdf_maj_err_code_t;
+
+/* Declare an enumerated type which holds all the valid minor HDF error codes */
+typedef enum
+ {
+ H5E_NONE_MINOR = 0, /* special zero, no error */
+
+ /* Argument errors */
+ H5E_UNINITIALIZED, /* Information is unitialized */
+ H5E_UNSUPPORTED, /* Feature is unsupported */
+ H5E_BADTYPE, /* Incorrect type found */
+ H5E_BADRANGE, /* Argument out of range */
+ H5E_BADVALUE, /* Bad value for argument */
+
+ /* Resource errors */
+ H5E_NOSPACE, /* No space available for allocation */
+
+ /* File accessability errors */
+ H5E_FILEEXISTS, /* File already exists */
+ H5E_FILEOPEN, /* File already open */
+ H5E_CANTCREATE, /* Can't create file */
+ H5E_CANTOPEN, /* Can't open file */
+ H5E_NOTHDF5, /* Not an HDF5 format file */
+ H5E_BADFILE, /* Bad file ID accessed */
+
+ /* Generic low-level file I/O errors */
+ H5E_SEEKERROR, /* Seek failed */
+ H5E_READERROR, /* Read failed */
+ H5E_WRITEERROR, /* Write failed */
+
+ /* Function entry/exit interface errors */
+ H5E_CANTINIT, /* Can't initialize interface */
+ H5E_ALREADYINIT, /* Object already initialized */
+
+ /* Object atom related errors */
+ H5E_BADATOM, /* Can't find atom information */
+ H5E_CANTREGISTER, /* Can't register new atom */
+
+ /* Cache related errors */
+ H5E_CANTFLUSH, /* Can't flush object from cache */
+ H5E_CANTLOAD, /* Can't load object into cache */
+
+ /* B-tree related errors */
+ H5E_NOTFOUND, /* Object not found */
+ H5E_EXISTS, /* Object already exists */
+ H5E_CANTENCODE, /* Can't encode value */
+ H5E_CANTDECODE, /* Can't decode value */
+ H5E_CANTSPLIT, /* Can't split node */
+ H5E_CANTINSERT, /* Can't insert object */
+ H5E_CANTLIST, /* Can't list node */
+
+ /* Object header related errors */
+ H5E_LINKCOUNT, /* Bad object header link count */
+ H5E_VERSION, /* Wrong version number */
+ H5E_ALIGNMENT, /* Alignment error */
+ H5E_BADMESG, /* Unrecognized message */
+
+ /* Directory related errors */
+ H5E_COMPLEN, /* Name component is too long */
+ H5E_LINK /* Link count failure */
+ }
+hdf_min_err_code_t;
+
+/* Function pointer to report errors through */
+typedef herr_t (*H5E_push_func_t)(int32 errid, hdf_maj_err_code_t maj, hdf_min_err_code_t min, const char *function_name, const char *file_name, intn line);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Functions in H5E.c */
+int32 H5Enew_err_stack(uintn initial_stack_size);
+intn H5Edelete_err_stack(int32 err_hand);
+#ifdef H5_ERROR_DEBUG
+H5E_push_func_t H5Eset_push(H5E_push_func_t func);
+#endif
+herr_t H5Epush(hdf_maj_err_code_t maj, hdf_min_err_code_t min, const char *function_name, const char *file_name, intn line);
+herr_t H5Eclear(int32 err_hand);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif