summaryrefslogtreecommitdiffstats
path: root/src/H5Lprivate.h
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2006-08-02 23:41:53 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2006-08-02 23:41:53 (GMT)
commit3e755623cb24eb37c19fa645d74dc46948318253 (patch)
tree66e0a3807f37d50a8d6e5f3469864c604cd837c6 /src/H5Lprivate.h
parent71a4d0e9c48c4e02e5384cd3f6e38a2a530e9d22 (diff)
downloadhdf5-3e755623cb24eb37c19fa645d74dc46948318253.zip
hdf5-3e755623cb24eb37c19fa645d74dc46948318253.tar.gz
hdf5-3e755623cb24eb37c19fa645d74dc46948318253.tar.bz2
[svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
Diffstat (limited to 'src/H5Lprivate.h')
-rw-r--r--src/H5Lprivate.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/H5Lprivate.h b/src/H5Lprivate.h
index 78743da..d5cc7d8 100644
--- a/src/H5Lprivate.h
+++ b/src/H5Lprivate.h
@@ -31,13 +31,27 @@
#define H5L_CRT_INTERMEDIATE_GROUP_SIZE sizeof(unsigned)
#define H5L_CRT_INTERMEDIATE_GROUP_DEF 0
+/* Definitions for accessing links */
+#define H5L_NLINKS_NAME "max soft links"
+#define H5L_NLINKS_SIZE sizeof(size_t)
+#define H5L_NLINKS_DEF 16 /*max symlinks to follow per lookup */
/* Functions that understand link messages */
/* forward reference for later use */
struct H5HL_t; /* defined in H5HLprivate.h */
H5_DLL herr_t H5L_link(H5G_loc_t *new_loc, const char *new_name,
- H5G_loc_t *obj_loc, hid_t dxpl, hid_t lcpl_id);
+ H5G_loc_t *obj_loc, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id);
H5_DLL hid_t H5L_get_default_lcpl(void);
+H5_DLL herr_t H5L_get_linkinfo(const H5G_loc_t *loc, const char *name,
+ H5L_linkinfo_t *linkbuf/*out*/, hid_t lapl_id, hid_t dxpl_id);
+H5_DLL herr_t H5L_init(void);
+H5_DLL herr_t H5L_register_external(void);
+
+/* User-defined link functions */
+H5_DLL herr_t H5L_register (const H5L_link_class_t *cls);
+H5_DLL herr_t H5L_unregister (H5L_link_t id);
+H5_DLL const H5L_link_class_t *H5L_find_class(H5L_link_t id);
+
#endif /* _H5Lprivate_H */