summaryrefslogtreecommitdiffstats
path: root/src/H5Gpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-11-07 20:32:44 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-11-07 20:32:44 (GMT)
commit665f42f9e0d7b84bddbca2ff45b276b45eb76654 (patch)
tree49e5b05fd76eb99dc489088d9b1e20a6d069910e /src/H5Gpkg.h
parente87cb9148356b581d8ff8a910ea3acc9d549ee7a (diff)
downloadhdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.zip
hdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.tar.gz
hdf5-665f42f9e0d7b84bddbca2ff45b276b45eb76654.tar.bz2
[svn-r12878] Description:
Flesh out support for looking up link info by index, some cases for using dense storage are working now. Tested on: Linux/32 2.6 (chicago)
Diffstat (limited to 'src/H5Gpkg.h')
-rw-r--r--src/H5Gpkg.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/H5Gpkg.h b/src/H5Gpkg.h
index 9c1928b..34eec8e 100644
--- a/src/H5Gpkg.h
+++ b/src/H5Gpkg.h
@@ -266,15 +266,17 @@ typedef struct H5G_bt_it_ud5_t {
/* (fractal heap & v2 B-tree info) */
/* Typedef for native 'name' field index records in the v2 B-tree */
+/* (Keep 'id' field first so generic record handling in callbacks works) */
typedef struct H5G_dense_bt2_name_rec_t {
- uint32_t hash; /* Hash of 'name' field value */
uint8_t id[H5G_DENSE_FHEAP_ID_LEN]; /* Heap ID for link */
+ uint32_t hash; /* Hash of 'name' field value */
} H5G_dense_bt2_name_rec_t;
/* Typedef for native 'creation order' field index records in the v2 B-tree */
+/* (Keep 'id' field first so generic record handling in callbacks works) */
typedef struct H5G_dense_bt2_corder_rec_t {
- uint64_t corder; /* 'creation order' field value */
uint8_t id[H5G_DENSE_FHEAP_ID_LEN]; /* Heap ID for link */
+ uint64_t corder; /* 'creation order' field value */
} H5G_dense_bt2_corder_rec_t;
/*
@@ -435,12 +437,15 @@ H5_DLL herr_t H5G_link_lookup_by_corder(H5O_loc_t *oloc, hid_t dxpl_id,
/* Functions that understand "dense" link storage */
H5_DLL herr_t H5G_dense_build_table(H5F_t *f, hid_t dxpl_id, const H5O_linfo_t *linfo,
- H5_iter_order_t order, H5G_link_table_t *ltable);
+ H5L_index_t idx_type, H5_iter_order_t order, H5G_link_table_t *ltable);
H5_DLL herr_t H5G_dense_create(H5F_t *f, hid_t dxpl_id, H5O_linfo_t *linfo);
H5_DLL herr_t H5G_dense_insert(H5F_t *f, hid_t dxpl_id,
const H5O_linfo_t *linfo, const H5O_link_t *lnk);
H5_DLL herr_t H5G_dense_lookup(H5F_t *f, hid_t dxpl_id,
const H5O_linfo_t *linfo, const char *name, H5O_link_t *lnk);
+H5_DLL herr_t H5G_dense_lookup_by_idx(H5F_t *f, hid_t dxpl_id,
+ const H5O_linfo_t *linfo, H5L_index_t idx_type, H5_iter_order_t order,
+ hsize_t n, H5O_link_t *lnk);
H5_DLL herr_t H5G_dense_iterate(H5F_t *f, hid_t dxpl_id, H5_iter_order_t order,
hid_t gid, const H5O_linfo_t *linfo, hbool_t lib_internal, int skip,
int *last_lnk, H5G_link_iterate_t op, void *op_data);