diff options
Diffstat (limited to 'src/H5Gpkg.h')
-rw-r--r-- | src/H5Gpkg.h | 18 |
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 |