diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-14 02:29:15 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-14 02:29:15 (GMT) |
commit | 0b1bb5bda1296bb89d48c7542883ea25a5fb2174 (patch) | |
tree | 563f70f8b154cb91adeb3026932a93dd1cea4e41 /src/H5Gpkg.h | |
parent | f494ab7674dc39225deb4a06ba211f82f3e9df5e (diff) | |
download | hdf5-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.h | 27 |
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 |