summaryrefslogtreecommitdiffstats
path: root/src/H5Opublic.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-07-22 17:02:26 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-07-22 17:02:26 (GMT)
commit3e48f9be0067b9df317d000aa83e6ad8ed6f583a (patch)
tree2f3fc77453c39d8c9daf28152547570e5a6aa69a /src/H5Opublic.h
parent06763537dabab2043d7df4cf05ed21f7d01977c0 (diff)
downloadhdf5-3e48f9be0067b9df317d000aa83e6ad8ed6f583a.zip
hdf5-3e48f9be0067b9df317d000aa83e6ad8ed6f583a.tar.gz
hdf5-3e48f9be0067b9df317d000aa83e6ad8ed6f583a.tar.bz2
[svn-r19122] Description:
Bring metadata journaling branch closer to trunk by bringing back updates to internal error reporting macros, routines that deal with writing object header messages to the superblock extension, and some object header query routines. Also cleanups to journaling code & tests to use this code and to clean up in general. Tested on: Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode (h5committest not required on this branch)
Diffstat (limited to 'src/H5Opublic.h')
-rw-r--r--src/H5Opublic.h35
1 files changed, 19 insertions, 16 deletions
diff --git a/src/H5Opublic.h b/src/H5Opublic.h
index ddf1a93..84fdecc 100644
--- a/src/H5Opublic.h
+++ b/src/H5Opublic.h
@@ -87,6 +87,24 @@ typedef enum H5O_type_t {
H5O_TYPE_NTYPES /* Number of different object types (must be last!) */
} H5O_type_t;
+/* Information struct for object header metadata (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx) */
+typedef struct H5O_hdr_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 */
+ 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;
+} H5O_hdr_info_t;
+
/* Information struct for object (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx) */
typedef struct H5O_info_t {
unsigned long fileno; /* File number that object is located in */
@@ -98,22 +116,7 @@ typedef struct H5O_info_t {
time_t ctime; /* Change time */
time_t btime; /* Birth time */
hsize_t num_attrs; /* # of attributes attached to object */
- struct {
- unsigned version; /* Version number of header format in file */
- unsigned nmesgs; /* Number of object header messages */
- unsigned nchunks; /* Number of object header chunks */
- 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;
+ H5O_hdr_info_t hdr; /* Object header information */
/* Extra metadata storage for obj & attributes */
struct {
H5_ih_info_t obj; /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */