summaryrefslogtreecommitdiffstats
path: root/src/H5Lprivate.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-01-08 18:24:09 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-01-08 18:24:09 (GMT)
commit50d88ec142fc41ba5588980cde79c6bb9c2e276a (patch)
tree0a848b0ff0ef7fe06554a902d186dc34e153134a /src/H5Lprivate.h
parentab2ff6eda496173e038d97685f96dd2de9e3df29 (diff)
downloadhdf5-50d88ec142fc41ba5588980cde79c6bb9c2e276a.zip
hdf5-50d88ec142fc41ba5588980cde79c6bb9c2e276a.tar.gz
hdf5-50d88ec142fc41ba5588980cde79c6bb9c2e276a.tar.bz2
[svn-r16282] Purpose: Add functions to allow more flexible traversal of external links.
Description: Added H5Pset/get_elink_cb to allow the user to specify a callback function to be called whenever an external link is traversed. Added H5Pset/get_elink_acc_flags to allow the user to specify the file access flags to use to open the target file of an external link. All these properties are set on a LAPL. Tested: jam (trunk version tested with h5committest)
Diffstat (limited to 'src/H5Lprivate.h')
-rw-r--r--src/H5Lprivate.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/H5Lprivate.h b/src/H5Lprivate.h
index cd17a87..f3079bc 100644
--- a/src/H5Lprivate.h
+++ b/src/H5Lprivate.h
@@ -39,15 +39,23 @@
#define H5L_CRT_INTERMEDIATE_GROUP_NAME "intermediate_group" /* Create intermediate groups flag */
/* ======== Link access property names ======== */
-#define H5L_ACS_NLINKS_NAME "max soft links" /* Number of soft links to traverse */
-#define H5L_ACS_ELINK_PREFIX_NAME "external link prefix" /* External link prefix */
-#define H5L_ACS_ELINK_FAPL_NAME "external link fapl" /* file access property list for external link access */
+#define H5L_ACS_NLINKS_NAME "max soft links" /* Number of soft links to traverse */
+#define H5L_ACS_ELINK_PREFIX_NAME "external link prefix" /* External link prefix */
+#define H5L_ACS_ELINK_FAPL_NAME "external link fapl" /* file access property list for external link access */
+#define H5L_ACS_ELINK_FLAGS_NAME "external link flags" /* file access flags for external link traversal */
+#define H5L_ACS_ELINK_CB_NAME "external link callback" /* callback function for external link traversal */
/****************************/
/* Library Private Typedefs */
/****************************/
+/* Structure for external link traversal callback property */
+typedef struct H5L_elink_cb_t {
+ H5L_elink_traverse_t func;
+ void *user_data;
+} H5L_elink_cb_t;
+
/*****************************/
/* Library Private Variables */