summaryrefslogtreecommitdiffstats
path: root/src/H5SMpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-01-06 20:54:19 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-01-06 20:54:19 (GMT)
commit327ea3a76678ed2f92b0eb72df36c1d02651c2be (patch)
tree14b77bf71608596fc45fea60445e7d4c1559a247 /src/H5SMpkg.h
parentd6c27d4b4d82d794e860770f5903e84511596d19 (diff)
downloadhdf5-327ea3a76678ed2f92b0eb72df36c1d02651c2be.zip
hdf5-327ea3a76678ed2f92b0eb72df36c1d02651c2be.tar.gz
hdf5-327ea3a76678ed2f92b0eb72df36c1d02651c2be.tar.bz2
[svn-r13116] Description:
Add support for deleting all the attributes on an object, when they are dense and possibly shared. Also, add some testing routines, for better error detection. Should fix daily test failures also... Tested on: FreeBSD/32 6.1 (duty)
Diffstat (limited to 'src/H5SMpkg.h')
-rwxr-xr-xsrc/H5SMpkg.h40
1 files changed, 21 insertions, 19 deletions
diff --git a/src/H5SMpkg.h b/src/H5SMpkg.h
index 760f6a2..1f790fe 100755
--- a/src/H5SMpkg.h
+++ b/src/H5SMpkg.h
@@ -97,36 +97,36 @@
/* Typedef for a SOHM index node */
typedef struct {
- uint32_t hash; /* Hash value for OHM */
- H5SM_fheap_id_t fheap_id; /* ID of the OHM in the fractal heap */
- hsize_t ref_count; /* Number of times this message is used */
+ uint32_t hash; /* Hash value for OHM */
+ H5SM_fheap_id_t fheap_id; /* ID of the OHM in the fractal heap */
+ hsize_t ref_count; /* Number of times this message is used */
} H5SM_sohm_t;
typedef enum {
- H5SM_BADTYPE = -1,
- H5SM_LIST, /* Index is an unsorted list */
- H5SM_BTREE /* Index is a sorted B-tree */
+ H5SM_BADTYPE = -1,
+ H5SM_LIST, /* Index is an unsorted list */
+ H5SM_BTREE /* Index is a sorted B-tree */
} H5SM_index_type_t;
/* Typedef for searching an index (list or B-tree) */
typedef struct {
- uint32_t hash; /* The hash value for this message */
- const void *encoding; /* The message encoded */
- size_t encoding_size; /* Size of the encoding */
- H5HF_t *fheap; /* The heap for this message type, open. */
- H5SM_fheap_id_t mesg_heap_id; /* The heap_id for this message */
+ uint32_t hash; /* The hash value for this message */
+ const void *encoding; /* The message encoded */
+ size_t encoding_size; /* Size of the encoding */
+ H5HF_t *fheap; /* The heap for this message type, open. */
+ H5SM_fheap_id_t mesg_heap_id; /* The heap_id for this message */
} H5SM_mesg_key_t;
/* Typedef for a SOHM index header */
typedef struct {
- unsigned mesg_types; /* Bit flag vector of message types */
- size_t min_mesg_size; /* number of messages being tracked */
- size_t list_max; /* >= this many messages, index with a B-tree */
- size_t btree_min; /* <= this many messages, index with a list again */
- size_t num_messages; /* number of messages being tracked */
- H5SM_index_type_t index_type; /* Is the index a list or a B-tree? */
- haddr_t index_addr; /* Address of the actual index (list or B-tree) */
- haddr_t heap_addr; /* Address of the fheap used to store shared messages */
+ unsigned mesg_types; /* Bit flag vector of message types */
+ size_t min_mesg_size; /* number of messages being tracked */
+ size_t list_max; /* >= this many messages, index with a B-tree */
+ size_t btree_min; /* <= this many messages, index with a list again */
+ size_t num_messages; /* number of messages being tracked */
+ H5SM_index_type_t index_type; /* Is the index a list or a B-tree? */
+ haddr_t index_addr; /* Address of the actual index (list or B-tree) */
+ haddr_t heap_addr; /* Address of the fheap used to store shared messages */
} H5SM_index_header_t;
/* Typedef for a SOHM list */
@@ -209,6 +209,8 @@ H5_DLL herr_t H5SM_get_hash_fh_cb(const void *obj, size_t obj_len, void *_udata)
#ifdef H5SM_TESTING
H5_DLL herr_t H5SM_get_refcount_test(H5F_t *f, hid_t dxpl_id, unsigned type_id,
const H5O_shared_t *sh_mesg, hsize_t *ref_count);
+H5_DLL herr_t H5SM_get_mesg_count_test(H5F_t *f, hid_t dxpl_id, unsigned type_id,
+ size_t *mesg_count);
#endif /* H5SM_TESTING */
#endif /* _H5SMpkg_H */