summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r--src/H5Fprivate.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 7f25090..8f33cc0 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -426,6 +426,25 @@ typedef struct H5F_rdcc_t {
struct H5F_rdcc_ent_t **slot; /* Chunk slots, each points to a chunk*/
} H5F_rdcc_t;
+/* Mount property list */
+typedef struct H5F_mprop_t {
+ hbool_t local; /* Are absolute symlinks local to file? */
+} H5F_mprop_t;
+
+/* A record of the mount table */
+typedef struct H5F_mount_t {
+ struct H5G_t *group; /* Mount point group held open */
+ struct H5F_t *file; /* File mounted at that point */
+} H5F_mount_t;
+
+/* The mount table */
+typedef struct H5F_mtab_t {
+ struct H5F_t *parent;/* Parent file */
+ uintn nmounts;/* Number of children which are mounted */
+ uintn nalloc; /* Number of mount slots allocated */
+ H5F_mount_t *child; /* An array of mount records */
+} H5F_mtab_t;
+
/*
* Define the structure to store the file information for HDF5 files. One of
* these structures is allocated per file, not per H5Fopen().
@@ -463,6 +482,7 @@ typedef struct H5F_t {
struct H5G_cwgstk_t *cwg_stack; /* CWG stack for push/pop functions*/
uintn nopen; /* Number of open object headers*/
hbool_t close_pending; /* File close is pending */
+ H5F_mtab_t mtab; /* File mount table */
} H5F_t;
#ifdef NOT_YET
@@ -509,10 +529,12 @@ struct H5O_efl_t;
struct H5O_pline_t;
struct H5D_xfer_t;
struct H5O_fill_t;
+struct H5G_entry_t;
/* library variables */
extern const H5F_create_t H5F_create_dflt;
extern H5F_access_t H5F_access_dflt;
+extern const H5F_mprop_t H5F_mount_dflt;
#ifdef HAVE_PARALLEL
extern hbool_t H5_mpi_1_metawrite_g;
@@ -529,6 +551,7 @@ herr_t H5F_debug(H5F_t *f, const haddr_t *addr, FILE * stream, intn indent,
intn fwidth);
herr_t H5F_istore_debug(H5F_t *f, const haddr_t *addr, FILE * stream,
intn indent, intn fwidth, int ndims);
+herr_t H5F_mountpoint(struct H5G_entry_t *find/*in,out*/);
/* Functions that operate on array storage */
herr_t H5F_arr_create(H5F_t *f, struct H5O_layout_t *layout /*in,out*/);