diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-07-26 13:56:09 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-07-26 13:56:09 (GMT) |
commit | bf842f1d52ea679301c8516a16e06622b9f988fb (patch) | |
tree | c0b91c681c696a5978e1a407440a808b60c9e314 /src/H5Oprivate.h | |
parent | 265833164dda0f2a6948922b95e32b5c7d9a9604 (diff) | |
download | hdf5-bf842f1d52ea679301c8516a16e06622b9f988fb.zip hdf5-bf842f1d52ea679301c8516a16e06622b9f988fb.tar.gz hdf5-bf842f1d52ea679301c8516a16e06622b9f988fb.tar.bz2 |
[svn-r14017] Description:
Fix problem with fill value messages where the version of the format
for a fill value message could depend on the "use the latest format" flag from
the file after it was initially created.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 737237b..06c5ebf 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -232,18 +232,31 @@ typedef struct H5O_linfo_t { haddr_t name_bt2_addr; /* Address of v2 B-tree for indexing names of links */ } H5O_linfo_t; +/* Initial version of the "old" fill value information */ +/* (It doesn't look like this value was ever used in the file -QAK) */ +#define H5O_FILL_VERSION_1 1 +/* Revised version of the "new" fill value information */ +#define H5O_FILL_VERSION_2 2 +/* Version of the "new" fill value information with smaller default format */ +#define H5O_FILL_VERSION_3 3 + +/* The latest version of the format. Look through the 'encode', 'decode' + * and 'size' callback for places to change when updating this. */ +#define H5O_FILL_VERSION_LATEST H5O_FILL_VERSION_3 + /* - * New Fill Value Message. + * Fill Value Message. * (Data structure in memory for both "old" and "new" fill value messages) * - * The new fill value message is fill value plus - * space allocation time, fill value writing time, whether fill - * value is defined, and the location of the message if it's shared + * The fill value message is fill value plus space allocation time, fill value + * writing time, whether fill value is defined, and the location of the + * message if it's shared. */ typedef struct H5O_fill_t { H5O_shared_t sh_loc; /* Shared message info (must be first) */ + unsigned version; /* Encoding version number */ H5T_t *type; /*type. Null implies same as dataset */ ssize_t size; /*number of bytes in the fill value */ void *buf; /*the fill value */ @@ -609,6 +622,7 @@ H5_DLL hsize_t H5O_efl_total_size(H5O_efl_t *efl); /* Fill value operators */ H5_DLL herr_t H5O_fill_reset_dyn(H5O_fill_t *fill); H5_DLL herr_t H5O_fill_convert(H5O_fill_t *fill, H5T_t *type, hbool_t *fill_changed, hid_t dxpl_id); +H5_DLL herr_t H5O_fill_set_latest_version(H5O_fill_t *fill); /* Link operators */ H5_DLL herr_t H5O_link_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, |