diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-30 14:33:14 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-30 14:33:14 (GMT) |
commit | 12edb97078593e2aa73950919c4823a37367915e (patch) | |
tree | 1b3756ce8c00a2abe41273fcb32ae4700351b2d2 /src/H5Gpkg.h | |
parent | b27b4889268552a1b02f06e5c26b470c31621d5e (diff) | |
download | hdf5-12edb97078593e2aa73950919c4823a37367915e.zip hdf5-12edb97078593e2aa73950919c4823a37367915e.tar.gz hdf5-12edb97078593e2aa73950919c4823a37367915e.tar.bz2 |
[svn-r12825] Description:
Rudimentary support for creating creation order index (but not inserting
links in it yet).
Testedon:
Mac OS X/32 10.4.8 (amazon)
Diffstat (limited to 'src/H5Gpkg.h')
-rw-r--r-- | src/H5Gpkg.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/H5Gpkg.h b/src/H5Gpkg.h index d3ed14e..1051846 100644 --- a/src/H5Gpkg.h +++ b/src/H5Gpkg.h @@ -248,10 +248,16 @@ typedef struct H5G_bt_it_ud5_t { /* Typedef for native 'name' field index records in the v2 B-tree */ typedef struct H5G_dense_bt2_name_rec_t { - uint32_t hash; /* Hash of 'name' field value */ + uint32_t hash; /* Hash of 'name' field value */ uint8_t id[H5G_DENSE_FHEAP_ID_LEN]; /* Heap ID for link */ } H5G_dense_bt2_name_rec_t; +/* Typedef for native 'creation order' field index records in the v2 B-tree */ +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 */ +} H5G_dense_bt2_corder_rec_t; + /* * Common data exchange structure for dense link storage. This structure is * passed through the v2 B-tree layer to the methods for the objects @@ -261,9 +267,10 @@ typedef struct H5G_bt2_ud_common_t { /* downward */ H5F_t *f; /* Pointer to file that fractal heap is in */ hid_t dxpl_id; /* DXPL for operation */ - H5HF_t *fheap; /* Fractal heap handle */ + H5HF_t *fheap; /* Fractal heap handle */ const char *name; /* Name of link to compare */ uint32_t name_hash; /* Hash of name of link to compare */ + uint64_t corder; /* Creation order value of link to compare */ H5B2_found_t found_op; /* Callback when correct link is found */ void *found_op_data; /* Callback data when correct link is found */ } H5G_bt2_ud_common_t; @@ -427,7 +434,7 @@ H5_DLL int H5G_obj_cmp_name_inc(const void *lnk1, const void *lnk2); H5_DLL int H5G_obj_cmp_name_dec(const void *lnk1, const void *lnk2); H5_DLL herr_t H5G_obj_release_table(H5G_link_table_t *ltable); H5_DLL herr_t H5G_obj_create(H5F_t *f, hid_t dxpl_id, const H5O_ginfo_t *ginfo, - H5O_loc_t *oloc/*out*/); + const H5O_linfo_t *linfo, H5O_loc_t *oloc/*out*/); H5_DLL herr_t H5G_obj_insert(H5O_loc_t *grp_oloc, const char *name, H5O_link_t *obj_lnk, hbool_t adj_link, hid_t dxpl_id); H5_DLL herr_t H5G_obj_lookup(H5O_loc_t *grp_oloc, const char *name, |