diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2014-04-25 19:54:57 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2014-04-25 19:54:57 (GMT) |
commit | 4257a32de13576155efc6df64aa0282bdf074ff1 (patch) | |
tree | 4da2d29685eb8c88e804d6daed0b59830cdbbffa /src/H5Fprivate.h | |
parent | b018ba48ced579975e60362e3acfb6afb1f1d384 (diff) | |
download | hdf5-4257a32de13576155efc6df64aa0282bdf074ff1.zip hdf5-4257a32de13576155efc6df64aa0282bdf074ff1.tar.gz hdf5-4257a32de13576155efc6df64aa0282bdf074ff1.tar.bz2 |
[svn-r25109] Description:
Bring r25084, 25088, 25092, 25097 from trunk to 1.8 branch:
r25084:
Begin process of migrating from using property list IDs internally to the
library to using the internal generic property list data structure.
r25088:
Introduce "file I/O info" struct, to hold file & dxpl pointers, and start
propagating up through library.
r25092:
More migration to using H5F_io_info_t pointers and away from using
property list IDs internally. Also, clean up some compiler warnings in the
cache code.
r25097:
Make progress toward moving from DXPL IDs to property list structures
within the library. Also move the signature location code from the H5F
package to the H5FD package, where it's a better fit. Also, clean up some
more compiler warnings along the way.
Tested:
Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel
(h5committested on trunk)
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 4d6e5ba..c9a0609 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -29,17 +29,9 @@ /* Private headers needed by this file */ -/****************************/ -/* Library Private Typedefs */ -/****************************/ - -/* Main file structure */ -typedef struct H5F_t H5F_t; -typedef struct H5F_file_t H5F_file_t; - -/* Block aggregation structure */ -typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; - +/**************************/ +/* Library Private Macros */ +/**************************/ /* * Encode and decode macros for file meta-data. @@ -414,6 +406,10 @@ typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; #define H5_PAR_META_WRITE 0 #endif /* H5_HAVE_PARALLEL */ +/* Define the HDF5 file signature */ +#define H5F_SIGNATURE "\211HDF\r\n\032\n" +#define H5F_SIGNATURE_LEN 8 + /* Version #'s of the major components of the file format */ #define HDF5_SUPERBLOCK_VERSION_DEF 0 /* The default super block format */ #define HDF5_SUPERBLOCK_VERSION_1 1 /* Version with non-default B-tree 'K' value */ @@ -479,11 +475,42 @@ typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; #define H5SM_LIST_MAGIC "SMLI" /* Shared Message List */ -/* Forward declarations for prototype arguments */ +/****************************/ +/* Library Private Typedefs */ +/****************************/ + +/* Forward declarations (for prototypes & type definitions) */ struct H5B_class_t; struct H5RC_t; struct H5O_loc_t; struct H5HG_heap_t; +struct H5P_genplist_t; + +/* Forward declarations for anonymous H5F objects */ + +/* Main file structures */ +typedef struct H5F_t H5F_t; +typedef struct H5F_file_t H5F_file_t; + +/* Block aggregation structure */ +typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; + +/* I/O Info for an operation */ +typedef struct H5F_io_info_t { + const H5F_t *f; /* File object */ + const struct H5P_genplist_t *dxpl; /* DXPL object */ +} H5F_io_info_t; + + +/*****************************/ +/* Library-private Variables */ +/*****************************/ + + +/***************************************/ +/* Library-private Function Prototypes */ +/***************************************/ + /* Private functions */ H5_DLL H5F_t *H5F_open(const char *name, unsigned flags, hid_t fcpl_id, |