summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2002-04-11 22:52:48 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2002-04-11 22:52:48 (GMT)
commitce920c6c041c88a64b0553db538842f912ebda8e (patch)
tree3f3ebbafc532eb23a2ed43a7d4c5cfc07a609d58 /src/H5Oprivate.h
parent19c8cfa8617156fa99caa4349fecb40ab652753c (diff)
downloadhdf5-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.h32
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