diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2009-01-08 18:16:31 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2009-01-08 18:16:31 (GMT) |
commit | d6da56adb76db4d8f4394e5d812697dd5b25909c (patch) | |
tree | b4b91c7578bddde67d39f7ebb87d15ca0417a8f8 /src/H5Lprivate.h | |
parent | 634c7c5a93abb49a56336eec9e842a0bd694f828 (diff) | |
download | hdf5-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.h | 14 |
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 */ |