summaryrefslogtreecommitdiffstats
path: root/src/H5Fpkg.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2011-02-17 16:34:03 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2011-02-17 16:34:03 (GMT)
commit745b95fdba23ae95ac4fdc5d1e7b38346816fbc0 (patch)
tree7a5a71bbe21637f345bf219760b80d41c50dbc26 /src/H5Fpkg.h
parentc4c79ba00c49cb7fe3ce0f8a2c27ce809cda8fa6 (diff)
downloadhdf5-745b95fdba23ae95ac4fdc5d1e7b38346816fbc0.zip
hdf5-745b95fdba23ae95ac4fdc5d1e7b38346816fbc0.tar.gz
hdf5-745b95fdba23ae95ac4fdc5d1e7b38346816fbc0.tar.bz2
[svn-r20114] Merge r20112 (open_file_pool) into 1_8 branch.
Tested: jam (open_file_pool branch tested with h5committest)
Diffstat (limited to 'src/H5Fpkg.h')
-rw-r--r--src/H5Fpkg.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/H5Fpkg.h b/src/H5Fpkg.h
index f10dc7e..89994ec 100644
--- a/src/H5Fpkg.h
+++ b/src/H5Fpkg.h
@@ -125,6 +125,10 @@
+ H5F_SUPERBLOCK_VARLEN_SIZE(v, f))
+/* Forward declaration external file cache struct used below (defined in
+ * H5Fefc.c) */
+typedef struct H5F_efc_t H5F_efc_t;
+
/* Structure for metadata & "small [raw] data" block aggregation fields */
struct H5F_blk_aggr_t {
unsigned long feature_flag; /* Feature flag type */
@@ -198,6 +202,7 @@ typedef struct H5F_file_t {
unsigned nrefs; /* Ref count for times file is opened */
unsigned flags; /* Access Permissions for file */
H5F_mtab_t mtab; /* File mount table */
+ H5F_efc_t *efc; /* External file cache */
/* Cached values from FCPL/superblock */
uint8_t sizeof_addr; /* Size of addresses in file */
@@ -324,6 +329,13 @@ H5_DLL herr_t H5F_sfile_add(H5F_file_t *shared);
H5_DLL H5F_file_t * H5F_sfile_search(H5FD_t *lf);
H5_DLL herr_t H5F_sfile_remove(H5F_file_t *shared);
+/* External file cache routines */
+H5_DLL H5F_efc_t *H5F_efc_create(unsigned max_nfiles);
+H5_DLL unsigned H5F_efc_max_nfiles(H5F_efc_t *efc);
+H5_DLL herr_t H5F_efc_release(H5F_efc_t *efc);
+H5_DLL herr_t H5F_efc_destroy(H5F_efc_t *efc);
+H5_DLL herr_t H5F_efc_try_close(H5F_t *f);
+
/* Testing functions */
#ifdef H5F_TESTING
H5_DLL herr_t H5F_get_sohm_mesg_count_test(hid_t fid, unsigned type_id,