diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2002-04-11 22:52:48 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2002-04-11 22:52:48 (GMT) |
commit | ce920c6c041c88a64b0553db538842f912ebda8e (patch) | |
tree | 3f3ebbafc532eb23a2ed43a7d4c5cfc07a609d58 /src/H5Oprivate.h | |
parent | 19c8cfa8617156fa99caa4349fecb40ab652753c (diff) | |
download | hdf5-ce920c6c041c88a64b0553db538842f912ebda8e.zip hdf5-ce920c6c041c88a64b0553db538842f912ebda8e.tar.gz hdf5-ce920c6c041c88a64b0553db538842f912ebda8e.tar.bz2 |
[svn-r5170]
Purpose:
New feature
Description:
Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
Platforms tested:
Linux 2.2.
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index d727e58..786ae69 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -18,6 +18,7 @@ #define _H5Oprivate_H #include "H5Opublic.h" +#include "H5Dpublic.h" /* Private headers needed by this file */ #include "H5private.h" @@ -136,17 +137,34 @@ __DLLVAR__ const H5O_class_t H5O_DTYPE[1]; /* operates on an H5T_t struct */ /* - * Fill Value Message. + * Old Fill Value Message. */ -#define H5O_FILL_ID 0x0004 -__DLLVAR__ const H5O_class_t H5O_FILL[1]; +#define H5O_FILL_ID 0x0004 +__DLLVAR__ const H5O_class_t H5O_FILL[1]; typedef struct H5O_fill_t { - H5T_t *type; /*type. Null implies same as dataset */ - size_t size; /*number of bytes in the fill value */ - void *buf; /*the fill value */ + H5T_t *type; /*type. Null implies same as dataset */ + size_t size; /*number of bytes in the fill value */ + void *buf; /*the fill value */ } H5O_fill_t; +/* + * New Fill Value Message. The new fill value message is fill value plus + * space allocation time and fill value writing time and whether fill + * value is defined. + */ +#define H5O_FILL_NEW_ID 0x0005 +__DLLVAR__ const H5O_class_t H5O_FILL_NEW[1]; + +typedef struct H5O_fill_new_t { + H5T_t *type; /*type. Null implies same as dataset */ + ssize_t size; /*number of bytes in the fill value */ + void *buf; /*the fill value */ + H5D_space_time_t space_time; /* time to allocate space */ + H5D_fill_time_t fill_time; /* time to write fill value */ + htri_t fill_defined; /* whether fill value is defined */ +} H5O_fill_new_t; + /* * External File List Message @@ -302,6 +320,6 @@ __DLL__ herr_t H5O_efl_write(H5F_t *f, const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *buf); /* Fill value operators */ -__DLL__ herr_t H5O_fill_convert(H5O_fill_t *fill, H5T_t *type); +__DLL__ herr_t H5O_fill_convert(void *_fill, H5T_t *type); #endif |