 |
HDF5
1.12.0
|
Go to the documentation of this file.
22 #if !(defined H5SM_FRIEND || defined H5SM_MODULE)
23 #error "Do not include this file outside the H5SM package!"
43 #define H5SM_SIZEOF_CHECKSUM 4
45 #define H5SM_HEAP_LOC_SIZE ( \
47 + sizeof(H5O_fheap_id_t) \
50 #define H5SM_OH_LOC_SIZE(f) ( \
54 + H5F_SIZEOF_ADDR(f) \
57 #define H5SM_SOHM_ENTRY_SIZE(f) ( \
60 + MAX(H5SM_HEAP_LOC_SIZE, H5SM_OH_LOC_SIZE(f)) \
63 #define H5SM_INDEX_HEADER_SIZE(f) ( \
69 + H5F_SIZEOF_ADDR(f) \
70 + H5F_SIZEOF_ADDR(f) \
74 #define H5SM_METADATA_PREFIX_SIZE ( \
76 + H5SM_SIZEOF_CHECKSUM \
79 #define H5SM_TABLE_SIZE(f) ( \
81 H5SM_METADATA_PREFIX_SIZE \
84 + (H5F_SOHM_NINDEXES(f) * H5SM_INDEX_HEADER_SIZE(f)) \
87 #define H5SM_LIST_SIZE(f, num_mesg) ( \
89 H5SM_METADATA_PREFIX_SIZE \
92 + (H5SM_SOHM_ENTRY_SIZE(f) * num_mesg) \
95 #define H5SM_B2_NODE_SIZE 512
96 #define H5SM_B2_SPLIT_PERCENT 100
97 #define H5SM_B2_MERGE_PERCENT 40
99 #define H5SM_LIST_VERSION 0
hsize_t u
Definition: H5EA.c:1007
int ssize_t
Definition: H5public.h:167
H5_DLL herr_t H5SM_get_hash_fh_cb(const void *obj, size_t obj_len, void *_udata)
Definition: H5SM.c:1692
uint32_t hash
Definition: H5SMpkg.h:149
Definition: H5SMpkg.h:239
struct H5SM_list_cache_ud_t H5SM_list_cache_ud_t
H5F_t * file
Definition: H5SMpkg.h:201
hdr f
Definition: H5EA.c:755
H5SM_index_header_t * header
Definition: H5SMpkg.h:185
uint32_t
Definition: H5overflow.txt:38
hsize_t ref_count
Definition: H5SMpkg.h:142
H5_DLLVAR const H5B2_class_t H5SM_INDEX[1]
Definition: H5SMpkg.h:255
void * encoding
Definition: H5SMpkg.h:203
CATCH haddr_t
Definition: H5EAdblock.c:162
Definition: H5Ztrans.c:67
Definition: H5SMpkg.h:200
#define H5_DLLVAR
Definition: H5api_adpt.h:235
H5HF_t * fheap
Definition: H5SMpkg.h:202
herr_t H5SM_list_free(H5SM_list_t *list)
Definition: H5SM.c:2510
unsigned char uint8_t
Definition: H5private.h:429
H5_DLL herr_t H5SM_bt2_convert_to_list_op(const void *record, void *op_data)
Definition: H5SMbtree2.c:233
@ H5SM_IN_OH
Definition: H5SMpkg.h:137
H5FL_EXTERN(H5SM_master_table_t)
struct H5SM_table_cache_ud_t H5SM_table_cache_ud_t
H5_DLL herr_t H5SM__message_compare(const void *rec1, const void *rec2, int *result)
Definition: H5SMmessage.c:188
@ H5SM_LIST
Definition: H5SMpkg.h:160
@ H5SM_NO_LOC
Definition: H5SMpkg.h:135
H5O_fheap_id_t fheap_id
Definition: H5SMpkg.h:143
Definition: H5Oprivate.h:256
unsigned type_id
Definition: H5SMpkg.h:216
H5_DLL herr_t H5SM__message_decode(const uint8_t *raw, void *native, void *ctx)
Definition: H5SMmessage.c:335
Definition: H5SMpkg.h:214
H5SM_index_header_t * header
Definition: H5SMpkg.h:241
@ H5SM_BTREE
Definition: H5SMpkg.h:161
H5SM_index_type_t
Definition: H5SMpkg.h:158
Definition: H5SMpkg.h:234
H5SM_index_header_t * indexes
Definition: H5SMpkg.h:196
H5SM_storage_loc_t
Definition: H5SMpkg.h:134
@ H5SM_IN_HEAP
Definition: H5SMpkg.h:136
herr_t H5SM__get_mesg_count_test(H5F_t *f, unsigned type_id, size_t *mesg_count)
Definition: H5SMtest.c:77
H5AC_info_t cache_info
Definition: H5SMpkg.h:183
Definition: H5SMpkg.h:147
H5SM_storage_loc_t location
Definition: H5SMpkg.h:148
H5AC_info_t cache_info
Definition: H5SMpkg.h:192
H5_DLL herr_t H5SM__message_encode(uint8_t *raw, const void *native, void *ctx)
Definition: H5SMmessage.c:291
uint8_t sizeof_addr
Definition: H5SMpkg.h:230
H5O_fheap_id_t fheap_id
Definition: H5SMpkg.h:225
#define H5_DLL
Definition: H5api_adpt.h:234
H5O_mesg_loc_t mesg_loc
Definition: H5SMpkg.h:152
@ H5SM_BADTYPE
Definition: H5SMpkg.h:159
Definition: H5Oprivate.h:146
H5SM_mesg_key_t * key
Definition: H5SMpkg.h:224
H5_DLL ssize_t H5SM_get_index(const H5SM_master_table_t *table, unsigned type_id)
Definition: H5SM.c:313
H5SM_sohm_t message
Definition: H5SMpkg.h:205
H5SM_sohm_t * messages
Definition: H5SMpkg.h:186
size_t table_size
Definition: H5SMpkg.h:194
Definition: H5SMpkg.h:223
Definition: H5SMpkg.h:229
H5F_t * f
Definition: H5SMpkg.h:235
int herr_t
Definition: H5public.h:128
Definition: H5Cprivate.h:1597
Definition: H5SMpkg.h:190
Definition: H5HFpkg.h:459
H5FL_ARR_EXTERN(H5SM_index_header_t)
hsize_t
Definition: H5overflow.txt:44
Definition: H5B2private.h:82
herr_t H5SM_table_free(H5SM_master_table_t *table)
Definition: H5SM.c:2481
size_t encoding_size
Definition: H5SMpkg.h:204
H5F_t * f
Definition: H5SMpkg.h:240
uint32_t hash
Definition: H5SMpkg.h:219
H5SM_heap_loc_t heap_loc
Definition: H5SMpkg.h:153
unsigned msg_type_id
Definition: H5SMpkg.h:150
struct H5SM_bt2_ctx_t H5SM_bt2_ctx_t
unsigned num_indexes
Definition: H5SMpkg.h:195
Definition: H5SMpkg.h:181
Definition: H5SMpkg.h:141