summaryrefslogtreecommitdiffstats
path: root/src/H5Lprivate.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-01-08 18:16:31 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-01-08 18:16:31 (GMT)
commitd6da56adb76db4d8f4394e5d812697dd5b25909c (patch)
treeb4b91c7578bddde67d39f7ebb87d15ca0417a8f8 /src/H5Lprivate.h
parent634c7c5a93abb49a56336eec9e842a0bd694f828 (diff)
downloadhdf5-d6da56adb76db4d8f4394e5d812697dd5b25909c.zip
hdf5-d6da56adb76db4d8f4394e5d812697dd5b25909c.tar.gz
hdf5-d6da56adb76db4d8f4394e5d812697dd5b25909c.tar.bz2
[svn-r16281] 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, linew, smirom (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 */