summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2007-02-06 18:21:39 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2007-02-06 18:21:39 (GMT)
commit9e390cc1d94864b678ac9013793b157ce4d200f7 (patch)
tree7671ea1af51c76505714f4ac7d3e37bb2b9b46fc /src/H5Oprivate.h
parent571523db1ffab60b505a0f66d3f7c25f4d1752d7 (diff)
downloadhdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.zip
hdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.tar.gz
hdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.tar.bz2
[svn-r13245] Added "superblock extension" object header to hold shared object header
information, rather than storing it directly in the superblock. This should make future updates to the superblock much less painful. Tested on Windows, kagiso, and smirom.
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r--src/H5Oprivate.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index 4a9dc95..a3df7fb 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -69,6 +69,8 @@ typedef struct H5O_t H5O_t;
#define H5O_MSG_FLAG_CONSTANT 0x01u
#define H5O_MSG_FLAG_SHARED 0x02u
#define H5O_MSG_FLAG_DONTSHARE 0x04u
+#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN 0x08u
+#define H5O_MSG_FLAG_CURRENT 0x10u
#define H5O_MSG_FLAG_BITS (H5O_MSG_FLAG_CONSTANT|H5O_MSG_FLAG_SHARED|H5O_MSG_FLAG_DONTSHARE)
/* Flags for updating messages */
@@ -132,6 +134,7 @@ typedef struct H5O_copy_t {
#define H5O_CONT_ID 0x0010 /* Object header continuation message. */
#define H5O_STAB_ID 0x0011 /* Symbol table message. */
#define H5O_MTIME_NEW_ID 0x0012 /* Modification time message. (New) */
+#define H5O_SHMESG_ID 0x0013 /* Shared message "SOHM" table. */
/* Shared object message flags.
@@ -369,6 +372,18 @@ typedef struct H5O_stab_t {
haddr_t heap_addr; /*address of name heap */
} H5O_stab_t;
+/*
+ * Shared message table message
+ * Information about file-wide shared message table, stored in superblock
+ * extension
+ * (Data structure in memory)
+ */
+typedef struct H5O_shmesg_table_t {
+ haddr_t addr; /*file address of SOHM table */
+ unsigned version; /*SOHM table version number */
+ unsigned nindexes; /*number of indexes in the table */
+} H5O_shmesg_table_t;
+
/* Typedef for iteration operations */
typedef herr_t (*H5O_operator_t)(const void *mesg/*in*/, unsigned idx,
void *operator_data/*in,out*/);