summaryrefslogtreecommitdiffstats
path: root/src/H5Rprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Rprivate.h')
-rw-r--r--src/H5Rprivate.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/H5Rprivate.h b/src/H5Rprivate.h
index ba19c8b..bc51b21 100644
--- a/src/H5Rprivate.h
+++ b/src/H5Rprivate.h
@@ -26,9 +26,29 @@
#include "H5Gprivate.h"
/* Internal data structures */
+struct href_t {
+ H5R_type_t ref_type;
+ union {
+ struct {
+ size_t buf_size;/* Size of serialized reference */
+ void *buf; /* Pointer to serialized reference */
+ } obj_enc;
+ haddr_t obj_addr;
+ };
+};
+
+#define H5R_INITIALIZER { H5R_BADTYPE, {0, NULL} }
+
+/* To prevent including H5Sprivate.h that includes H5Rprivate.h */
+struct H5S_t;
/* Private functions */
-H5_DLL herr_t H5R_create(void *ref, H5R_type_t ref_type, ...);
+H5_DLL href_t *H5R_create_object(H5G_loc_t *loc, const char *name, hid_t dxpl_id);
+H5_DLL href_t *H5R_create_region(H5G_loc_t *loc, const char *name, hid_t dxpl_id, struct H5S_t *space);
+H5_DLL href_t *H5R_create_attr(H5G_loc_t *loc, const char *name, hid_t dxpl_id, const char *attr_name);
+H5_DLL href_t *H5R_create_ext_object(H5G_loc_t *loc, const char *name, hid_t dxpl_id);
+H5_DLL href_t *H5R_create_ext_region(H5G_loc_t *loc, const char *name, hid_t dxpl_id, struct H5S_t *space);
+H5_DLL href_t *H5R_create_ext_attr(H5G_loc_t *loc, const char *name, hid_t dxpl_id, const char *attr_name);
+H5_DLL herr_t H5R_destroy(href_t *ref);
#endif /* _H5Rprivate_H */
-