summaryrefslogtreecommitdiffstats
path: root/src/H5Gpkg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Gpkg.h')
-rw-r--r--src/H5Gpkg.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/H5Gpkg.h b/src/H5Gpkg.h
index adb546f..4c6ec68 100644
--- a/src/H5Gpkg.h
+++ b/src/H5Gpkg.h
@@ -31,8 +31,11 @@
#include "H5Gprivate.h"
/* Other private headers needed by this file */
-#include "H5ACprivate.h" /* Metadata cache */
+#include "H5ACprivate.h" /* Metadata cache */
#include "H5Oprivate.h" /* Object headers */
+#include "H5SLprivate.h" /* Skip lists */
+
+#define H5G_SIZE_HINT 256 /* default root grp size hint */
/*
* A symbol table node is a collection of symbol table entries. It can
@@ -166,6 +169,13 @@ typedef struct H5G_bt_it_ud4_t {
/* upward */
} H5G_bt_it_ud4_t;
+/* Data passed to B-tree iteration for copying copy symblol table content */
+typedef struct H5G_bt_it_ud5_t {
+ H5SL_t *map_list; /* skip list to map copied object addresses */
+ haddr_t heap_addr; /* heap address of the source symbol table */
+ H5G_entry_t *loc_dst; /* group where new object is inserted to */
+} H5G_bt_it_ud5_t;
+
/*
* This is the class identifier to give to the B-tree functions.
*/
@@ -187,6 +197,9 @@ H5_DLL herr_t H5G_stab_insert(H5G_entry_t *grp_ent, const char *name,
H5G_entry_t *obj_ent, hbool_t inc_link, hid_t dxpl_id);
H5_DLL herr_t H5G_stab_delete(H5F_t *f, hid_t dxpl_id, const H5O_stab_t *stab, hbool_t adj_link);
H5_DLL herr_t H5G_stab_remove(H5G_entry_t *grp_ent, const char *name, hid_t dxpl_id);
+H5_DLL herr_t H5G_stab_copy_tmp(H5F_t *f_dst, H5O_stab_t *stab_dst,
+ hid_t dxpl_id);
+
/*
* Functions that understand symbol table entries.
@@ -206,4 +219,7 @@ H5_DLL int H5G_node_name(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t a
const void *_rt_key, void *_udata);
H5_DLL int H5G_node_type(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t addr,
const void *_rt_key, void *_udata);
+H5_DLL int H5G_node_copy(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t addr,
+ const void *_rt_key, void *_udata);
+
#endif