diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
commit | fb947c34b142578774d5bb657c0b3e2a9b4781c7 (patch) | |
tree | c695cac8789bbe5fc92a5324e3027856bf3858bc /src/H5Oprivate.h | |
parent | 326981f421b993815657daecc8b37bd732513d82 (diff) | |
download | hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.zip hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.gz hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.bz2 |
[svn-r25] ./src/H5AC.c
We sort the cache before a complete flush because it might be
more efficient to write things back to disk in order of
increasing address. If you want the old way then undef the
SORT_BY_ADDR constant at the top of H5AC.c I haven't
determined which systems and I/O libraries this helps or
hurts. (This is currently off because of a bug I need to track
down that causes qsort() to run for a really long time).
./src/H5B.c
Fixed a couple more bugs.
./src/H5Eprivate.h
./src/H5Eproto.h
Added major H5E_DIRECTORY and minor H5E_EXISTS, H5E_COMPLEN.
./src/H5G.c
Added directory-aware functions.
The heap and B-tree are created when a directory is created
instead of when the first symbol is added. This simplifies
symbol table entry caching for the directory since the cached
value never changes now.
./src/H5Gnode.c
./src/H5Gprivate.h
Fine tuned the B-tree K values for symbol tables assuming an
average number of symbols is about 100 per directory. The
tuning minimizes storage space.
Fixed a return value in H5G_node_cmp().
./src/H5H.c
./src/H5Hprivate.h
Moved some macros the the header file.
./src/H5O.c
./src/H5Ocont.c
./src/H5Onull.c
./src/H5Ostab.c
Changed the arguments for the decode method for messages. The
second argument is the raw message size.
Added a class variable for native message size.
Added H5O_reset() to free memory used internally by a message.
./src/H5Oname.c NEW
./src/H5Oprivate.h
./src/Makefile
The object name message.
./src/hdf5port.h
Added defn for HDstrdup()
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 40d4a36..f56146c 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -41,13 +41,14 @@ typedef struct H5O_class_t { intn id; /*message type ID on disk */ const char *name; /*message name for debugging */ - void *(*decode)(hdf5_file_t*,const uint8*); /*decode mesg */ + size_t native_size; /*size of native message */ + void *(*decode)(hdf5_file_t*,size_t,const uint8*); herr_t (*encode)(hdf5_file_t*,size_t,uint8*,const void*); - void *(*fast)(const H5G_entry_t*, void*); /*get from stab ent */ + void *(*fast)(const H5G_entry_t*, void*); /*get from stab ent*/ hbool_t (*cache)(H5G_entry_t*,const void*); /*put into entry */ void *(*copy)(const void*,void*); /*copy native value */ - size_t (*size)(hdf5_file_t*,const void*); /*size of raw value */ - void *(*free)(void*); /*free native data struct */ + size_t (*raw_size)(hdf5_file_t*,const void*); /*sizeof raw val */ + herr_t (*reset)(void*); /*free nested data structures */ herr_t (*debug)(hdf5_file_t*,const void*, FILE*, intn, intn); } H5O_class_t; @@ -87,6 +88,16 @@ typedef struct H5O_t { extern const H5O_class_t H5O_NULL[1]; /* + * Object name message. + */ +#define H5O_NAME_ID 0x000d +extern const H5O_class_t H5O_NAME[1]; + +typedef struct H5O_name_t { + char *s; /*ptr to malloc'd memory */ +} H5O_name_t; + +/* * Object header continuation message. */ #define H5O_CONT_ID 0x0010 @@ -121,6 +132,7 @@ const void *H5O_peek (hdf5_file_t *f, haddr_t addr, const H5O_class_t *type, intn H5O_modify (hdf5_file_t *f, haddr_t addr, H5G_entry_t *ent, hbool_t *ent_modified, const H5O_class_t *type, intn overwrite, const void *mesg); +herr_t H5O_reset (const H5O_class_t *type, void *native); herr_t H5O_debug (hdf5_file_t *f, haddr_t addr, FILE *stream, intn indent, intn fwidth); |