summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-09-11 17:25:26 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-09-11 17:25:26 (GMT)
commite5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe (patch)
tree0a33a38538477c1705f93a0b92a2ba84828ff6f4
parent9e158b781668387bf82fbab9d60ece304f0e9729 (diff)
downloadhdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.zip
hdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.tar.gz
hdf5-e5cad0ef24543e55d164a26dd42a0cc1ba5c2cbe.tar.bz2
[svn-r12655] Description:
Add "op" routine to perform operation on heap object "in situ", to allow for faster operations on dense links during B-tree traversal & lookup. Refactor the "read" routine to use the internal version of the "op" routine, to keep the code duplication as low as possible. Tested on: Mac OS X.4/PPC (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
-rw-r--r--src/H5Edefin.h245
-rw-r--r--src/H5Einit.h825
-rw-r--r--src/H5Epubgen.h444
-rw-r--r--src/H5Eterm.h247
-rw-r--r--src/H5HF.c88
-rw-r--r--src/H5HFhuge.c118
-rw-r--r--src/H5HFman.c100
-rw-r--r--src/H5HFpkg.h9
-rw-r--r--src/H5HFprivate.h6
-rw-r--r--src/H5HFtiny.c99
-rw-r--r--src/H5err.txt1
-rw-r--r--test/fheap.c73
12 files changed, 1348 insertions, 907 deletions
diff --git a/src/H5Edefin.h b/src/H5Edefin.h
index 09f4c96..25e10c7 100644
--- a/src/H5Edefin.h
+++ b/src/H5Edefin.h
@@ -20,38 +20,81 @@
#define _H5Edefin_H
/* Major error IDs */
-hid_t H5E_DATATYPE_g = FAIL; /* Datatype */
-hid_t H5E_PLINE_g = FAIL; /* Data filters */
-hid_t H5E_OHDR_g = FAIL; /* Object header */
+hid_t H5E_DATASET_g = FAIL; /* Dataset */
+hid_t H5E_FUNC_g = FAIL; /* Function entry/exit */
+hid_t H5E_STORAGE_g = FAIL; /* Data storage */
+hid_t H5E_FILE_g = FAIL; /* File accessability */
hid_t H5E_SYM_g = FAIL; /* Symbol table */
-hid_t H5E_RESOURCE_g = FAIL; /* Resource unavailable */
-hid_t H5E_FSPACE_g = FAIL; /* Free Space Manager */
-hid_t H5E_INTERNAL_g = FAIL; /* Internal error (too specific to document in detail) */
-hid_t H5E_DATASPACE_g = FAIL; /* Dataspace */
hid_t H5E_VFL_g = FAIL; /* Virtual File Layer */
+hid_t H5E_INTERNAL_g = FAIL; /* Internal error (too specific to document in detail) */
hid_t H5E_BTREE_g = FAIL; /* B-Tree node */
-hid_t H5E_IO_g = FAIL; /* Low-level I/O */
-hid_t H5E_CACHE_g = FAIL; /* Object cache */
+hid_t H5E_REFERENCE_g = FAIL; /* References */
+hid_t H5E_DATASPACE_g = FAIL; /* Dataspace */
+hid_t H5E_RESOURCE_g = FAIL; /* Resource unavailable */
+hid_t H5E_PLIST_g = FAIL; /* Property lists */
hid_t H5E_LINK_g = FAIL; /* Links */
-hid_t H5E_ERROR_g = FAIL; /* Error API */
-hid_t H5E_FILE_g = FAIL; /* File accessability */
-hid_t H5E_NONE_MAJOR_g = FAIL; /* No error */
-hid_t H5E_FUNC_g = FAIL; /* Function entry/exit */
+hid_t H5E_DATATYPE_g = FAIL; /* Datatype */
+hid_t H5E_RS_g = FAIL; /* Reference Counted Strings */
hid_t H5E_HEAP_g = FAIL; /* Heap */
+hid_t H5E_OHDR_g = FAIL; /* Object header */
+hid_t H5E_ATOM_g = FAIL; /* Object atom */
+hid_t H5E_ATTR_g = FAIL; /* Attribute */
+hid_t H5E_NONE_MAJOR_g = FAIL; /* No error */
+hid_t H5E_IO_g = FAIL; /* Low-level I/O */
hid_t H5E_SLIST_g = FAIL; /* Skip Lists */
-hid_t H5E_RS_g = FAIL; /* Reference Counted Strings */
-hid_t H5E_DATASET_g = FAIL; /* Dataset */
+hid_t H5E_EFL_g = FAIL; /* External file list */
hid_t H5E_TST_g = FAIL; /* Ternary Search Trees */
-hid_t H5E_ATTR_g = FAIL; /* Attribute */
-hid_t H5E_STORAGE_g = FAIL; /* Data storage */
-hid_t H5E_ATOM_g = FAIL; /* Object atom */
-hid_t H5E_PLIST_g = FAIL; /* Property lists */
hid_t H5E_ARGS_g = FAIL; /* Invalid arguments to routine */
-hid_t H5E_REFERENCE_g = FAIL; /* References */
-hid_t H5E_EFL_g = FAIL; /* External file list */
+hid_t H5E_ERROR_g = FAIL; /* Error API */
+hid_t H5E_PLINE_g = FAIL; /* Data filters */
+hid_t H5E_FSPACE_g = FAIL; /* Free Space Manager */
+hid_t H5E_CACHE_g = FAIL; /* Object cache */
/* Minor error IDs */
+/* Generic low-level file I/O errors */
+hid_t H5E_SEEKERROR_g = FAIL; /* Seek failed */
+hid_t H5E_READERROR_g = FAIL; /* Read failed */
+hid_t H5E_WRITEERROR_g = FAIL; /* Write failed */
+hid_t H5E_CLOSEERROR_g = FAIL; /* Close failed */
+hid_t H5E_OVERFLOW_g = FAIL; /* Address overflowed */
+hid_t H5E_FCNTL_g = FAIL; /* File control (fcntl) failed */
+
+/* Resource errors */
+hid_t H5E_NOSPACE_g = FAIL; /* No space available for allocation */
+hid_t H5E_CANTALLOC_g = FAIL; /* Can't allocate space */
+hid_t H5E_CANTCOPY_g = FAIL; /* Unable to copy object */
+hid_t H5E_CANTFREE_g = FAIL; /* Unable to free object */
+hid_t H5E_ALREADYEXISTS_g = FAIL; /* Object already exists */
+hid_t H5E_CANTLOCK_g = FAIL; /* Unable to lock object */
+hid_t H5E_CANTUNLOCK_g = FAIL; /* Unable to unlock object */
+hid_t H5E_CANTGC_g = FAIL; /* Unable to garbage collect */
+hid_t H5E_CANTGETSIZE_g = FAIL; /* Unable to compute size */
+hid_t H5E_OBJOPEN_g = FAIL; /* Object is already open */
+
+/* Heap errors */
+hid_t H5E_CANTRESTORE_g = FAIL; /* Can't restore condition */
+hid_t H5E_CANTCOMPUTE_g = FAIL; /* Can't compute value */
+hid_t H5E_CANTEXTEND_g = FAIL; /* Can't extend heap's space */
+hid_t H5E_CANTATTACH_g = FAIL; /* Can't attach object */
+hid_t H5E_CANTUPDATE_g = FAIL; /* Can't update object */
+hid_t H5E_CANTOPERATE_g = FAIL; /* Can't operate on object */
+
+/* Function entry/exit interface errors */
+hid_t H5E_CANTINIT_g = FAIL; /* Unable to initialize object */
+hid_t H5E_ALREADYINIT_g = FAIL; /* Object already initialized */
+hid_t H5E_CANTRELEASE_g = FAIL; /* Unable to release object */
+
+/* Property list errors */
+hid_t H5E_CANTGET_g = FAIL; /* Can't get value */
+hid_t H5E_CANTSET_g = FAIL; /* Can't set value */
+hid_t H5E_DUPCLASS_g = FAIL; /* Duplicate class name in parent class */
+
+/* Free space errors */
+hid_t H5E_CANTMERGE_g = FAIL; /* Can't merge objects */
+hid_t H5E_CANTREVIVE_g = FAIL; /* Can't revive object */
+hid_t H5E_CANTSHRINK_g = FAIL; /* Can't shrink container */
+
/* Object header related errors */
hid_t H5E_LINKCOUNT_g = FAIL; /* Bad object header link count */
hid_t H5E_VERSION_g = FAIL; /* Wrong version number */
@@ -61,23 +104,16 @@ hid_t H5E_CANTDELETE_g = FAIL; /* Can't delete message */
hid_t H5E_BADITER_g = FAIL; /* Iteration failed */
hid_t H5E_CANTPACK_g = FAIL; /* Can't pack messages */
-/* Argument errors */
-hid_t H5E_UNINITIALIZED_g = FAIL; /* Information is uinitialized */
-hid_t H5E_UNSUPPORTED_g = FAIL; /* Feature is unsupported */
-hid_t H5E_BADTYPE_g = FAIL; /* Inappropriate type */
-hid_t H5E_BADRANGE_g = FAIL; /* Out of range */
-hid_t H5E_BADVALUE_g = FAIL; /* Bad value */
-
/* System level errors */
hid_t H5E_SYSERRSTR_g = FAIL; /* System error message */
-/* Dataspace errors */
-hid_t H5E_CANTCLIP_g = FAIL; /* Can't clip hyperslab region */
-hid_t H5E_CANTCOUNT_g = FAIL; /* Can't count elements */
-hid_t H5E_CANTSELECT_g = FAIL; /* Can't select hyperslab */
-hid_t H5E_CANTNEXT_g = FAIL; /* Can't move to next iterator location */
-hid_t H5E_BADSELECT_g = FAIL; /* Invalid selection */
-hid_t H5E_CANTCOMPARE_g = FAIL; /* Can't compare objects */
+/* I/O pipeline errors */
+hid_t H5E_NOFILTER_g = FAIL; /* Requested filter is not available */
+hid_t H5E_CALLBACK_g = FAIL; /* Callback failed */
+hid_t H5E_CANAPPLY_g = FAIL; /* Error from filter 'can apply' callback */
+hid_t H5E_SETLOCAL_g = FAIL; /* Error from filter 'set local' callback */
+hid_t H5E_NOENCODER_g = FAIL; /* Filter present but encoding disabled */
+hid_t H5E_CANTFILTER_g = FAIL; /* Filter operation failed */
/* Group related errors */
hid_t H5E_CANTOPENOBJ_g = FAIL; /* Can't open object */
@@ -85,18 +121,27 @@ hid_t H5E_CANTCLOSEOBJ_g = FAIL; /* Can't close object */
hid_t H5E_COMPLEN_g = FAIL; /* Name component is too long */
hid_t H5E_PATH_g = FAIL; /* Problem with path to object */
-/* B-tree related errors */
-hid_t H5E_NOTFOUND_g = FAIL; /* Object not found */
-hid_t H5E_EXISTS_g = FAIL; /* Object already exists */
-hid_t H5E_CANTENCODE_g = FAIL; /* Unable to encode value */
-hid_t H5E_CANTDECODE_g = FAIL; /* Unable to decode value */
-hid_t H5E_CANTSPLIT_g = FAIL; /* Unable to split node */
-hid_t H5E_CANTREDISTRIBUTE_g = FAIL; /* Unable to redistribute records */
-hid_t H5E_CANTSWAP_g = FAIL; /* Unable to swap records */
-hid_t H5E_CANTINSERT_g = FAIL; /* Unable to insert object */
-hid_t H5E_CANTLIST_g = FAIL; /* Unable to list node */
-hid_t H5E_CANTMODIFY_g = FAIL; /* Unable to modify record */
-hid_t H5E_CANTREMOVE_g = FAIL; /* Unable to remove object */
+/* No error */
+hid_t H5E_NONE_MINOR_g = FAIL; /* No error */
+
+/* File accessability errors */
+hid_t H5E_FILEEXISTS_g = FAIL; /* File already exists */
+hid_t H5E_FILEOPEN_g = FAIL; /* File already open */
+hid_t H5E_CANTCREATE_g = FAIL; /* Unable to create file */
+hid_t H5E_CANTOPENFILE_g = FAIL; /* Unable to open file */
+hid_t H5E_CANTCLOSEFILE_g = FAIL; /* Unable to close file */
+hid_t H5E_NOTHDF5_g = FAIL; /* Not an HDF5 file */
+hid_t H5E_BADFILE_g = FAIL; /* Bad file ID accessed */
+hid_t H5E_TRUNCATED_g = FAIL; /* File has been truncated */
+hid_t H5E_MOUNT_g = FAIL; /* File mount error */
+
+/* Object atom related errors */
+hid_t H5E_BADATOM_g = FAIL; /* Unable to find atom information (already closed?) */
+hid_t H5E_BADGROUP_g = FAIL; /* Unable to find ID group information */
+hid_t H5E_CANTREGISTER_g = FAIL; /* Unable to register new atom */
+hid_t H5E_CANTINC_g = FAIL; /* Unable to increment reference count */
+hid_t H5E_CANTDEC_g = FAIL; /* Unable to decrement reference count */
+hid_t H5E_NOIDS_g = FAIL; /* Out of IDs for group */
/* Cache related errors */
hid_t H5E_CANTFLUSH_g = FAIL; /* Unable to flush data from cache */
@@ -116,91 +161,47 @@ hid_t H5E_CANTDIRTY_g = FAIL; /* Unable to mark metadata as dirty */
hid_t H5E_CANTEXPUNGE_g = FAIL; /* Unable to expunge a metadata cache entry */
hid_t H5E_CANTRESIZE_g = FAIL; /* Unable to resize a metadata cache entry */
-/* I/O pipeline errors */
-hid_t H5E_NOFILTER_g = FAIL; /* Requested filter is not available */
-hid_t H5E_CALLBACK_g = FAIL; /* Callback failed */
-hid_t H5E_CANAPPLY_g = FAIL; /* Error from filter 'can apply' callback */
-hid_t H5E_SETLOCAL_g = FAIL; /* Error from filter 'set local' callback */
-hid_t H5E_NOENCODER_g = FAIL; /* Filter present but encoding disabled */
-hid_t H5E_CANTFILTER_g = FAIL; /* Filter operation failed */
-
-/* Resource errors */
-hid_t H5E_NOSPACE_g = FAIL; /* No space available for allocation */
-hid_t H5E_CANTALLOC_g = FAIL; /* Can't allocate space */
-hid_t H5E_CANTCOPY_g = FAIL; /* Unable to copy object */
-hid_t H5E_CANTFREE_g = FAIL; /* Unable to free object */
-hid_t H5E_ALREADYEXISTS_g = FAIL; /* Object already exists */
-hid_t H5E_CANTLOCK_g = FAIL; /* Unable to lock object */
-hid_t H5E_CANTUNLOCK_g = FAIL; /* Unable to unlock object */
-hid_t H5E_CANTGC_g = FAIL; /* Unable to garbage collect */
-hid_t H5E_CANTGETSIZE_g = FAIL; /* Unable to compute size */
-hid_t H5E_OBJOPEN_g = FAIL; /* Object is already open */
-
-/* No error */
-hid_t H5E_NONE_MINOR_g = FAIL; /* No error */
+/* Link related errors */
+hid_t H5E_TRAVERSE_g = FAIL; /* Link traversal failure */
+hid_t H5E_NLINKS_g = FAIL; /* Too many soft links in path */
+hid_t H5E_NOTREGISTERED_g = FAIL; /* Link class not registered */
+hid_t H5E_CANTMOVE_g = FAIL; /* Move callback returned error */
/* Parallel MPI errors */
hid_t H5E_MPI_g = FAIL; /* Some MPI function failed */
hid_t H5E_MPIERRSTR_g = FAIL; /* MPI Error String */
hid_t H5E_CANTRECV_g = FAIL; /* Can't receive data */
-/* File accessability errors */
-hid_t H5E_FILEEXISTS_g = FAIL; /* File already exists */
-hid_t H5E_FILEOPEN_g = FAIL; /* File already open */
-hid_t H5E_CANTCREATE_g = FAIL; /* Unable to create file */
-hid_t H5E_CANTOPENFILE_g = FAIL; /* Unable to open file */
-hid_t H5E_CANTCLOSEFILE_g = FAIL; /* Unable to close file */
-hid_t H5E_NOTHDF5_g = FAIL; /* Not an HDF5 file */
-hid_t H5E_BADFILE_g = FAIL; /* Bad file ID accessed */
-hid_t H5E_TRUNCATED_g = FAIL; /* File has been truncated */
-hid_t H5E_MOUNT_g = FAIL; /* File mount error */
+/* Dataspace errors */
+hid_t H5E_CANTCLIP_g = FAIL; /* Can't clip hyperslab region */
+hid_t H5E_CANTCOUNT_g = FAIL; /* Can't count elements */
+hid_t H5E_CANTSELECT_g = FAIL; /* Can't select hyperslab */
+hid_t H5E_CANTNEXT_g = FAIL; /* Can't move to next iterator location */
+hid_t H5E_BADSELECT_g = FAIL; /* Invalid selection */
+hid_t H5E_CANTCOMPARE_g = FAIL; /* Can't compare objects */
-/* Heap errors */
-hid_t H5E_CANTRESTORE_g = FAIL; /* Can't restore condition */
-hid_t H5E_CANTCOMPUTE_g = FAIL; /* Can't compute value */
-hid_t H5E_CANTEXTEND_g = FAIL; /* Can't extend heap's space */
-hid_t H5E_CANTATTACH_g = FAIL; /* Can't attach object */
-hid_t H5E_CANTUPDATE_g = FAIL; /* Can't update object */
+/* Argument errors */
+hid_t H5E_UNINITIALIZED_g = FAIL; /* Information is uinitialized */
+hid_t H5E_UNSUPPORTED_g = FAIL; /* Feature is unsupported */
+hid_t H5E_BADTYPE_g = FAIL; /* Inappropriate type */
+hid_t H5E_BADRANGE_g = FAIL; /* Out of range */
+hid_t H5E_BADVALUE_g = FAIL; /* Bad value */
+
+/* B-tree related errors */
+hid_t H5E_NOTFOUND_g = FAIL; /* Object not found */
+hid_t H5E_EXISTS_g = FAIL; /* Object already exists */
+hid_t H5E_CANTENCODE_g = FAIL; /* Unable to encode value */
+hid_t H5E_CANTDECODE_g = FAIL; /* Unable to decode value */
+hid_t H5E_CANTSPLIT_g = FAIL; /* Unable to split node */
+hid_t H5E_CANTREDISTRIBUTE_g = FAIL; /* Unable to redistribute records */
+hid_t H5E_CANTSWAP_g = FAIL; /* Unable to swap records */
+hid_t H5E_CANTINSERT_g = FAIL; /* Unable to insert object */
+hid_t H5E_CANTLIST_g = FAIL; /* Unable to list node */
+hid_t H5E_CANTMODIFY_g = FAIL; /* Unable to modify record */
+hid_t H5E_CANTREMOVE_g = FAIL; /* Unable to remove object */
/* Datatype conversion errors */
hid_t H5E_CANTCONVERT_g = FAIL; /* Can't convert datatypes */
hid_t H5E_BADSIZE_g = FAIL; /* Bad size for object */
-/* Link related errors */
-hid_t H5E_TRAVERSE_g = FAIL; /* Link traversal failure */
-hid_t H5E_NLINKS_g = FAIL; /* Too many soft links in path */
-hid_t H5E_NOTREGISTERED_g = FAIL; /* Link class not registered */
-hid_t H5E_CANTMOVE_g = FAIL; /* Move callback returned error */
-
-/* Object atom related errors */
-hid_t H5E_BADATOM_g = FAIL; /* Unable to find atom information (already closed?) */
-hid_t H5E_BADGROUP_g = FAIL; /* Unable to find ID group information */
-hid_t H5E_CANTREGISTER_g = FAIL; /* Unable to register new atom */
-hid_t H5E_CANTINC_g = FAIL; /* Unable to increment reference count */
-hid_t H5E_CANTDEC_g = FAIL; /* Unable to decrement reference count */
-hid_t H5E_NOIDS_g = FAIL; /* Out of IDs for group */
-
-/* Free space errors */
-hid_t H5E_CANTMERGE_g = FAIL; /* Can't merge objects */
-hid_t H5E_CANTREVIVE_g = FAIL; /* Can't revive object */
-hid_t H5E_CANTSHRINK_g = FAIL; /* Can't shrink container */
-
-/* Generic low-level file I/O errors */
-hid_t H5E_SEEKERROR_g = FAIL; /* Seek failed */
-hid_t H5E_READERROR_g = FAIL; /* Read failed */
-hid_t H5E_WRITEERROR_g = FAIL; /* Write failed */
-hid_t H5E_CLOSEERROR_g = FAIL; /* Close failed */
-hid_t H5E_OVERFLOW_g = FAIL; /* Address overflowed */
-hid_t H5E_FCNTL_g = FAIL; /* File control (fcntl) failed */
-
-/* Property list errors */
-hid_t H5E_CANTGET_g = FAIL; /* Can't get value */
-hid_t H5E_CANTSET_g = FAIL; /* Can't set value */
-hid_t H5E_DUPCLASS_g = FAIL; /* Duplicate class name in parent class */
-
-/* Function entry/exit interface errors */
-hid_t H5E_CANTINIT_g = FAIL; /* Unable to initialize object */
-hid_t H5E_ALREADYINIT_g = FAIL; /* Object already initialized */
-hid_t H5E_CANTRELEASE_g = FAIL; /* Unable to release object */
-
#endif /* H5Edefin_H */
diff --git a/src/H5Einit.h b/src/H5Einit.h
index 4ea6a43..a5486f8 100644
--- a/src/H5Einit.h
+++ b/src/H5Einit.h
@@ -23,156 +23,323 @@
/* Major error codes */
/*********************/
-assert(H5E_DATATYPE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Datatype"))==NULL)
+assert(H5E_DATASET_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_DATATYPE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_DATASET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_PLINE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Data filters"))==NULL)
+assert(H5E_FUNC_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Function entry/exit"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_PLINE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_FUNC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_OHDR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object header"))==NULL)
+assert(H5E_STORAGE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Data storage"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_OHDR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_STORAGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_FILE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "File accessability"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_FILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
assert(H5E_SYM_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MAJOR, "Symbol table"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
if((H5E_SYM_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_RESOURCE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Resource unavailable"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_RESOURCE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_FSPACE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Free Space Manager"))==NULL)
+assert(H5E_VFL_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Virtual File Layer"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FSPACE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_VFL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
assert(H5E_INTERNAL_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MAJOR, "Internal error (too specific to document in detail)"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
if((H5E_INTERNAL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_BTREE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "B-Tree node"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_BTREE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_REFERENCE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "References"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_REFERENCE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
assert(H5E_DATASPACE_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MAJOR, "Dataspace"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
if((H5E_DATASPACE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_VFL_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Virtual File Layer"))==NULL)
+assert(H5E_RESOURCE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Resource unavailable"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_VFL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_RESOURCE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BTREE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "B-Tree node"))==NULL)
+assert(H5E_PLIST_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Property lists"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BTREE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_PLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_LINK_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Links"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_LINK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_DATATYPE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Datatype"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_DATATYPE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_RS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Reference Counted Strings"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_RS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_HEAP_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Heap"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_HEAP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_OHDR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object header"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_OHDR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_ATOM_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object atom"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_ATOM_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_ATTR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Attribute"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_ATTR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_NONE_MAJOR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "No error"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_NONE_MAJOR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
assert(H5E_IO_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MAJOR, "Low-level I/O"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
if((H5E_IO_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CACHE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object cache"))==NULL)
+assert(H5E_SLIST_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Skip Lists"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CACHE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_SLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_LINK_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Links"))==NULL)
+assert(H5E_EFL_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "External file list"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_LINK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_EFL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_TST_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Ternary Search Trees"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_TST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_ARGS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Invalid arguments to routine"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_ARGS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
assert(H5E_ERROR_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MAJOR, "Error API"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
if((H5E_ERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_FILE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "File accessability"))==NULL)
+assert(H5E_PLINE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Data filters"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_PLINE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NONE_MAJOR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "No error"))==NULL)
+assert(H5E_FSPACE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Free Space Manager"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NONE_MAJOR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_FSPACE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_FUNC_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Function entry/exit"))==NULL)
+assert(H5E_CACHE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object cache"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FUNC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CACHE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_HEAP_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Heap"))==NULL)
+
+/*********************/
+/* Minor error codes */
+/*********************/
+
+
+/* Generic low-level file I/O errors */
+assert(H5E_SEEKERROR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Seek failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_HEAP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_SEEKERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_SLIST_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Skip Lists"))==NULL)
+assert(H5E_READERROR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Read failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_SLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_READERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_RS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Reference Counted Strings"))==NULL)
+assert(H5E_WRITEERROR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Write failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_RS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_WRITEERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_DATASET_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL)
+assert(H5E_CLOSEERROR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Close failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_DATASET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CLOSEERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_TST_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Ternary Search Trees"))==NULL)
+assert(H5E_OVERFLOW_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Address overflowed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_TST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_OVERFLOW_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_ATTR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Attribute"))==NULL)
+assert(H5E_FCNTL_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "File control (fcntl) failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_ATTR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_FCNTL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_STORAGE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Data storage"))==NULL)
+
+/* Resource errors */
+assert(H5E_NOSPACE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "No space available for allocation"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_STORAGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOSPACE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_ATOM_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Object atom"))==NULL)
+assert(H5E_CANTALLOC_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't allocate space"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_ATOM_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTALLOC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_PLIST_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Property lists"))==NULL)
+assert(H5E_CANTCOPY_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to copy object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_PLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCOPY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_ARGS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "Invalid arguments to routine"))==NULL)
+assert(H5E_CANTFREE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to free object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_ARGS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTFREE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_REFERENCE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "References"))==NULL)
+assert(H5E_ALREADYEXISTS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already exists"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_REFERENCE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_ALREADYEXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_EFL_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MAJOR, "External file list"))==NULL)
+assert(H5E_CANTLOCK_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to lock object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_EFL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTLOCK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTUNLOCK_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to unlock object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTUNLOCK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTGC_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to garbage collect"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTGC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTGETSIZE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to compute size"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTGETSIZE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_OBJOPEN_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Object is already open"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_OBJOPEN_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/*********************/
-/* Minor error codes */
-/*********************/
+/* Heap errors */
+assert(H5E_CANTRESTORE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't restore condition"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTRESTORE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTCOMPUTE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't compute value"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTCOMPUTE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTEXTEND_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't extend heap's space"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTEXTEND_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTATTACH_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't attach object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTATTACH_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTUPDATE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't update object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTUPDATE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTOPERATE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't operate on object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTOPERATE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+/* Function entry/exit interface errors */
+assert(H5E_CANTINIT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to initialize object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTINIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_ALREADYINIT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already initialized"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_ALREADYINIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTRELEASE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to release object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTRELEASE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+
+/* Property list errors */
+assert(H5E_CANTGET_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't get value"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTGET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTSET_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't set value"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTSET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_DUPCLASS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Duplicate class name in parent class"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_DUPCLASS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+
+/* Free space errors */
+assert(H5E_CANTMERGE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't merge objects"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTMERGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTREVIVE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't revive object"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTREVIVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTSHRINK_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't shrink container"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTSHRINK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
/* Object header related errors */
assert(H5E_LINKCOUNT_g==(-1));
@@ -211,33 +378,6 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't pack messages"))==NULL)
if((H5E_CANTPACK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* Argument errors */
-assert(H5E_UNINITIALIZED_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Information is uinitialized"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_UNINITIALIZED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_UNSUPPORTED_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Feature is unsupported"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_UNSUPPORTED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADTYPE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Inappropriate type"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADTYPE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADRANGE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Out of range"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADRANGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADVALUE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad value"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADVALUE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
/* System level errors */
assert(H5E_SYSERRSTR_g==(-1));
if((msg = H5E_create_msg(cls, H5E_MINOR, "System error message"))==NULL)
@@ -245,36 +385,36 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "System error message"))==NULL)
if((H5E_SYSERRSTR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* Dataspace errors */
-assert(H5E_CANTCLIP_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't clip hyperslab region"))==NULL)
+/* I/O pipeline errors */
+assert(H5E_NOFILTER_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Requested filter is not available"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCLIP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOFILTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCOUNT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't count elements"))==NULL)
+assert(H5E_CALLBACK_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Callback failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCOUNT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CALLBACK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTSELECT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't select hyperslab"))==NULL)
+assert(H5E_CANAPPLY_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Error from filter 'can apply' callback"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTSELECT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANAPPLY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTNEXT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't move to next iterator location"))==NULL)
+assert(H5E_SETLOCAL_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Error from filter 'set local' callback"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTNEXT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_SETLOCAL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADSELECT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Invalid selection"))==NULL)
+assert(H5E_NOENCODER_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Filter present but encoding disabled"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADSELECT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOENCODER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCOMPARE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't compare objects"))==NULL)
+assert(H5E_CANTFILTER_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Filter operation failed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCOMPARE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTFILTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
/* Group related errors */
@@ -299,61 +439,90 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Problem with path to object"))==NULL)
if((H5E_PATH_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* B-tree related errors */
-assert(H5E_NOTFOUND_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Object not found"))==NULL)
+/* No error */
+assert(H5E_NONE_MINOR_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "No error"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOTFOUND_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NONE_MINOR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_EXISTS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already exists"))==NULL)
+
+/* File accessability errors */
+assert(H5E_FILEEXISTS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "File already exists"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_EXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_FILEEXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTENCODE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to encode value"))==NULL)
+assert(H5E_FILEOPEN_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "File already open"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTENCODE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_FILEOPEN_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTDECODE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to decode value"))==NULL)
+assert(H5E_CANTCREATE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to create file"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTDECODE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCREATE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTSPLIT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to split node"))==NULL)
+assert(H5E_CANTOPENFILE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to open file"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTSPLIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTOPENFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTREDISTRIBUTE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to redistribute records"))==NULL)
+assert(H5E_CANTCLOSEFILE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to close file"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTREDISTRIBUTE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCLOSEFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTSWAP_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to swap records"))==NULL)
+assert(H5E_NOTHDF5_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Not an HDF5 file"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTSWAP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOTHDF5_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTINSERT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to insert object"))==NULL)
+assert(H5E_BADFILE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad file ID accessed"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTINSERT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTLIST_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to list node"))==NULL)
+assert(H5E_TRUNCATED_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "File has been truncated"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_TRUNCATED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTMODIFY_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to modify record"))==NULL)
+assert(H5E_MOUNT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "File mount error"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTMODIFY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_MOUNT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTREMOVE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to remove object"))==NULL)
+
+/* Object atom related errors */
+assert(H5E_BADATOM_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to find atom information (already closed?)"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTREMOVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADATOM_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_BADGROUP_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to find ID group information"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_BADGROUP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTREGISTER_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to register new atom"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTREGISTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTINC_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to increment reference count"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTINC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_CANTDEC_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to decrement reference count"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_CANTDEC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
+assert(H5E_NOIDS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Out of IDs for group"))==NULL)
+ HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
+if((H5E_NOIDS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
/* Cache related errors */
@@ -438,95 +607,26 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to resize a metadata cache entr
if((H5E_CANTRESIZE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* I/O pipeline errors */
-assert(H5E_NOFILTER_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Requested filter is not available"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOFILTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CALLBACK_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Callback failed"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CALLBACK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANAPPLY_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Error from filter 'can apply' callback"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANAPPLY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_SETLOCAL_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Error from filter 'set local' callback"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_SETLOCAL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NOENCODER_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Filter present but encoding disabled"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOENCODER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTFILTER_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Filter operation failed"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTFILTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Resource errors */
-assert(H5E_NOSPACE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "No space available for allocation"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOSPACE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTALLOC_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't allocate space"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTALLOC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCOPY_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to copy object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCOPY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTFREE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to free object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTFREE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_ALREADYEXISTS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already exists"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_ALREADYEXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTLOCK_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to lock object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTLOCK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTUNLOCK_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to unlock object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTUNLOCK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTGC_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to garbage collect"))==NULL)
+/* Link related errors */
+assert(H5E_TRAVERSE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Link traversal failure"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTGC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_TRAVERSE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTGETSIZE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to compute size"))==NULL)
+assert(H5E_NLINKS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Too many soft links in path"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTGETSIZE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NLINKS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_OBJOPEN_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Object is already open"))==NULL)
+assert(H5E_NOTREGISTERED_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Link class not registered"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_OBJOPEN_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOTREGISTERED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* No error */
-assert(H5E_NONE_MINOR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "No error"))==NULL)
+assert(H5E_CANTMOVE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Move callback returned error"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NONE_MINOR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTMOVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
/* Parallel MPI errors */
@@ -546,227 +646,132 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't receive data"))==NULL)
if((H5E_CANTRECV_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* File accessability errors */
-assert(H5E_FILEEXISTS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "File already exists"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FILEEXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_FILEOPEN_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "File already open"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FILEOPEN_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCREATE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to create file"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCREATE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTOPENFILE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to open file"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTOPENFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCLOSEFILE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to close file"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCLOSEFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NOTHDF5_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Not an HDF5 file"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOTHDF5_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADFILE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad file ID accessed"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADFILE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_TRUNCATED_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "File has been truncated"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_TRUNCATED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_MOUNT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "File mount error"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_MOUNT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Heap errors */
-assert(H5E_CANTRESTORE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't restore condition"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTRESTORE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTCOMPUTE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't compute value"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCOMPUTE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTEXTEND_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't extend heap's space"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTEXTEND_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTATTACH_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't attach object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTATTACH_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTUPDATE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't update object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTUPDATE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Datatype conversion errors */
-assert(H5E_CANTCONVERT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't convert datatypes"))==NULL)
+/* Dataspace errors */
+assert(H5E_CANTCLIP_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't clip hyperslab region"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTCONVERT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCLIP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADSIZE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad size for object"))==NULL)
+assert(H5E_CANTCOUNT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't count elements"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADSIZE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCOUNT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Link related errors */
-assert(H5E_TRAVERSE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Link traversal failure"))==NULL)
+assert(H5E_CANTSELECT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't select hyperslab"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_TRAVERSE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTSELECT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NLINKS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Too many soft links in path"))==NULL)
+assert(H5E_CANTNEXT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't move to next iterator location"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NLINKS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTNEXT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NOTREGISTERED_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Link class not registered"))==NULL)
+assert(H5E_BADSELECT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Invalid selection"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOTREGISTERED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADSELECT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTMOVE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Move callback returned error"))==NULL)
+assert(H5E_CANTCOMPARE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't compare objects"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTMOVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCOMPARE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* Object atom related errors */
-assert(H5E_BADATOM_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to find atom information (already closed?)"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADATOM_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_BADGROUP_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to find ID group information"))==NULL)
+/* Argument errors */
+assert(H5E_UNINITIALIZED_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Information is uinitialized"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_BADGROUP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_UNINITIALIZED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTREGISTER_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to register new atom"))==NULL)
+assert(H5E_UNSUPPORTED_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Feature is unsupported"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTREGISTER_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_UNSUPPORTED_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTINC_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to increment reference count"))==NULL)
+assert(H5E_BADTYPE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Inappropriate type"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTINC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADTYPE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTDEC_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to decrement reference count"))==NULL)
+assert(H5E_BADRANGE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Out of range"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTDEC_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADRANGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_NOIDS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Out of IDs for group"))==NULL)
+assert(H5E_BADVALUE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad value"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_NOIDS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADVALUE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* Free space errors */
-assert(H5E_CANTMERGE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't merge objects"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTMERGE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTREVIVE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't revive object"))==NULL)
+/* B-tree related errors */
+assert(H5E_NOTFOUND_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Object not found"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTREVIVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_NOTFOUND_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTSHRINK_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't shrink container"))==NULL)
+assert(H5E_EXISTS_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already exists"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTSHRINK_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_EXISTS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Generic low-level file I/O errors */
-assert(H5E_SEEKERROR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Seek failed"))==NULL)
+assert(H5E_CANTENCODE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to encode value"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_SEEKERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTENCODE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_READERROR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Read failed"))==NULL)
+assert(H5E_CANTDECODE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to decode value"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_READERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTDECODE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_WRITEERROR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Write failed"))==NULL)
+assert(H5E_CANTSPLIT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to split node"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_WRITEERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTSPLIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CLOSEERROR_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Close failed"))==NULL)
+assert(H5E_CANTREDISTRIBUTE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to redistribute records"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CLOSEERROR_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTREDISTRIBUTE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_OVERFLOW_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Address overflowed"))==NULL)
+assert(H5E_CANTSWAP_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to swap records"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_OVERFLOW_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTSWAP_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_FCNTL_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "File control (fcntl) failed"))==NULL)
+assert(H5E_CANTINSERT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to insert object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_FCNTL_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTINSERT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-
-/* Property list errors */
-assert(H5E_CANTGET_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't get value"))==NULL)
+assert(H5E_CANTLIST_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to list node"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTGET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTLIST_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTSET_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't set value"))==NULL)
+assert(H5E_CANTMODIFY_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to modify record"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTSET_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTMODIFY_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_DUPCLASS_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Duplicate class name in parent class"))==NULL)
+assert(H5E_CANTREMOVE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to remove object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_DUPCLASS_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTREMOVE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-/* Function entry/exit interface errors */
-assert(H5E_CANTINIT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to initialize object"))==NULL)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTINIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
- HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_ALREADYINIT_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Object already initialized"))==NULL)
+/* Datatype conversion errors */
+assert(H5E_CANTCONVERT_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't convert datatypes"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_ALREADYINIT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_CANTCONVERT_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
-assert(H5E_CANTRELEASE_g==(-1));
-if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to release object"))==NULL)
+assert(H5E_BADSIZE_g==(-1));
+if((msg = H5E_create_msg(cls, H5E_MINOR, "Bad size for object"))==NULL)
HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed")
-if((H5E_CANTRELEASE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
+if((H5E_BADSIZE_g = H5I_register(H5I_ERROR_MSG, msg))<0)
HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message")
#endif /* H5Einit_H */
diff --git a/src/H5Epubgen.h b/src/H5Epubgen.h
index 340c3a8..3731920 100644
--- a/src/H5Epubgen.h
+++ b/src/H5Epubgen.h
@@ -23,69 +23,143 @@
/* Major error codes */
/*********************/
-#define H5E_DATATYPE (H5OPEN H5E_DATATYPE_g)
-#define H5E_PLINE (H5OPEN H5E_PLINE_g)
-#define H5E_OHDR (H5OPEN H5E_OHDR_g)
+#define H5E_DATASET (H5OPEN H5E_DATASET_g)
+#define H5E_FUNC (H5OPEN H5E_FUNC_g)
+#define H5E_STORAGE (H5OPEN H5E_STORAGE_g)
+#define H5E_FILE (H5OPEN H5E_FILE_g)
#define H5E_SYM (H5OPEN H5E_SYM_g)
-#define H5E_RESOURCE (H5OPEN H5E_RESOURCE_g)
-#define H5E_FSPACE (H5OPEN H5E_FSPACE_g)
-#define H5E_INTERNAL (H5OPEN H5E_INTERNAL_g)
-#define H5E_DATASPACE (H5OPEN H5E_DATASPACE_g)
#define H5E_VFL (H5OPEN H5E_VFL_g)
+#define H5E_INTERNAL (H5OPEN H5E_INTERNAL_g)
#define H5E_BTREE (H5OPEN H5E_BTREE_g)
-#define H5E_IO (H5OPEN H5E_IO_g)
-#define H5E_CACHE (H5OPEN H5E_CACHE_g)
+#define H5E_REFERENCE (H5OPEN H5E_REFERENCE_g)
+#define H5E_DATASPACE (H5OPEN H5E_DATASPACE_g)
+#define H5E_RESOURCE (H5OPEN H5E_RESOURCE_g)
+#define H5E_PLIST (H5OPEN H5E_PLIST_g)
#define H5E_LINK (H5OPEN H5E_LINK_g)
-#define H5E_ERROR (H5OPEN H5E_ERROR_g)
-#define H5E_FILE (H5OPEN H5E_FILE_g)
-#define H5E_NONE_MAJOR (H5OPEN H5E_NONE_MAJOR_g)
-#define H5E_FUNC (H5OPEN H5E_FUNC_g)
+#define H5E_DATATYPE (H5OPEN H5E_DATATYPE_g)
+#define H5E_RS (H5OPEN H5E_RS_g)
#define H5E_HEAP (H5OPEN H5E_HEAP_g)
+#define H5E_OHDR (H5OPEN H5E_OHDR_g)
+#define H5E_ATOM (H5OPEN H5E_ATOM_g)
+#define H5E_ATTR (H5OPEN H5E_ATTR_g)
+#define H5E_NONE_MAJOR (H5OPEN H5E_NONE_MAJOR_g)
+#define H5E_IO (H5OPEN H5E_IO_g)
#define H5E_SLIST (H5OPEN H5E_SLIST_g)
-#define H5E_RS (H5OPEN H5E_RS_g)
-#define H5E_DATASET (H5OPEN H5E_DATASET_g)
+#define H5E_EFL (H5OPEN H5E_EFL_g)
#define H5E_TST (H5OPEN H5E_TST_g)
-#define H5E_ATTR (H5OPEN H5E_ATTR_g)
-#define H5E_STORAGE (H5OPEN H5E_STORAGE_g)
-#define H5E_ATOM (H5OPEN H5E_ATOM_g)
-#define H5E_PLIST (H5OPEN H5E_PLIST_g)
#define H5E_ARGS (H5OPEN H5E_ARGS_g)
-#define H5E_REFERENCE (H5OPEN H5E_REFERENCE_g)
-#define H5E_EFL (H5OPEN H5E_EFL_g)
-H5_DLLVAR hid_t H5E_DATATYPE_g; /* Datatype */
-H5_DLLVAR hid_t H5E_PLINE_g; /* Data filters */
-H5_DLLVAR hid_t H5E_OHDR_g; /* Object header */
+#define H5E_ERROR (H5OPEN H5E_ERROR_g)
+#define H5E_PLINE (H5OPEN H5E_PLINE_g)
+#define H5E_FSPACE (H5OPEN H5E_FSPACE_g)
+#define H5E_CACHE (H5OPEN H5E_CACHE_g)
+H5_DLLVAR hid_t H5E_DATASET_g; /* Dataset */
+H5_DLLVAR hid_t H5E_FUNC_g; /* Function entry/exit */
+H5_DLLVAR hid_t H5E_STORAGE_g; /* Data storage */
+H5_DLLVAR hid_t H5E_FILE_g; /* File accessability */
H5_DLLVAR hid_t H5E_SYM_g; /* Symbol table */
-H5_DLLVAR hid_t H5E_RESOURCE_g; /* Resource unavailable */
-H5_DLLVAR hid_t H5E_FSPACE_g; /* Free Space Manager */
-H5_DLLVAR hid_t H5E_INTERNAL_g; /* Internal error (too specific to document in detail) */
-H5_DLLVAR hid_t H5E_DATASPACE_g; /* Dataspace */
H5_DLLVAR hid_t H5E_VFL_g; /* Virtual File Layer */
+H5_DLLVAR hid_t H5E_INTERNAL_g; /* Internal error (too specific to document in detail) */
H5_DLLVAR hid_t H5E_BTREE_g; /* B-Tree node */
-H5_DLLVAR hid_t H5E_IO_g; /* Low-level I/O */
-H5_DLLVAR hid_t H5E_CACHE_g; /* Object cache */
+H5_DLLVAR hid_t H5E_REFERENCE_g; /* References */
+H5_DLLVAR hid_t H5E_DATASPACE_g; /* Dataspace */
+H5_DLLVAR hid_t H5E_RESOURCE_g; /* Resource unavailable */
+H5_DLLVAR hid_t H5E_PLIST_g; /* Property lists */
H5_DLLVAR hid_t H5E_LINK_g; /* Links */
-H5_DLLVAR hid_t H5E_ERROR_g; /* Error API */
-H5_DLLVAR hid_t H5E_FILE_g; /* File accessability */
-H5_DLLVAR hid_t H5E_NONE_MAJOR_g; /* No error */
-H5_DLLVAR hid_t H5E_FUNC_g; /* Function entry/exit */
+H5_DLLVAR hid_t H5E_DATATYPE_g; /* Datatype */
+H5_DLLVAR hid_t H5E_RS_g; /* Reference Counted Strings */
H5_DLLVAR hid_t H5E_HEAP_g; /* Heap */
+H5_DLLVAR hid_t H5E_OHDR_g; /* Object header */
+H5_DLLVAR hid_t H5E_ATOM_g; /* Object atom */
+H5_DLLVAR hid_t H5E_ATTR_g; /* Attribute */
+H5_DLLVAR hid_t H5E_NONE_MAJOR_g; /* No error */
+H5_DLLVAR hid_t H5E_IO_g; /* Low-level I/O */
H5_DLLVAR hid_t H5E_SLIST_g; /* Skip Lists */
-H5_DLLVAR hid_t H5E_RS_g; /* Reference Counted Strings */
-H5_DLLVAR hid_t H5E_DATASET_g; /* Dataset */
+H5_DLLVAR hid_t H5E_EFL_g; /* External file list */
H5_DLLVAR hid_t H5E_TST_g; /* Ternary Search Trees */
-H5_DLLVAR hid_t H5E_ATTR_g; /* Attribute */
-H5_DLLVAR hid_t H5E_STORAGE_g; /* Data storage */
-H5_DLLVAR hid_t H5E_ATOM_g; /* Object atom */
-H5_DLLVAR hid_t H5E_PLIST_g; /* Property lists */
H5_DLLVAR hid_t H5E_ARGS_g; /* Invalid arguments to routine */
-H5_DLLVAR hid_t H5E_REFERENCE_g; /* References */
-H5_DLLVAR hid_t H5E_EFL_g; /* External file list */
+H5_DLLVAR hid_t H5E_ERROR_g; /* Error API */
+H5_DLLVAR hid_t H5E_PLINE_g; /* Data filters */
+H5_DLLVAR hid_t H5E_FSPACE_g; /* Free Space Manager */
+H5_DLLVAR hid_t H5E_CACHE_g; /* Object cache */
/*********************/
/* Minor error codes */
/*********************/
+/* Generic low-level file I/O errors */
+#define H5E_SEEKERROR (H5OPEN H5E_SEEKERROR_g)
+#define H5E_READERROR (H5OPEN H5E_READERROR_g)
+#define H5E_WRITEERROR (H5OPEN H5E_WRITEERROR_g)
+#define H5E_CLOSEERROR (H5OPEN H5E_CLOSEERROR_g)
+#define H5E_OVERFLOW (H5OPEN H5E_OVERFLOW_g)
+#define H5E_FCNTL (H5OPEN H5E_FCNTL_g)
+H5_DLLVAR hid_t H5E_SEEKERROR_g; /* Seek failed */
+H5_DLLVAR hid_t H5E_READERROR_g; /* Read failed */
+H5_DLLVAR hid_t H5E_WRITEERROR_g; /* Write failed */
+H5_DLLVAR hid_t H5E_CLOSEERROR_g; /* Close failed */
+H5_DLLVAR hid_t H5E_OVERFLOW_g; /* Address overflowed */
+H5_DLLVAR hid_t H5E_FCNTL_g; /* File control (fcntl) failed */
+
+/* Resource errors */
+#define H5E_NOSPACE (H5OPEN H5E_NOSPACE_g)
+#define H5E_CANTALLOC (H5OPEN H5E_CANTALLOC_g)
+#define H5E_CANTCOPY (H5OPEN H5E_CANTCOPY_g)
+#define H5E_CANTFREE (H5OPEN H5E_CANTFREE_g)
+#define H5E_ALREADYEXISTS (H5OPEN H5E_ALREADYEXISTS_g)
+#define H5E_CANTLOCK (H5OPEN H5E_CANTLOCK_g)
+#define H5E_CANTUNLOCK (H5OPEN H5E_CANTUNLOCK_g)
+#define H5E_CANTGC (H5OPEN H5E_CANTGC_g)
+#define H5E_CANTGETSIZE (H5OPEN H5E_CANTGETSIZE_g)
+#define H5E_OBJOPEN (H5OPEN H5E_OBJOPEN_g)
+H5_DLLVAR hid_t H5E_NOSPACE_g; /* No space available for allocation */
+H5_DLLVAR hid_t H5E_CANTALLOC_g; /* Can't allocate space */
+H5_DLLVAR hid_t H5E_CANTCOPY_g; /* Unable to copy object */
+H5_DLLVAR hid_t H5E_CANTFREE_g; /* Unable to free object */
+H5_DLLVAR hid_t H5E_ALREADYEXISTS_g; /* Object already exists */
+H5_DLLVAR hid_t H5E_CANTLOCK_g; /* Unable to lock object */
+H5_DLLVAR hid_t H5E_CANTUNLOCK_g; /* Unable to unlock object */
+H5_DLLVAR hid_t H5E_CANTGC_g; /* Unable to garbage collect */
+H5_DLLVAR hid_t H5E_CANTGETSIZE_g; /* Unable to compute size */
+H5_DLLVAR hid_t H5E_OBJOPEN_g; /* Object is already open */
+
+/* Heap errors */
+#define H5E_CANTRESTORE (H5OPEN H5E_CANTRESTORE_g)
+#define H5E_CANTCOMPUTE (H5OPEN H5E_CANTCOMPUTE_g)
+#define H5E_CANTEXTEND (H5OPEN H5E_CANTEXTEND_g)
+#define H5E_CANTATTACH (H5OPEN H5E_CANTATTACH_g)
+#define H5E_CANTUPDATE (H5OPEN H5E_CANTUPDATE_g)
+#define H5E_CANTOPERATE (H5OPEN H5E_CANTOPERATE_g)
+H5_DLLVAR hid_t H5E_CANTRESTORE_g; /* Can't restore condition */
+H5_DLLVAR hid_t H5E_CANTCOMPUTE_g; /* Can't compute value */
+H5_DLLVAR hid_t H5E_CANTEXTEND_g; /* Can't extend heap's space */
+H5_DLLVAR hid_t H5E_CANTATTACH_g; /* Can't attach object */
+H5_DLLVAR hid_t H5E_CANTUPDATE_g; /* Can't update object */
+H5_DLLVAR hid_t H5E_CANTOPERATE_g; /* Can't operate on object */
+
+/* Function entry/exit interface errors */
+#define H5E_CANTINIT (H5OPEN H5E_CANTINIT_g)
+#define H5E_ALREADYINIT (H5OPEN H5E_ALREADYINIT_g)
+#define H5E_CANTRELEASE (H5OPEN H5E_CANTRELEASE_g)
+H5_DLLVAR hid_t H5E_CANTINIT_g; /* Unable to initialize object */
+H5_DLLVAR hid_t H5E_ALREADYINIT_g; /* Object already initialized */
+H5_DLLVAR hid_t H5E_CANTRELEASE_g; /* Unable to release object */
+
+/* Property list errors */
+#define H5E_CANTGET (H5OPEN H5E_CANTGET_g)
+#define H5E_CANTSET (H5OPEN H5E_CANTSET_g)
+#define H5E_DUPCLASS (H5OPEN H5E_DUPCLASS_g)
+H5_DLLVAR hid_t H5E_CANTGET_g; /* Can't get value */
+H5_DLLVAR hid_t H5E_CANTSET_g; /* Can't set value */
+H5_DLLVAR hid_t H5E_DUPCLASS_g; /* Duplicate class name in parent class */
+
+/* Free space errors */
+#define H5E_CANTMERGE (H5OPEN H5E_CANTMERGE_g)
+#define H5E_CANTREVIVE (H5OPEN H5E_CANTREVIVE_g)
+#define H5E_CANTSHRINK (H5OPEN H5E_CANTSHRINK_g)
+H5_DLLVAR hid_t H5E_CANTMERGE_g; /* Can't merge objects */
+H5_DLLVAR hid_t H5E_CANTREVIVE_g; /* Can't revive object */
+H5_DLLVAR hid_t H5E_CANTSHRINK_g; /* Can't shrink container */
+
/* Object header related errors */
#define H5E_LINKCOUNT (H5OPEN H5E_LINKCOUNT_g)
#define H5E_VERSION (H5OPEN H5E_VERSION_g)
@@ -102,35 +176,23 @@ H5_DLLVAR hid_t H5E_CANTDELETE_g; /* Can't delete message */
H5_DLLVAR hid_t H5E_BADITER_g; /* Iteration failed */
H5_DLLVAR hid_t H5E_CANTPACK_g; /* Can't pack messages */
-/* Argument errors */
-#define H5E_UNINITIALIZED (H5OPEN H5E_UNINITIALIZED_g)
-#define H5E_UNSUPPORTED (H5OPEN H5E_UNSUPPORTED_g)
-#define H5E_BADTYPE (H5OPEN H5E_BADTYPE_g)
-#define H5E_BADRANGE (H5OPEN H5E_BADRANGE_g)
-#define H5E_BADVALUE (H5OPEN H5E_BADVALUE_g)
-H5_DLLVAR hid_t H5E_UNINITIALIZED_g; /* Information is uinitialized */
-H5_DLLVAR hid_t H5E_UNSUPPORTED_g; /* Feature is unsupported */
-H5_DLLVAR hid_t H5E_BADTYPE_g; /* Inappropriate type */
-H5_DLLVAR hid_t H5E_BADRANGE_g; /* Out of range */
-H5_DLLVAR hid_t H5E_BADVALUE_g; /* Bad value */
-
/* System level errors */
#define H5E_SYSERRSTR (H5OPEN H5E_SYSERRSTR_g)
H5_DLLVAR hid_t H5E_SYSERRSTR_g; /* System error message */
-/* Dataspace errors */
-#define H5E_CANTCLIP (H5OPEN H5E_CANTCLIP_g)
-#define H5E_CANTCOUNT (H5OPEN H5E_CANTCOUNT_g)
-#define H5E_CANTSELECT (H5OPEN H5E_CANTSELECT_g)
-#define H5E_CANTNEXT (H5OPEN H5E_CANTNEXT_g)
-#define H5E_BADSELECT (H5OPEN H5E_BADSELECT_g)
-#define H5E_CANTCOMPARE (H5OPEN H5E_CANTCOMPARE_g)
-H5_DLLVAR hid_t H5E_CANTCLIP_g; /* Can't clip hyperslab region */
-H5_DLLVAR hid_t H5E_CANTCOUNT_g; /* Can't count elements */
-H5_DLLVAR hid_t H5E_CANTSELECT_g; /* Can't select hyperslab */
-H5_DLLVAR hid_t H5E_CANTNEXT_g; /* Can't move to next iterator location */
-H5_DLLVAR hid_t H5E_BADSELECT_g; /* Invalid selection */
-H5_DLLVAR hid_t H5E_CANTCOMPARE_g; /* Can't compare objects */
+/* I/O pipeline errors */
+#define H5E_NOFILTER (H5OPEN H5E_NOFILTER_g)
+#define H5E_CALLBACK (H5OPEN H5E_CALLBACK_g)
+#define H5E_CANAPPLY (H5OPEN H5E_CANAPPLY_g)
+#define H5E_SETLOCAL (H5OPEN H5E_SETLOCAL_g)
+#define H5E_NOENCODER (H5OPEN H5E_NOENCODER_g)
+#define H5E_CANTFILTER (H5OPEN H5E_CANTFILTER_g)
+H5_DLLVAR hid_t H5E_NOFILTER_g; /* Requested filter is not available */
+H5_DLLVAR hid_t H5E_CALLBACK_g; /* Callback failed */
+H5_DLLVAR hid_t H5E_CANAPPLY_g; /* Error from filter 'can apply' callback */
+H5_DLLVAR hid_t H5E_SETLOCAL_g; /* Error from filter 'set local' callback */
+H5_DLLVAR hid_t H5E_NOENCODER_g; /* Filter present but encoding disabled */
+H5_DLLVAR hid_t H5E_CANTFILTER_g; /* Filter operation failed */
/* Group related errors */
#define H5E_CANTOPENOBJ (H5OPEN H5E_CANTOPENOBJ_g)
@@ -142,29 +204,43 @@ H5_DLLVAR hid_t H5E_CANTCLOSEOBJ_g; /* Can't close object */
H5_DLLVAR hid_t H5E_COMPLEN_g; /* Name component is too long */
H5_DLLVAR hid_t H5E_PATH_g; /* Problem with path to object */
-/* B-tree related errors */
-#define H5E_NOTFOUND (H5OPEN H5E_NOTFOUND_g)
-#define H5E_EXISTS (H5OPEN H5E_EXISTS_g)
-#define H5E_CANTENCODE (H5OPEN H5E_CANTENCODE_g)
-#define H5E_CANTDECODE (H5OPEN H5E_CANTDECODE_g)
-#define H5E_CANTSPLIT (H5OPEN H5E_CANTSPLIT_g)
-#define H5E_CANTREDISTRIBUTE (H5OPEN H5E_CANTREDISTRIBUTE_g)
-#define H5E_CANTSWAP (H5OPEN H5E_CANTSWAP_g)
-#define H5E_CANTINSERT (H5OPEN H5E_CANTINSERT_g)
-#define H5E_CANTLIST (H5OPEN H5E_CANTLIST_g)
-#define H5E_CANTMODIFY (H5OPEN H5E_CANTMODIFY_g)
-#define H5E_CANTREMOVE (H5OPEN H5E_CANTREMOVE_g)
-H5_DLLVAR hid_t H5E_NOTFOUND_g; /* Object not found */
-H5_DLLVAR hid_t H5E_EXISTS_g; /* Object already exists */
-H5_DLLVAR hid_t H5E_CANTENCODE_g; /* Unable to encode value */
-H5_DLLVAR hid_t H5E_CANTDECODE_g; /* Unable to decode value */
-H5_DLLVAR hid_t H5E_CANTSPLIT_g; /* Unable to split node */
-H5_DLLVAR hid_t H5E_CANTREDISTRIBUTE_g; /* Unable to redistribute records */
-H5_DLLVAR hid_t H5E_CANTSWAP_g; /* Unable to swap records */
-H5_DLLVAR hid_t H5E_CANTINSERT_g; /* Unable to insert object */
-H5_DLLVAR hid_t H5E_CANTLIST_g; /* Unable to list node */
-H5_DLLVAR hid_t H5E_CANTMODIFY_g; /* Unable to modify record */
-H5_DLLVAR hid_t H5E_CANTREMOVE_g; /* Unable to remove object */
+/* No error */
+#define H5E_NONE_MINOR (H5OPEN H5E_NONE_MINOR_g)
+H5_DLLVAR hid_t H5E_NONE_MINOR_g; /* No error */
+
+/* File accessability errors */
+#define H5E_FILEEXISTS (H5OPEN H5E_FILEEXISTS_g)
+#define H5E_FILEOPEN (H5OPEN H5E_FILEOPEN_g)
+#define H5E_CANTCREATE (H5OPEN H5E_CANTCREATE_g)
+#define H5E_CANTOPENFILE (H5OPEN H5E_CANTOPENFILE_g)
+#define H5E_CANTCLOSEFILE (H5OPEN H5E_CANTCLOSEFILE_g)
+#define H5E_NOTHDF5 (H5OPEN H5E_NOTHDF5_g)
+#define H5E_BADFILE (H5OPEN H5E_BADFILE_g)
+#define H5E_TRUNCATED (H5OPEN H5E_TRUNCATED_g)
+#define H5E_MOUNT (H5OPEN H5E_MOUNT_g)
+H5_DLLVAR hid_t H5E_FILEEXISTS_g; /* File already exists */
+H5_DLLVAR hid_t H5E_FILEOPEN_g; /* File already open */
+H5_DLLVAR hid_t H5E_CANTCREATE_g; /* Unable to create file */
+H5_DLLVAR hid_t H5E_CANTOPENFILE_g; /* Unable to open file */
+H5_DLLVAR hid_t H5E_CANTCLOSEFILE_g; /* Unable to close file */
+H5_DLLVAR hid_t H5E_NOTHDF5_g; /* Not an HDF5 file */
+H5_DLLVAR hid_t H5E_BADFILE_g; /* Bad file ID accessed */
+H5_DLLVAR hid_t H5E_TRUNCATED_g; /* File has been truncated */
+H5_DLLVAR hid_t H5E_MOUNT_g; /* File mount error */
+
+/* Object atom related errors */
+#define H5E_BADATOM (H5OPEN H5E_BADATOM_g)
+#define H5E_BADGROUP (H5OPEN H5E_BADGROUP_g)
+#define H5E_CANTREGISTER (H5OPEN H5E_CANTREGISTER_g)
+#define H5E_CANTINC (H5OPEN H5E_CANTINC_g)
+#define H5E_CANTDEC (H5OPEN H5E_CANTDEC_g)
+#define H5E_NOIDS (H5OPEN H5E_NOIDS_g)
+H5_DLLVAR hid_t H5E_BADATOM_g; /* Unable to find atom information (already closed?) */
+H5_DLLVAR hid_t H5E_BADGROUP_g; /* Unable to find ID group information */
+H5_DLLVAR hid_t H5E_CANTREGISTER_g; /* Unable to register new atom */
+H5_DLLVAR hid_t H5E_CANTINC_g; /* Unable to increment reference count */
+H5_DLLVAR hid_t H5E_CANTDEC_g; /* Unable to decrement reference count */
+H5_DLLVAR hid_t H5E_NOIDS_g; /* Out of IDs for group */
/* Cache related errors */
#define H5E_CANTFLUSH (H5OPEN H5E_CANTFLUSH_g)
@@ -200,45 +276,15 @@ H5_DLLVAR hid_t H5E_CANTDIRTY_g; /* Unable to mark metadata as dirty */
H5_DLLVAR hid_t H5E_CANTEXPUNGE_g; /* Unable to expunge a metadata cache entry */
H5_DLLVAR hid_t H5E_CANTRESIZE_g; /* Unable to resize a metadata cache entry */
-/* I/O pipeline errors */
-#define H5E_NOFILTER (H5OPEN H5E_NOFILTER_g)
-#define H5E_CALLBACK (H5OPEN H5E_CALLBACK_g)
-#define H5E_CANAPPLY (H5OPEN H5E_CANAPPLY_g)
-#define H5E_SETLOCAL (H5OPEN H5E_SETLOCAL_g)
-#define H5E_NOENCODER (H5OPEN H5E_NOENCODER_g)
-#define H5E_CANTFILTER (H5OPEN H5E_CANTFILTER_g)
-H5_DLLVAR hid_t H5E_NOFILTER_g; /* Requested filter is not available */
-H5_DLLVAR hid_t H5E_CALLBACK_g; /* Callback failed */
-H5_DLLVAR hid_t H5E_CANAPPLY_g; /* Error from filter 'can apply' callback */
-H5_DLLVAR hid_t H5E_SETLOCAL_g; /* Error from filter 'set local' callback */
-H5_DLLVAR hid_t H5E_NOENCODER_g; /* Filter present but encoding disabled */
-H5_DLLVAR hid_t H5E_CANTFILTER_g; /* Filter operation failed */
-
-/* Resource errors */
-#define H5E_NOSPACE (H5OPEN H5E_NOSPACE_g)
-#define H5E_CANTALLOC (H5OPEN H5E_CANTALLOC_g)
-#define H5E_CANTCOPY (H5OPEN H5E_CANTCOPY_g)
-#define H5E_CANTFREE (H5OPEN H5E_CANTFREE_g)
-#define H5E_ALREADYEXISTS (H5OPEN H5E_ALREADYEXISTS_g)
-#define H5E_CANTLOCK (H5OPEN H5E_CANTLOCK_g)
-#define H5E_CANTUNLOCK (H5OPEN H5E_CANTUNLOCK_g)
-#define H5E_CANTGC (H5OPEN H5E_CANTGC_g)
-#define H5E_CANTGETSIZE (H5OPEN H5E_CANTGETSIZE_g)
-#define H5E_OBJOPEN (H5OPEN H5E_OBJOPEN_g)
-H5_DLLVAR hid_t H5E_NOSPACE_g; /* No space available for allocation */
-H5_DLLVAR hid_t H5E_CANTALLOC_g; /* Can't allocate space */
-H5_DLLVAR hid_t H5E_CANTCOPY_g; /* Unable to copy object */
-H5_DLLVAR hid_t H5E_CANTFREE_g; /* Unable to free object */
-H5_DLLVAR hid_t H5E_ALREADYEXISTS_g; /* Object already exists */
-H5_DLLVAR hid_t H5E_CANTLOCK_g; /* Unable to lock object */
-H5_DLLVAR hid_t H5E_CANTUNLOCK_g; /* Unable to unlock object */
-H5_DLLVAR hid_t H5E_CANTGC_g; /* Unable to garbage collect */
-H5_DLLVAR hid_t H5E_CANTGETSIZE_g; /* Unable to compute size */
-H5_DLLVAR hid_t H5E_OBJOPEN_g; /* Object is already open */
-
-/* No error */
-#define H5E_NONE_MINOR (H5OPEN H5E_NONE_MINOR_g)
-H5_DLLVAR hid_t H5E_NONE_MINOR_g; /* No error */
+/* Link related errors */
+#define H5E_TRAVERSE (H5OPEN H5E_TRAVERSE_g)
+#define H5E_NLINKS (H5OPEN H5E_NLINKS_g)
+#define H5E_NOTREGISTERED (H5OPEN H5E_NOTREGISTERED_g)
+#define H5E_CANTMOVE (H5OPEN H5E_CANTMOVE_g)
+H5_DLLVAR hid_t H5E_TRAVERSE_g; /* Link traversal failure */
+H5_DLLVAR hid_t H5E_NLINKS_g; /* Too many soft links in path */
+H5_DLLVAR hid_t H5E_NOTREGISTERED_g; /* Link class not registered */
+H5_DLLVAR hid_t H5E_CANTMOVE_g; /* Move callback returned error */
/* Parallel MPI errors */
#define H5E_MPI (H5OPEN H5E_MPI_g)
@@ -248,37 +294,55 @@ H5_DLLVAR hid_t H5E_MPI_g; /* Some MPI function failed */
H5_DLLVAR hid_t H5E_MPIERRSTR_g; /* MPI Error String */
H5_DLLVAR hid_t H5E_CANTRECV_g; /* Can't receive data */
-/* File accessability errors */
-#define H5E_FILEEXISTS (H5OPEN H5E_FILEEXISTS_g)
-#define H5E_FILEOPEN (H5OPEN H5E_FILEOPEN_g)
-#define H5E_CANTCREATE (H5OPEN H5E_CANTCREATE_g)
-#define H5E_CANTOPENFILE (H5OPEN H5E_CANTOPENFILE_g)
-#define H5E_CANTCLOSEFILE (H5OPEN H5E_CANTCLOSEFILE_g)
-#define H5E_NOTHDF5 (H5OPEN H5E_NOTHDF5_g)
-#define H5E_BADFILE (H5OPEN H5E_BADFILE_g)
-#define H5E_TRUNCATED (H5OPEN H5E_TRUNCATED_g)
-#define H5E_MOUNT (H5OPEN H5E_MOUNT_g)
-H5_DLLVAR hid_t H5E_FILEEXISTS_g; /* File already exists */
-H5_DLLVAR hid_t H5E_FILEOPEN_g; /* File already open */
-H5_DLLVAR hid_t H5E_CANTCREATE_g; /* Unable to create file */
-H5_DLLVAR hid_t H5E_CANTOPENFILE_g; /* Unable to open file */
-H5_DLLVAR hid_t H5E_CANTCLOSEFILE_g; /* Unable to close file */
-H5_DLLVAR hid_t H5E_NOTHDF5_g; /* Not an HDF5 file */
-H5_DLLVAR hid_t H5E_BADFILE_g; /* Bad file ID accessed */
-H5_DLLVAR hid_t H5E_TRUNCATED_g; /* File has been truncated */
-H5_DLLVAR hid_t H5E_MOUNT_g; /* File mount error */
+/* Dataspace errors */
+#define H5E_CANTCLIP (H5OPEN H5E_CANTCLIP_g)
+#define H5E_CANTCOUNT (H5OPEN H5E_CANTCOUNT_g)
+#define H5E_CANTSELECT (H5OPEN H5E_CANTSELECT_g)
+#define H5E_CANTNEXT (H5OPEN H5E_CANTNEXT_g)
+#define H5E_BADSELECT (H5OPEN H5E_BADSELECT_g)
+#define H5E_CANTCOMPARE (H5OPEN H5E_CANTCOMPARE_g)
+H5_DLLVAR hid_t H5E_CANTCLIP_g; /* Can't clip hyperslab region */
+H5_DLLVAR hid_t H5E_CANTCOUNT_g; /* Can't count elements */
+H5_DLLVAR hid_t H5E_CANTSELECT_g; /* Can't select hyperslab */
+H5_DLLVAR hid_t H5E_CANTNEXT_g; /* Can't move to next iterator location */
+H5_DLLVAR hid_t H5E_BADSELECT_g; /* Invalid selection */
+H5_DLLVAR hid_t H5E_CANTCOMPARE_g; /* Can't compare objects */
-/* Heap errors */
-#define H5E_CANTRESTORE (H5OPEN H5E_CANTRESTORE_g)
-#define H5E_CANTCOMPUTE (H5OPEN H5E_CANTCOMPUTE_g)
-#define H5E_CANTEXTEND (H5OPEN H5E_CANTEXTEND_g)
-#define H5E_CANTATTACH (H5OPEN H5E_CANTATTACH_g)
-#define H5E_CANTUPDATE (H5OPEN H5E_CANTUPDATE_g)
-H5_DLLVAR hid_t H5E_CANTRESTORE_g; /* Can't restore condition */
-H5_DLLVAR hid_t H5E_CANTCOMPUTE_g; /* Can't compute value */
-H5_DLLVAR hid_t H5E_CANTEXTEND_g; /* Can't extend heap's space */
-H5_DLLVAR hid_t H5E_CANTATTACH_g; /* Can't attach object */
-H5_DLLVAR hid_t H5E_CANTUPDATE_g; /* Can't update object */
+/* Argument errors */
+#define H5E_UNINITIALIZED (H5OPEN H5E_UNINITIALIZED_g)
+#define H5E_UNSUPPORTED (H5OPEN H5E_UNSUPPORTED_g)
+#define H5E_BADTYPE (H5OPEN H5E_BADTYPE_g)
+#define H5E_BADRANGE (H5OPEN H5E_BADRANGE_g)
+#define H5E_BADVALUE (H5OPEN H5E_BADVALUE_g)
+H5_DLLVAR hid_t H5E_UNINITIALIZED_g; /* Information is uinitialized */
+H5_DLLVAR hid_t H5E_UNSUPPORTED_g; /* Feature is unsupported */
+H5_DLLVAR hid_t H5E_BADTYPE_g; /* Inappropriate type */
+H5_DLLVAR hid_t H5E_BADRANGE_g; /* Out of range */
+H5_DLLVAR hid_t H5E_BADVALUE_g; /* Bad value */
+
+/* B-tree related errors */
+#define H5E_NOTFOUND (H5OPEN H5E_NOTFOUND_g)
+#define H5E_EXISTS (H5OPEN H5E_EXISTS_g)
+#define H5E_CANTENCODE (H5OPEN H5E_CANTENCODE_g)
+#define H5E_CANTDECODE (H5OPEN H5E_CANTDECODE_g)
+#define H5E_CANTSPLIT (H5OPEN H5E_CANTSPLIT_g)
+#define H5E_CANTREDISTRIBUTE (H5OPEN H5E_CANTREDISTRIBUTE_g)
+#define H5E_CANTSWAP (H5OPEN H5E_CANTSWAP_g)
+#define H5E_CANTINSERT (H5OPEN H5E_CANTINSERT_g)
+#define H5E_CANTLIST (H5OPEN H5E_CANTLIST_g)
+#define H5E_CANTMODIFY (H5OPEN H5E_CANTMODIFY_g)
+#define H5E_CANTREMOVE (H5OPEN H5E_CANTREMOVE_g)
+H5_DLLVAR hid_t H5E_NOTFOUND_g; /* Object not found */
+H5_DLLVAR hid_t H5E_EXISTS_g; /* Object already exists */
+H5_DLLVAR hid_t H5E_CANTENCODE_g; /* Unable to encode value */
+H5_DLLVAR hid_t H5E_CANTDECODE_g; /* Unable to decode value */
+H5_DLLVAR hid_t H5E_CANTSPLIT_g; /* Unable to split node */
+H5_DLLVAR hid_t H5E_CANTREDISTRIBUTE_g; /* Unable to redistribute records */
+H5_DLLVAR hid_t H5E_CANTSWAP_g; /* Unable to swap records */
+H5_DLLVAR hid_t H5E_CANTINSERT_g; /* Unable to insert object */
+H5_DLLVAR hid_t H5E_CANTLIST_g; /* Unable to list node */
+H5_DLLVAR hid_t H5E_CANTMODIFY_g; /* Unable to modify record */
+H5_DLLVAR hid_t H5E_CANTREMOVE_g; /* Unable to remove object */
/* Datatype conversion errors */
#define H5E_CANTCONVERT (H5OPEN H5E_CANTCONVERT_g)
@@ -286,66 +350,4 @@ H5_DLLVAR hid_t H5E_CANTUPDATE_g; /* Can't update object */
H5_DLLVAR hid_t H5E_CANTCONVERT_g; /* Can't convert datatypes */
H5_DLLVAR hid_t H5E_BADSIZE_g; /* Bad size for object */
-/* Link related errors */
-#define H5E_TRAVERSE (H5OPEN H5E_TRAVERSE_g)
-#define H5E_NLINKS (H5OPEN H5E_NLINKS_g)
-#define H5E_NOTREGISTERED (H5OPEN H5E_NOTREGISTERED_g)
-#define H5E_CANTMOVE (H5OPEN H5E_CANTMOVE_g)
-H5_DLLVAR hid_t H5E_TRAVERSE_g; /* Link traversal failure */
-H5_DLLVAR hid_t H5E_NLINKS_g; /* Too many soft links in path */
-H5_DLLVAR hid_t H5E_NOTREGISTERED_g; /* Link class not registered */
-H5_DLLVAR hid_t H5E_CANTMOVE_g; /* Move callback returned error */
-
-/* Object atom related errors */
-#define H5E_BADATOM (H5OPEN H5E_BADATOM_g)
-#define H5E_BADGROUP (H5OPEN H5E_BADGROUP_g)
-#define H5E_CANTREGISTER (H5OPEN H5E_CANTREGISTER_g)
-#define H5E_CANTINC (H5OPEN H5E_CANTINC_g)
-#define H5E_CANTDEC (H5OPEN H5E_CANTDEC_g)
-#define H5E_NOIDS (H5OPEN H5E_NOIDS_g)
-H5_DLLVAR hid_t H5E_BADATOM_g; /* Unable to find atom information (already closed?) */
-H5_DLLVAR hid_t H5E_BADGROUP_g; /* Unable to find ID group information */
-H5_DLLVAR hid_t H5E_CANTREGISTER_g; /* Unable to register new atom */
-H5_DLLVAR hid_t H5E_CANTINC_g; /* Unable to increment reference count */
-H5_DLLVAR hid_t H5E_CANTDEC_g; /* Unable to decrement reference count */
-H5_DLLVAR hid_t H5E_NOIDS_g; /* Out of IDs for group */
-
-/* Free space errors */
-#define H5E_CANTMERGE (H5OPEN H5E_CANTMERGE_g)
-#define H5E_CANTREVIVE (H5OPEN H5E_CANTREVIVE_g)
-#define H5E_CANTSHRINK (H5OPEN H5E_CANTSHRINK_g)
-H5_DLLVAR hid_t H5E_CANTMERGE_g; /* Can't merge objects */
-H5_DLLVAR hid_t H5E_CANTREVIVE_g; /* Can't revive object */
-H5_DLLVAR hid_t H5E_CANTSHRINK_g; /* Can't shrink container */
-
-/* Generic low-level file I/O errors */
-#define H5E_SEEKERROR (H5OPEN H5E_SEEKERROR_g)
-#define H5E_READERROR (H5OPEN H5E_READERROR_g)
-#define H5E_WRITEERROR (H5OPEN H5E_WRITEERROR_g)
-#define H5E_CLOSEERROR (H5OPEN H5E_CLOSEERROR_g)
-#define H5E_OVERFLOW (H5OPEN H5E_OVERFLOW_g)
-#define H5E_FCNTL (H5OPEN H5E_FCNTL_g)
-H5_DLLVAR hid_t H5E_SEEKERROR_g; /* Seek failed */
-H5_DLLVAR hid_t H5E_READERROR_g; /* Read failed */
-H5_DLLVAR hid_t H5E_WRITEERROR_g; /* Write failed */
-H5_DLLVAR hid_t H5E_CLOSEERROR_g; /* Close failed */
-H5_DLLVAR hid_t H5E_OVERFLOW_g; /* Address overflowed */
-H5_DLLVAR hid_t H5E_FCNTL_g; /* File control (fcntl) failed */
-
-/* Property list errors */
-#define H5E_CANTGET (H5OPEN H5E_CANTGET_g)
-#define H5E_CANTSET (H5OPEN H5E_CANTSET_g)
-#define H5E_DUPCLASS (H5OPEN H5E_DUPCLASS_g)
-H5_DLLVAR hid_t H5E_CANTGET_g; /* Can't get value */
-H5_DLLVAR hid_t H5E_CANTSET_g; /* Can't set value */
-H5_DLLVAR hid_t H5E_DUPCLASS_g; /* Duplicate class name in parent class */
-
-/* Function entry/exit interface errors */
-#define H5E_CANTINIT (H5OPEN H5E_CANTINIT_g)
-#define H5E_ALREADYINIT (H5OPEN H5E_ALREADYINIT_g)
-#define H5E_CANTRELEASE (H5OPEN H5E_CANTRELEASE_g)
-H5_DLLVAR hid_t H5E_CANTINIT_g; /* Unable to initialize object */
-H5_DLLVAR hid_t H5E_ALREADYINIT_g; /* Object already initialized */
-H5_DLLVAR hid_t H5E_CANTRELEASE_g; /* Unable to release object */
-
#endif /* H5Epubgen_H */
diff --git a/src/H5Eterm.h b/src/H5Eterm.h
index 71ef7a2..d4c59af 100644
--- a/src/H5Eterm.h
+++ b/src/H5Eterm.h
@@ -21,39 +21,82 @@
/* Reset major error IDs */
-H5E_DATATYPE_g=
-H5E_PLINE_g=
-H5E_OHDR_g=
+H5E_DATASET_g=
+H5E_FUNC_g=
+H5E_STORAGE_g=
+H5E_FILE_g=
H5E_SYM_g=
-H5E_RESOURCE_g=
-H5E_FSPACE_g=
-H5E_INTERNAL_g=
-H5E_DATASPACE_g=
H5E_VFL_g=
+H5E_INTERNAL_g=
H5E_BTREE_g=
-H5E_IO_g=
-H5E_CACHE_g=
+H5E_REFERENCE_g=
+H5E_DATASPACE_g=
+H5E_RESOURCE_g=
+H5E_PLIST_g=
H5E_LINK_g=
-H5E_ERROR_g=
-H5E_FILE_g=
-H5E_NONE_MAJOR_g=
-H5E_FUNC_g=
+H5E_DATATYPE_g=
+H5E_RS_g=
H5E_HEAP_g=
+H5E_OHDR_g=
+H5E_ATOM_g=
+H5E_ATTR_g=
+H5E_NONE_MAJOR_g=
+H5E_IO_g=
H5E_SLIST_g=
-H5E_RS_g=
-H5E_DATASET_g=
+H5E_EFL_g=
H5E_TST_g=
-H5E_ATTR_g=
-H5E_STORAGE_g=
-H5E_ATOM_g=
-H5E_PLIST_g=
H5E_ARGS_g=
-H5E_REFERENCE_g=
-H5E_EFL_g= (-1);
+H5E_ERROR_g=
+H5E_PLINE_g=
+H5E_FSPACE_g=
+H5E_CACHE_g= (-1);
/* Reset minor error IDs */
+/* Generic low-level file I/O errors */
+H5E_SEEKERROR_g=
+H5E_READERROR_g=
+H5E_WRITEERROR_g=
+H5E_CLOSEERROR_g=
+H5E_OVERFLOW_g=
+H5E_FCNTL_g=
+
+/* Resource errors */
+H5E_NOSPACE_g=
+H5E_CANTALLOC_g=
+H5E_CANTCOPY_g=
+H5E_CANTFREE_g=
+H5E_ALREADYEXISTS_g=
+H5E_CANTLOCK_g=
+H5E_CANTUNLOCK_g=
+H5E_CANTGC_g=
+H5E_CANTGETSIZE_g=
+H5E_OBJOPEN_g=
+
+/* Heap errors */
+H5E_CANTRESTORE_g=
+H5E_CANTCOMPUTE_g=
+H5E_CANTEXTEND_g=
+H5E_CANTATTACH_g=
+H5E_CANTUPDATE_g=
+H5E_CANTOPERATE_g=
+
+/* Function entry/exit interface errors */
+H5E_CANTINIT_g=
+H5E_ALREADYINIT_g=
+H5E_CANTRELEASE_g=
+
+/* Property list errors */
+H5E_CANTGET_g=
+H5E_CANTSET_g=
+H5E_DUPCLASS_g=
+
+/* Free space errors */
+H5E_CANTMERGE_g=
+H5E_CANTREVIVE_g=
+H5E_CANTSHRINK_g=
+
/* Object header related errors */
H5E_LINKCOUNT_g=
H5E_VERSION_g=
@@ -63,23 +106,16 @@ H5E_CANTDELETE_g=
H5E_BADITER_g=
H5E_CANTPACK_g=
-/* Argument errors */
-H5E_UNINITIALIZED_g=
-H5E_UNSUPPORTED_g=
-H5E_BADTYPE_g=
-H5E_BADRANGE_g=
-H5E_BADVALUE_g=
-
/* System level errors */
H5E_SYSERRSTR_g=
-/* Dataspace errors */
-H5E_CANTCLIP_g=
-H5E_CANTCOUNT_g=
-H5E_CANTSELECT_g=
-H5E_CANTNEXT_g=
-H5E_BADSELECT_g=
-H5E_CANTCOMPARE_g=
+/* I/O pipeline errors */
+H5E_NOFILTER_g=
+H5E_CALLBACK_g=
+H5E_CANAPPLY_g=
+H5E_SETLOCAL_g=
+H5E_NOENCODER_g=
+H5E_CANTFILTER_g=
/* Group related errors */
H5E_CANTOPENOBJ_g=
@@ -87,18 +123,27 @@ H5E_CANTCLOSEOBJ_g=
H5E_COMPLEN_g=
H5E_PATH_g=
-/* B-tree related errors */
-H5E_NOTFOUND_g=
-H5E_EXISTS_g=
-H5E_CANTENCODE_g=
-H5E_CANTDECODE_g=
-H5E_CANTSPLIT_g=
-H5E_CANTREDISTRIBUTE_g=
-H5E_CANTSWAP_g=
-H5E_CANTINSERT_g=
-H5E_CANTLIST_g=
-H5E_CANTMODIFY_g=
-H5E_CANTREMOVE_g=
+/* No error */
+H5E_NONE_MINOR_g=
+
+/* File accessability errors */
+H5E_FILEEXISTS_g=
+H5E_FILEOPEN_g=
+H5E_CANTCREATE_g=
+H5E_CANTOPENFILE_g=
+H5E_CANTCLOSEFILE_g=
+H5E_NOTHDF5_g=
+H5E_BADFILE_g=
+H5E_TRUNCATED_g=
+H5E_MOUNT_g=
+
+/* Object atom related errors */
+H5E_BADATOM_g=
+H5E_BADGROUP_g=
+H5E_CANTREGISTER_g=
+H5E_CANTINC_g=
+H5E_CANTDEC_g=
+H5E_NOIDS_g=
/* Cache related errors */
H5E_CANTFLUSH_g=
@@ -118,91 +163,47 @@ H5E_CANTDIRTY_g=
H5E_CANTEXPUNGE_g=
H5E_CANTRESIZE_g=
-/* I/O pipeline errors */
-H5E_NOFILTER_g=
-H5E_CALLBACK_g=
-H5E_CANAPPLY_g=
-H5E_SETLOCAL_g=
-H5E_NOENCODER_g=
-H5E_CANTFILTER_g=
-
-/* Resource errors */
-H5E_NOSPACE_g=
-H5E_CANTALLOC_g=
-H5E_CANTCOPY_g=
-H5E_CANTFREE_g=
-H5E_ALREADYEXISTS_g=
-H5E_CANTLOCK_g=
-H5E_CANTUNLOCK_g=
-H5E_CANTGC_g=
-H5E_CANTGETSIZE_g=
-H5E_OBJOPEN_g=
-
-/* No error */
-H5E_NONE_MINOR_g=
-
-/* Parallel MPI errors */
-H5E_MPI_g=
-H5E_MPIERRSTR_g=
-H5E_CANTRECV_g=
-
-/* File accessability errors */
-H5E_FILEEXISTS_g=
-H5E_FILEOPEN_g=
-H5E_CANTCREATE_g=
-H5E_CANTOPENFILE_g=
-H5E_CANTCLOSEFILE_g=
-H5E_NOTHDF5_g=
-H5E_BADFILE_g=
-H5E_TRUNCATED_g=
-H5E_MOUNT_g=
-
-/* Heap errors */
-H5E_CANTRESTORE_g=
-H5E_CANTCOMPUTE_g=
-H5E_CANTEXTEND_g=
-H5E_CANTATTACH_g=
-H5E_CANTUPDATE_g=
-
-/* Datatype conversion errors */
-H5E_CANTCONVERT_g=
-H5E_BADSIZE_g=
-
/* Link related errors */
H5E_TRAVERSE_g=
H5E_NLINKS_g=
H5E_NOTREGISTERED_g=
H5E_CANTMOVE_g=
-/* Object atom related errors */
-H5E_BADATOM_g=
-H5E_BADGROUP_g=
-H5E_CANTREGISTER_g=
-H5E_CANTINC_g=
-H5E_CANTDEC_g=
-H5E_NOIDS_g=
+/* Parallel MPI errors */
+H5E_MPI_g=
+H5E_MPIERRSTR_g=
+H5E_CANTRECV_g=
-/* Free space errors */
-H5E_CANTMERGE_g=
-H5E_CANTREVIVE_g=
-H5E_CANTSHRINK_g=
+/* Dataspace errors */
+H5E_CANTCLIP_g=
+H5E_CANTCOUNT_g=
+H5E_CANTSELECT_g=
+H5E_CANTNEXT_g=
+H5E_BADSELECT_g=
+H5E_CANTCOMPARE_g=
-/* Generic low-level file I/O errors */
-H5E_SEEKERROR_g=
-H5E_READERROR_g=
-H5E_WRITEERROR_g=
-H5E_CLOSEERROR_g=
-H5E_OVERFLOW_g=
-H5E_FCNTL_g=
+/* Argument errors */
+H5E_UNINITIALIZED_g=
+H5E_UNSUPPORTED_g=
+H5E_BADTYPE_g=
+H5E_BADRANGE_g=
+H5E_BADVALUE_g=
-/* Property list errors */
-H5E_CANTGET_g=
-H5E_CANTSET_g=
-H5E_DUPCLASS_g=
+/* B-tree related errors */
+H5E_NOTFOUND_g=
+H5E_EXISTS_g=
+H5E_CANTENCODE_g=
+H5E_CANTDECODE_g=
+H5E_CANTSPLIT_g=
+H5E_CANTREDISTRIBUTE_g=
+H5E_CANTSWAP_g=
+H5E_CANTINSERT_g=
+H5E_CANTLIST_g=
+H5E_CANTMODIFY_g=
+H5E_CANTREMOVE_g=
-/* Function entry/exit interface errors */
-H5E_CANTINIT_g=
-H5E_ALREADYINIT_g=
-H5E_CANTRELEASE_g= (-1);
+/* Datatype conversion errors */
+H5E_CANTCONVERT_g=
+H5E_BADSIZE_g= (-1);
#endif /* H5Eterm_H */
diff --git a/src/H5HF.c b/src/H5HF.c
index a457f52..338512ae 100644
--- a/src/H5HF.c
+++ b/src/H5HF.c
@@ -83,6 +83,31 @@ H5FL_DEFINE_STATIC(H5HF_t);
/*-------------------------------------------------------------------------
+ * Function: H5HF_op_memcpy
+ *
+ * Purpose: Performs a 'memcpy' operation for a heap 'op' callback
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Sep 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_op_memcpy(const void *obj, size_t obj_len, void *op_data)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_op_memcpy)
+
+ /* Perform memcpy() */
+ HDmemcpy(op_data, obj, obj_len);
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5HF_op_memcpy() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_create
*
* Purpose: Creates a new empty fractal heap in the file.
@@ -496,6 +521,69 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5HF_op
+ *
+ * Purpose: Perform an operation directly on a heap object
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Sept 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_op(H5HF_t *fh, hid_t dxpl_id, const void *_id, H5HF_operator_t op,
+ void *op_data)
+{
+ const uint8_t *id = (const uint8_t *)_id; /* Object ID */
+ uint8_t id_flags; /* Heap ID flag bits */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI(H5HF_op, FAIL)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(fh);
+ HDassert(id);
+ HDassert(op);
+
+ /* Get the ID flags */
+ id_flags = *id;
+
+ /* Check for correct heap ID version */
+ if((id_flags & H5HF_ID_VERS_MASK) != H5HF_ID_VERS_CURR)
+ HGOTO_ERROR(H5E_HEAP, H5E_VERSION, FAIL, "incorrect heap ID version")
+
+ /* Check type of object in heap */
+ if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_MAN) {
+ /* Operate on object from managed heap blocks */
+ if(H5HF_man_op(fh->hdr, dxpl_id, id, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "can't operate on object from fractal heap")
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_HUGE) {
+ /* Operate on 'huge' object from file */
+ if(H5HF_huge_op(fh->hdr, dxpl_id, id, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "can't operate on 'huge' object from fractal heap")
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_TINY) {
+ /* Operate on 'tiny' object from file */
+ if(H5HF_tiny_op(fh->hdr, id, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "can't operate on 'tiny' object from fractal heap")
+ } /* end if */
+ else {
+HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
+HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
+ } /* end else */
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_op() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_remove
*
* Purpose: Remove an object from a fractal heap
diff --git a/src/H5HFhuge.c b/src/H5HFhuge.c
index cc5b824..7675b77 100644
--- a/src/H5HFhuge.c
+++ b/src/H5HFhuge.c
@@ -78,6 +78,8 @@ herr_t H5HF_huge_bt2_filt_dir_remove(const void *nrecord, void *op_data);
/* Local 'huge' object support routines */
static hsize_t H5HF_huge_new_id(H5HF_hdr_t *hdr);
+static herr_t H5HF_huge_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id,
+ const uint8_t *id, hbool_t is_read, H5HF_operator_t op, void *op_data);
/*********************/
/* Package Variables */
@@ -571,9 +573,9 @@ done:
/*-------------------------------------------------------------------------
- * Function: H5HF_huge_read
+ * Function: H5HF_huge_op_real
*
- * Purpose: Read a 'huge' object from the heap
+ * Purpose: Internal routine to perform an operation on a 'huge' object
*
* Return: SUCCEED/FAIL
*
@@ -583,8 +585,9 @@ done:
*
*-------------------------------------------------------------------------
*/
-herr_t
-H5HF_huge_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
+static herr_t
+H5HF_huge_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ hbool_t is_read, H5HF_operator_t op, void *op_data)
{
void *read_buf; /* Pointer to buffer for reading */
haddr_t obj_addr; /* Object's address in the file */
@@ -592,14 +595,14 @@ H5HF_huge_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
unsigned filter_mask = 0; /* Filter mask for object (only used for filtered objects) */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT(H5HF_huge_read)
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_huge_op_real)
/*
* Check arguments.
*/
HDassert(hdr);
HDassert(id);
- HDassert(obj);
+ HDassert(is_read || op);
/* Skip over the flag byte */
id++;
@@ -651,14 +654,15 @@ H5HF_huge_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
} /* end else */
/* Set up buffer for reading */
- if(hdr->filter_len > 0) {
+ if(hdr->filter_len > 0 || !is_read) {
if(NULL == (read_buf = H5MM_malloc((size_t)obj_size)))
HGOTO_ERROR(H5E_HEAP, H5E_NOSPACE, FAIL, "memory allocation failed for pipeline buffer")
} /* end if */
else
- read_buf = obj;
+ read_buf = op_data;
/* Read the object's (possibly filtered) data from the file */
+ /* (reads directly into application's buffer if no filters are present) */
if(H5F_block_read(hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, obj_addr, (size_t)obj_size, dxpl_id, read_buf) < 0)
HGOTO_ERROR(H5E_HEAP, H5E_READERROR, FAIL, "can't read 'huge' object's data from the file")
@@ -672,20 +676,110 @@ H5HF_huge_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
read_size = nbytes = obj_size;
if(H5Z_pipeline(&(hdr->pline), H5Z_FLAG_REVERSE, &filter_mask, H5Z_NO_EDC, filter_cb, &nbytes, &read_size, &read_buf) < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTFILTER, FAIL, "input filter failed")
+ obj_size = nbytes;
+ } /* end if */
- /* Copy object to user's buffer */
- HDmemcpy(obj, read_buf, nbytes);
+ /* Perform correct operation on buffer read in */
+ if(is_read) {
+ /* Copy object to user's buffer if there's filters on heap data */
+ /* (if there's no filters, the object was read directly into the user's buffer) */
+ if(hdr->filter_len > 0)
+ HDmemcpy(op_data, read_buf, (size_t)obj_size);
+ } /* end if */
+ else {
+ /* Call the user's 'op' callback */
+ if(op(read_buf, (size_t)obj_size, op_data) < 0) {
+ /* Release buffer */
+ H5MM_xfree(read_buf);
- /* Release read buffer */
- H5MM_xfree(read_buf);
+ /* Indicate error */
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "application's callback failed")
+ } /* end if */
} /* end if */
+ /* Release the buffer for reading */
+ if(hdr->filter_len > 0 || !is_read)
+ H5MM_xfree(read_buf);
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_huge_op_real() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5HF_huge_read
+ *
+ * Purpose: Read a 'huge' object from the heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@ncsa.uiuc.edu
+ * Sept 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_huge_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_huge_read)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(obj);
+
+ /* Call the internal 'op' routine */
+ if(H5HF_huge_op_real(hdr, dxpl_id, id, TRUE, NULL, obj) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5HF_huge_read() */
/*-------------------------------------------------------------------------
+ * Function: H5HF_huge_op
+ *
+ * Purpose: Operate directly on a 'huge' object
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@ncsa.uiuc.edu
+ * Sept 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_huge_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ H5HF_operator_t op, void *op_data)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_huge_op)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(op);
+
+ /* Call the internal 'op' routine routine */
+ if(H5HF_huge_op_real(hdr, dxpl_id, id, FALSE, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_huge_op() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_huge_remove
*
* Purpose: Remove a 'huge' object from the file and the v2 B-tree tracker
diff --git a/src/H5HFman.c b/src/H5HFman.c
index 8f0febe..142bd44 100644
--- a/src/H5HFman.c
+++ b/src/H5HFman.c
@@ -57,7 +57,8 @@
/********************/
/* Local Prototypes */
/********************/
-
+static herr_t H5HF_man_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id,
+ const uint8_t *id, H5HF_operator_t op, void *op_data);
/*********************/
/* Package Variables */
@@ -228,9 +229,10 @@ done:
/*-------------------------------------------------------------------------
- * Function: H5HF_man_read
+ * Function: H5HF_man_op_real
*
- * Purpose: Read an object from a managed heap
+ * Purpose: Internal routine to perform an operation on a managed heap
+ * object
*
* Return: SUCCEED/FAIL
*
@@ -240,8 +242,9 @@ done:
*
*-------------------------------------------------------------------------
*/
-herr_t
-H5HF_man_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
+static herr_t
+H5HF_man_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ H5HF_operator_t op, void *op_data)
{
H5HF_direct_t *dblock; /* Pointer to direct block to query */
hsize_t obj_off; /* Object's offset in heap */
@@ -252,14 +255,14 @@ H5HF_man_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
size_t dblock_size; /* Direct block size */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT(H5HF_man_read)
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_man_op_real)
/*
* Check arguments.
*/
HDassert(hdr);
HDassert(id);
- HDassert(obj);
+ HDassert(op);
/* Skip over the flag byte */
id++;
@@ -354,8 +357,14 @@ HDfprintf(stderr, "%s: dblock_addr = %a, dblock_size = %Zu\n", FUNC, dblock_addr
/* Point to location for object */
p = dblock->blk + blk_off;
- /* Copy the object's data into the heap */
- HDmemcpy(obj, p, obj_len);
+ /* Call the user's 'op' callback */
+ if(op(p, obj_len, op_data) < 0) {
+ /* Release direct block */
+ if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_FHEAP_DBLOCK, dblock_addr, dblock, H5AC__NO_FLAGS_SET) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTUNPROTECT, FAIL, "unable to release fractal heap direct block")
+
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "application's callback failed")
+ } /* end if */
/* Unlock direct block */
if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_FHEAP_DBLOCK, dblock_addr, dblock, H5AC__NO_FLAGS_SET) < 0)
@@ -364,10 +373,83 @@ HDfprintf(stderr, "%s: dblock_addr = %a, dblock_size = %Zu\n", FUNC, dblock_addr
done:
FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_man_op_real() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5HF_man_read
+ *
+ * Purpose: Read an object from a managed heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@ncsa.uiuc.edu
+ * Mar 17 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_man_read(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, void *obj)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_man_read)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(obj);
+
+ /* Call the internal 'op' routine routine */
+ if(H5HF_man_op_real(hdr, dxpl_id, id, H5HF_op_memcpy, obj) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* end H5HF_man_read() */
/*-------------------------------------------------------------------------
+ * Function: H5HF_man_op
+ *
+ * Purpose: Operate directly on an object from a managed heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@ncsa.uiuc.edu
+ * Sept 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_man_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ H5HF_operator_t op, void *op_data)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_man_op)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(op);
+
+ /* Call the internal 'op' routine routine */
+ if(H5HF_man_op_real(hdr, dxpl_id, id, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_man_op() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_man_remove
*
* Purpose: Remove an object from a managed heap
diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h
index aaa9b52..75e23d0 100644
--- a/src/H5HFpkg.h
+++ b/src/H5HFpkg.h
@@ -619,6 +619,8 @@ H5_DLL herr_t H5HF_man_insert(H5HF_hdr_t *fh, hid_t dxpl_id, size_t obj_size,
const void *obj, void *id);
H5_DLL herr_t H5HF_man_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id,
void *obj);
+H5_DLL herr_t H5HF_man_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ H5HF_operator_t op, void *op_data);
H5_DLL herr_t H5HF_man_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id);
/* 'Huge' object routines */
@@ -629,6 +631,8 @@ H5_DLL herr_t H5HF_huge_get_obj_len(H5HF_hdr_t *hdr, hid_t dxpl_id,
const uint8_t *id, size_t *obj_len_p);
H5_DLL herr_t H5HF_huge_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id,
void *obj);
+H5_DLL herr_t H5HF_huge_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ H5HF_operator_t op, void *op_data);
H5_DLL herr_t H5HF_huge_remove(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id);
H5_DLL herr_t H5HF_huge_term(H5HF_hdr_t *hdr, hid_t dxpl_id);
H5_DLL herr_t H5HF_huge_delete(H5HF_hdr_t *hdr, hid_t dxpl_id);
@@ -640,6 +644,8 @@ H5_DLL herr_t H5HF_tiny_insert(H5HF_hdr_t *hdr, size_t obj_size, const void *obj
H5_DLL herr_t H5HF_tiny_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id,
size_t *obj_len_p);
H5_DLL herr_t H5HF_tiny_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj);
+H5_DLL herr_t H5HF_tiny_op(H5HF_hdr_t *hdr, const uint8_t *id,
+ H5HF_operator_t op, void *op_data);
H5_DLL herr_t H5HF_tiny_remove(H5HF_hdr_t *fh, const uint8_t *id);
/* Metadata cache callbacks */
@@ -703,6 +709,9 @@ H5_DLL H5HF_indirect_t *H5HF_sect_row_get_iblock(H5HF_free_section_t *sect);
H5_DLL herr_t H5HF_sect_indirect_add(H5HF_hdr_t *hdr, hid_t dxpl_id,
H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries);
+/* Internal operator callbacks */
+H5_DLL herr_t H5HF_op_memcpy(const void *obj, size_t obj_len, void *op_data);
+
/* Testing routines */
#ifdef H5HF_TESTING
H5_DLL herr_t H5HF_get_cparam_test(const H5HF_t *fh, H5HF_create_t *cparam);
diff --git a/src/H5HFprivate.h b/src/H5HFprivate.h
index 5e25a58f..c762eca 100644
--- a/src/H5HFprivate.h
+++ b/src/H5HFprivate.h
@@ -93,6 +93,10 @@ typedef struct H5HF_stat_t {
/* Fractal heap info (forward decl - defined in H5HFpkg.h) */
typedef struct H5HF_t H5HF_t;
+/* Typedef for 'op' operations */
+typedef herr_t (*H5HF_operator_t)(const void *obj/*in*/, size_t obj_len,
+ void *op_data/*in,out*/);
+
/*****************************/
/* Library-private Variables */
@@ -111,6 +115,8 @@ H5_DLL herr_t H5HF_get_obj_len(H5HF_t *fh, hid_t dxpl_id, const void *id,
size_t *obj_len_p/*out*/);
H5_DLL herr_t H5HF_read(H5HF_t *fh, hid_t dxpl_id, const void *id,
void *obj/*out*/);
+H5_DLL herr_t H5HF_op(H5HF_t *fh, hid_t dxpl_id, const void *_id,
+ H5HF_operator_t op, void *op_data);
H5_DLL herr_t H5HF_remove(H5HF_t *fh, hid_t dxpl_id, const void *id);
H5_DLL herr_t H5HF_close(H5HF_t *fh, hid_t dxpl_id);
H5_DLL herr_t H5HF_delete(H5F_t *f, hid_t dxpl_id, haddr_t fh_addr);
diff --git a/src/H5HFtiny.c b/src/H5HFtiny.c
index bcbe0eb..e1ce68c 100644
--- a/src/H5HFtiny.c
+++ b/src/H5HFtiny.c
@@ -63,6 +63,8 @@
/********************/
/* Local Prototypes */
/********************/
+static herr_t H5HF_tiny_op_real(H5HF_hdr_t *hdr, const uint8_t *id,
+ H5HF_operator_t op, void *op_data);
/*********************/
@@ -233,31 +235,33 @@ H5HF_tiny_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
/*-------------------------------------------------------------------------
- * Function: H5HF_tiny_read
+ * Function: H5HF_tiny_op_real
*
- * Purpose: Read a 'tiny' object from the heap
+ * Purpose: Internal routine to perform operation on 'tiny' object
*
* Return: SUCCEED/FAIL
*
* Programmer: Quincey Koziol
* koziol@hdfgroup.org
- * Aug 8 2006
+ * Sep 11 2006
*
*-------------------------------------------------------------------------
*/
-herr_t
-H5HF_tiny_read(H5HF_hdr_t *hdr, const uint8_t *id, void *obj)
+static herr_t
+H5HF_tiny_op_real(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op,
+ void *op_data)
{
- size_t enc_obj_size; /* Encoded object size */
+ size_t enc_obj_size; /* Encoded object size */
+ herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_tiny_read)
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_tiny_op_real)
/*
* Check arguments.
*/
HDassert(hdr);
HDassert(id);
- HDassert(obj);
+ HDassert(op);
/* Check if 'tiny' object ID is in extended form */
if(!hdr->tiny_len_extended) {
@@ -281,14 +285,89 @@ H5HF_tiny_read(H5HF_hdr_t *hdr, const uint8_t *id, void *obj)
id++; id++;
} /* end else */
- /* Retrieve the object's data */
- HDmemcpy(obj, id, (enc_obj_size + 1));
+ /* Call the user's 'op' callback */
+ if(op(id, (enc_obj_size + 1), op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "application's callback failed")
+done:
FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5HF_tiny_op_real() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5HF_tiny_read
+ *
+ * Purpose: Read a 'tiny' object from the heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Aug 8 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_tiny_read(H5HF_hdr_t *hdr, const uint8_t *id, void *obj)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_tiny_read)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(obj);
+
+ /* Call the internal 'op' routine */
+ if(H5HF_tiny_op_real(hdr, id, H5HF_op_memcpy, obj) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
} /* end H5HF_tiny_read() */
/*-------------------------------------------------------------------------
+ * Function: H5HF_tiny_op
+ *
+ * Purpose: Operate directly on a 'tiny' object
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@ncsa.uiuc.edu
+ * Sept 11 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_tiny_op(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op,
+ void *op_data)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT(H5HF_tiny_op)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(op);
+
+ /* Call the internal 'op' routine routine */
+ if(H5HF_tiny_op_real(hdr, id, op, op_data) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPERATE, FAIL, "unable to operate on heap object")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_tiny_op() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_tiny_remove
*
* Purpose: Remove a 'tiny' object from the heap statistics
diff --git a/src/H5err.txt b/src/H5err.txt
index a30717c..3345251 100644
--- a/src/H5err.txt
+++ b/src/H5err.txt
@@ -230,6 +230,7 @@ MINOR, HEAP, H5E_CANTCOMPUTE, Can't compute value
MINOR, HEAP, H5E_CANTEXTEND, Can't extend heap's space
MINOR, HEAP, H5E_CANTATTACH, Can't attach object
MINOR, HEAP, H5E_CANTUPDATE, Can't update object
+MINOR, HEAP, H5E_CANTOPERATE, Can't operate on object
# Free space manager errors
MINOR, FSPACE, H5E_CANTMERGE, Can't merge objects
diff --git a/test/fheap.c b/test/fheap.c
index eafcc5c..637513e 100644
--- a/test/fheap.c
+++ b/test/fheap.c
@@ -295,6 +295,30 @@ error:
/*-------------------------------------------------------------------------
+ * Function: op_memcpy
+ *
+ * Purpose: Perform 'memcpy' for an object
+ *
+ * Return: Success: 0
+ *
+ * Failure: 1
+ *
+ * Programmer: Quincey Koziol
+ * Monday, September 11, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+op_memcpy(const void *obj, size_t obj_len, void *op_data)
+{
+ /* Make copy of the object */
+ HDmemcpy(op_data, obj, obj_len);
+
+ return(SUCCEED);
+} /* op_memcpy() */
+
+
+/*-------------------------------------------------------------------------
* Function: add_obj
*
* Purpose: Add an object to heap
@@ -13512,6 +13536,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on first huge object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert second object too large for managed heap blocks */
obj_size = SMALL_STAND_SIZE + 2;
if(H5HF_insert(fh, dxpl, obj_size, shared_wobj_g, heap_id2) < 0)
@@ -13542,6 +13573,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on second huge object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id2, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert third object too large for managed heap blocks */
obj_size = SMALL_STAND_SIZE + 3;
if(H5HF_insert(fh, dxpl, obj_size, shared_wobj_g, heap_id3) < 0)
@@ -13572,6 +13610,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on third huge object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id3, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert fourth object small enough to fit into 'normal' heap blocks */
obj_size = DBLOCK_SIZE(fh, 0) + 1;
if(H5HF_insert(fh, dxpl, obj_size, shared_wobj_g, heap_id4) < 0)
@@ -13609,6 +13654,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on fourth ('normal') object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id4, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert fifth object small enough to fit into 'normal' heap blocks */
obj_size = DBLOCK_SIZE(fh, 3) + 1;
if(H5HF_insert(fh, dxpl, obj_size, shared_wobj_g, heap_id5) < 0)
@@ -13647,6 +13699,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on fifth ('normal') object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id5, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert sixth object small enough to encode in heap ID */
obj_size = tparam->actual_id_len - 2;
@@ -13678,6 +13737,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on sixth ('tiny') object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id6, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Insert seventh object small enough to encode in heap ID */
obj_size = tparam->actual_id_len - 2;
if(H5HF_insert(fh, dxpl, obj_size, shared_wobj_g, heap_id7) < 0)
@@ -13708,6 +13774,13 @@ test_tiny_insert_mix(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpar
if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
TEST_ERROR
+ /* Check 'op' functionality on seventh ('tiny') object */
+ HDmemset(shared_robj_g, 0, obj_size);
+ if(H5HF_op(fh, dxpl, heap_id7, op_memcpy, shared_robj_g) < 0)
+ FAIL_STACK_ERROR
+ if(HDmemcmp(shared_wobj_g, shared_robj_g, obj_size))
+ TEST_ERROR
+
/* Delete individual objects, if we won't be deleting the entire heap later */
if(tparam->del_dir != FHEAP_DEL_HEAP) {
if(tparam->del_dir == FHEAP_DEL_FORWARD) {