summaryrefslogtreecommitdiffstats
path: root/src/H5Opublic.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-03-04 04:28:09 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-03-04 04:28:09 (GMT)
commit44f312b183305cf37295595bfd3f5df40fc637be (patch)
tree4d2fe91e2e756fc157d99047a10ea2ce2e755b2f /src/H5Opublic.h
parentcaa6d5dabc47494efd9930c2c1f043e357347328 (diff)
downloadhdf5-44f312b183305cf37295595bfd3f5df40fc637be.zip
hdf5-44f312b183305cf37295595bfd3f5df40fc637be.tar.gz
hdf5-44f312b183305cf37295595bfd3f5df40fc637be.tar.bz2
[svn-r13449] Description:
Add object creation property (H5P[s|g]et_obj_track_times) to disable storing timestamps on objects, which makes the object's header size smaller. Also, added object header status flags to H5O_info_t struct (for H5Oget_info/H5Oget_info_by_idx) and cleaned up other field names in the struct as well. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
Diffstat (limited to 'src/H5Opublic.h')
-rw-r--r--src/H5Opublic.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/H5Opublic.h b/src/H5Opublic.h
index 6395eec..0e64a93 100644
--- a/src/H5Opublic.h
+++ b/src/H5Opublic.h
@@ -48,7 +48,7 @@
/* Flags for shared message indexes.
* Pass these flags in using the mesg_type_flags parameter in
* H5P_set_shared_mesg_index.
- * (Developers: These flags correspond to object header message type_ids,
+ * (Developers: These flags correspond to object header message type IDs,
* but we need to assign each kind of message to a different bit so that
* one index can hold multiple types.)
*/
@@ -60,6 +60,11 @@
#define H5O_MESG_ATTR_FLAG 0x0010 /* Attribute Message. */
#define H5O_MESG_ALL_FLAG (H5O_MESG_SDSPACE_FLAG | H5O_MESG_DTYPE_FLAG | H5O_MESG_FILL_FLAG | H5O_MESG_PLINE_FLAG | H5O_MESG_ATTR_FLAG)
+/* Object header status flag definitions */
+#define H5O_HDR_ATTR_CRT_ORDER_TRACKED 0x01 /* Attribute creation order is tracked */
+#define H5O_HDR_ATTR_CRT_ORDER_INDEXED 0x02 /* Attribute creation order has index */
+#define H5O_HDR_STORE_TIMES 0x04 /* Store access, modification, change & birth times for object */
+
/* Maximum shared message values. Number of indexes is 8 to allow room to add
* new types of messages.
*/
@@ -100,12 +105,17 @@ typedef struct H5O_info_t {
unsigned version; /* Version number of header format in file */
unsigned nmesgs; /* Number of object header messages */
unsigned nchunks; /* Number of object header chunks */
- hsize_t hdr_size; /* Total size of object header in file */
- hsize_t meta_space; /* Space within header for object header metadata information */
- hsize_t mesg_space; /* Space within header for actual message information */
- hsize_t free_space; /* Free space within object header */
- uint64_t msg_present; /* Flags to indicate presence of message type in header */
- uint64_t msg_shared; /* Flags to indicate message type is shared in header */
+ unsigned flags; /* Object header status flags */
+ struct {
+ hsize_t total; /* Total space for storing object header in file */
+ hsize_t meta; /* Space within header for object header metadata information */
+ hsize_t mesg; /* Space within header for actual message information */
+ hsize_t free; /* Free space within object header */
+ } space;
+ struct {
+ uint64_t present; /* Flags to indicate presence of message type in header */
+ uint64_t shared; /* Flags to indicate message type is shared in header */
+ } mesg;
} hdr;
hsize_t meta_size; /* Size of additional metadata for an object */
/* (B-tree & heap for groups, B-tree for chunked dataset, etc.) */