summaryrefslogtreecommitdiffstats
path: root/src/H5Ostab.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1997-08-12 22:44:46 (GMT)
committerRobb Matzke <matzke@llnl.gov>1997-08-12 22:44:46 (GMT)
commitfb947c34b142578774d5bb657c0b3e2a9b4781c7 (patch)
treec695cac8789bbe5fc92a5324e3027856bf3858bc /src/H5Ostab.c
parent326981f421b993815657daecc8b37bd732513d82 (diff)
downloadhdf5-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/H5Ostab.c')
-rw-r--r--src/H5Ostab.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/H5Ostab.c b/src/H5Ostab.c
index d2c1394..926eeef 100644
--- a/src/H5Ostab.c
+++ b/src/H5Ostab.c
@@ -26,7 +26,7 @@
#define PABLO_MASK H5O_stab_mask
/* PRIVATE PROTOTYPES */
-static void *H5O_stab_decode (hdf5_file_t *f, const uint8 *p);
+static void *H5O_stab_decode (hdf5_file_t *f, size_t raw_size, const uint8 *p);
static herr_t H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p,
const void *_mesg);
static void *H5O_stab_fast (const H5G_entry_t *ent, void *_mesg);
@@ -40,18 +40,19 @@ static herr_t H5O_stab_debug (hdf5_file_t *f, const void *_mesg,
const H5O_class_t H5O_STAB[1] = {{
H5O_STAB_ID, /*message id number */
"stab", /*message name for debugging */
+ sizeof (H5O_stab_t), /*native message size */
H5O_stab_decode, /*decode message */
H5O_stab_encode, /*encode message */
H5O_stab_fast, /*get message from stab entry */
H5O_stab_cache, /*put message into stab entry */
H5O_stab_copy, /*copy the native value */
H5O_stab_size, /*size of symbol table entry */
- NULL, /*default free method */
+ NULL, /*default reset method */
H5O_stab_debug, /*debug the message */
}};
/* Is the interface initialized? */
-static intn interface_initialize_g = FALSE;
+static hbool_t interface_initialize_g = FALSE;
/*-------------------------------------------------------------------------
@@ -73,7 +74,7 @@ static intn interface_initialize_g = FALSE;
*-------------------------------------------------------------------------
*/
static void *
-H5O_stab_decode (hdf5_file_t *f, const uint8 *p)
+H5O_stab_decode (hdf5_file_t *f, size_t raw_size, const uint8 *p)
{
H5O_stab_t *stab;
@@ -81,6 +82,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p)
/* check args */
assert (f);
+ assert (raw_size == 2*H5F_SIZEOF_OFFSET(f));
assert (p);
/* decode */
@@ -95,7 +97,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p)
/*-------------------------------------------------------------------------
* Function: H5O_stab_encode
*
- * Purpose: Encodes a symbol table entry.
+ * Purpose: Encodes a symbol table message.
*
* Return: Success: SUCCEED
*
@@ -110,7 +112,7 @@ H5O_stab_decode (hdf5_file_t *f, const uint8 *p)
*-------------------------------------------------------------------------
*/
static herr_t
-H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p, const void *_mesg)
+H5O_stab_encode (hdf5_file_t *f, size_t raw_size, uint8 *p, const void *_mesg)
{
const H5O_stab_t *stab = (const H5O_stab_t *)_mesg;
@@ -118,7 +120,7 @@ H5O_stab_encode (hdf5_file_t *f, size_t size, uint8 *p, const void *_mesg)
/* check args */
assert (f);
- assert (size == 2 * H5F_SIZEOF_OFFSET(f));
+ assert (raw_size == 2 * H5F_SIZEOF_OFFSET(f));
assert (p);
assert (stab);