diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-07 20:32:44 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-11-07 20:32:44 (GMT) |
commit | 665f42f9e0d7b84bddbca2ff45b276b45eb76654 (patch) | |
tree | 49e5b05fd76eb99dc489088d9b1e20a6d069910e /src/H5Gpkg.h | |
parent | e87cb9148356b581d8ff8a910ea3acc9d549ee7a (diff) | |
download | hdf5-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.h | 11 |
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); |