summaryrefslogtreecommitdiffstats
path: root/src/H5Gpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-11-14 02:29:15 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-11-14 02:29:15 (GMT)
commit0b1bb5bda1296bb89d48c7542883ea25a5fb2174 (patch)
tree563f70f8b154cb91adeb3026932a93dd1cea4e41 /src/H5Gpkg.h
parentf494ab7674dc39225deb4a06ba211f82f3e9df5e (diff)
downloadhdf5-0b1bb5bda1296bb89d48c7542883ea25a5fb2174.zip
hdf5-0b1bb5bda1296bb89d48c7542883ea25a5fb2174.tar.gz
hdf5-0b1bb5bda1296bb89d48c7542883ea25a5fb2174.tar.bz2
[svn-r12907] Description:
Finish refactoring internal link deletion code, to make it possible to wrap up the H5Ldelete_by_idx() coding. Tested on: Linxu/32 2.6 (chicago) Linxu/64 2.6 (chicago2)
Diffstat (limited to 'src/H5Gpkg.h')
-rw-r--r--src/H5Gpkg.h27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/H5Gpkg.h b/src/H5Gpkg.h
index 47342dd..6aabb33 100644
--- a/src/H5Gpkg.h
+++ b/src/H5Gpkg.h
@@ -174,9 +174,7 @@ typedef struct H5G_bt_ud2_t {
/* downward */
H5G_bt_ud_common_t common; /* Common info for B-tree user data (must be first) */
hbool_t adj_link; /* Whether to adjust the link count on objects */
-
- /* upward */
- H5G_obj_t *obj_type; /*member type to be returned */
+ H5RS_str_t *grp_full_path_r; /* Full path of group where link is removed */
} H5G_bt_ud2_t;
/* Typedef for B-tree 'find' operation */
@@ -379,8 +377,8 @@ H5_DLL ssize_t H5G_stab_get_name_by_idx(H5O_loc_t *oloc, H5_iter_order_t order,
hsize_t n, char* name, size_t size, hid_t dxpl_id);
H5_DLL H5G_obj_t H5G_stab_get_type_by_idx(H5O_loc_t *oloc, hsize_t idx,
hid_t dxpl_id);
-H5_DLL herr_t H5G_stab_remove(H5O_loc_t *oloc, const char *name,
- H5G_obj_t *obj_type, hid_t dxpl_id);
+H5_DLL herr_t H5G_stab_remove(H5O_loc_t *oloc, hid_t dxpl_id,
+ H5RS_str_t *grp_full_path_r, const char *name);
H5_DLL herr_t H5G_stab_lookup(H5O_loc_t *grp_oloc, const char *name,
H5O_link_t *lnk, hid_t dxpl_id);
H5_DLL herr_t H5G_stab_lookup_by_idx(H5O_loc_t *grp_oloc, H5_iter_order_t order,
@@ -423,8 +421,9 @@ H5_DLL herr_t H5G_link_copy_file(H5F_t *dst_file, hid_t dxpl_id,
const H5O_link_t *_src_lnk, const H5O_loc_t *src_oloc, H5O_link_t *dst_lnk,
H5O_copy_t *cpy_info);
H5_DLL herr_t H5G_link_release_table(H5G_link_table_t *ltable);
-H5_DLL herr_t H5G_link_obj_type(H5F_t *file, hid_t dxpl_id, const H5O_link_t *lnk,
- H5G_obj_t *obj_type);
+H5_DLL herr_t H5G_link_name_replace(H5F_t *file, hid_t dxpl_id,
+ H5RS_str_t *grp_full_path_r, const char *lnk_name, H5L_type_t lnk_type,
+ haddr_t lnk_addr);
/* Functions that understand "compact" link storage */
H5_DLL herr_t H5G_compact_insert(H5O_loc_t *grp_oloc, H5O_link_t *obj_lnk,
@@ -434,8 +433,8 @@ H5_DLL ssize_t H5G_compact_get_name_by_idx(H5O_loc_t *oloc, hid_t dxpl_id,
hsize_t idx, char *name, size_t size);
H5_DLL H5G_obj_t H5G_compact_get_type_by_idx(H5O_loc_t *oloc, hid_t dxpl_id,
const H5O_linfo_t *linfo, hsize_t idx);
-H5_DLL herr_t H5G_compact_remove(const H5O_loc_t *oloc, const char *name,
- H5G_obj_t *obj_type, hid_t dxpl_id);
+H5_DLL herr_t H5G_compact_remove(const H5O_loc_t *oloc, hid_t dxpl_id,
+ H5RS_str_t *grp_full_path_r, const char *name);
H5_DLL herr_t H5G_compact_iterate(H5O_loc_t *oloc, hid_t dxpl_id, const H5O_linfo_t *linfo,
H5_iter_order_t order, hid_t gid, hbool_t lib_internal, int skip,
int *last_obj, H5G_link_iterate_t op, void *op_data);
@@ -465,7 +464,7 @@ H5_DLL ssize_t H5G_dense_get_name_by_idx(H5F_t *f, hid_t dxpl_id,
H5_DLL H5G_obj_t H5G_dense_get_type_by_idx(H5F_t *f, hid_t dxpl_id,
H5O_linfo_t *linfo, hsize_t idx);
H5_DLL herr_t H5G_dense_remove(H5F_t *f, hid_t dxpl_id, const H5O_linfo_t *linfo,
- const char *name, H5G_obj_t *obj_type);
+ H5RS_str_t *grp_full_path_r, const char *name);
H5_DLL herr_t H5G_dense_delete(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo,
hbool_t adj_link);
@@ -483,8 +482,8 @@ H5_DLL ssize_t H5G_obj_get_name_by_idx(H5O_loc_t *oloc, H5L_index_t idx_type,
H5_iter_order_t order, hsize_t n, char* name, size_t size, hid_t dxpl_id);
H5_DLL H5G_obj_t H5G_obj_get_type_by_idx(H5O_loc_t *oloc, hsize_t idx,
hid_t dxpl_id);
-H5_DLL herr_t H5G_obj_remove(H5O_loc_t *oloc, const char *name,
- H5G_obj_t *obj_type, hid_t dxpl_id);
+H5_DLL herr_t H5G_obj_remove(H5O_loc_t *oloc, H5RS_str_t *grp_full_path_r,
+ const char *name, hid_t dxpl_id);
H5_DLL herr_t H5G_obj_lookup(H5O_loc_t *grp_oloc, const char *name,
H5O_link_t *lnk, hid_t dxpl_id);
H5_DLL herr_t H5G_obj_lookup_by_idx(H5O_loc_t *grp_oloc, H5L_index_t idx_type,
@@ -495,6 +494,7 @@ H5_DLL herr_t H5G_obj_lookup_by_idx(H5O_loc_t *grp_oloc, H5L_index_t idx_type,
*/
H5_DLL herr_t H5G_name_init(H5G_name_t *name, const char *path);
H5_DLL herr_t H5G_name_set(H5G_name_t *loc, H5G_name_t *obj, const char *name);
+H5_DLL H5RS_str_t *H5G_build_fullpath_refstr_str(H5RS_str_t *path_r, const char *name);
/*
* These functions operate on group "locations"
@@ -502,9 +502,6 @@ H5_DLL herr_t H5G_name_set(H5G_name_t *loc, H5G_name_t *obj, const char *name);
H5_DLL herr_t H5G_loc_copy(H5G_loc_t *dst, H5G_loc_t *src, H5_copy_depth_t depth);
H5_DLL herr_t H5G_loc_insert(H5G_loc_t *grp_loc, const char *name,
H5G_loc_t *obj_loc, hid_t dxpl_id);
-H5_DLL herr_t H5G_loc_exists(const H5G_loc_t *loc, const char *name, hid_t dxpl_id);
-H5_DLL herr_t H5G_loc_remove(H5G_loc_t *grp_loc, const char *name,
- H5G_loc_t *obj_loc, hid_t dxpl_id);
/* Testing functions */
#ifdef H5G_TESTING