diff options
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 181 |
1 files changed, 39 insertions, 142 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 168a156..ce18ef5 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -323,149 +323,48 @@ typedef struct H5F_t H5F_t; # define H5F_OVERFLOW_HSIZET2OFFT(X) 0 #endif -/* ========= File Creation properties ============ */ -/* Definitions for the size of the file user block in bytes */ -#define H5F_CRT_USER_BLOCK_NAME "block_size" -#define H5F_CRT_USER_BLOCK_SIZE sizeof(hsize_t) -#define H5F_CRT_USER_BLOCK_DEF 0 -/* Definitions for the 1/2 rank for symbol table leaf nodes */ -#define H5F_CRT_SYM_LEAF_NAME "symbol_leaf" -#define H5F_CRT_SYM_LEAF_SIZE sizeof(unsigned) -#define H5F_CRT_SYM_LEAF_DEF 4 -/* Definitions for the 1/2 rank for btree internal nodes */ -#define H5F_CRT_BTREE_RANK_NAME "btree_rank" -#define H5F_CRT_BTREE_RANK_SIZE sizeof(unsigned[H5B_NUM_BTREE_ID]) -#define H5F_CRT_BTREE_RANK_DEF {HDF5_BTREE_SNODE_IK_DEF,HDF5_BTREE_ISTORE_IK_DEF} -/* Definitions for byte number in an address */ -#define H5F_CRT_ADDR_BYTE_NUM_NAME "addr_byte_num" -#define H5F_CRT_ADDR_BYTE_NUM_SIZE sizeof(size_t) -#define H5F_CRT_ADDR_BYTE_NUM_DEF sizeof(haddr_t) -/* Definitions for byte number for object size */ -#define H5F_CRT_OBJ_BYTE_NUM_NAME "obj_byte_num" -#define H5F_CRT_OBJ_BYTE_NUM_SIZE sizeof(size_t) -#define H5F_CRT_OBJ_BYTE_NUM_DEF sizeof(hsize_t) -/* Definitions for version number of the superblock */ -#define H5F_CRT_SUPER_VERS_NAME "super_version" -#define H5F_CRT_SUPER_VERS_SIZE sizeof(unsigned) -#define H5F_CRT_SUPER_VERS_DEF HDF5_SUPERBLOCK_VERSION_DEF -/* Definitions for free-space version number */ -#define H5F_CRT_FREESPACE_VERS_NAME "free_space_version" -#define H5F_CRT_FREESPACE_VERS_SIZE sizeof(unsigned) -#define H5F_CRT_FREESPACE_VERS_DEF HDF5_FREESPACE_VERSION -/* Definitions for object directory version number */ -#define H5F_CRT_OBJ_DIR_VERS_NAME "obj_dir_version" -#define H5F_CRT_OBJ_DIR_VERS_SIZE sizeof(unsigned) -#define H5F_CRT_OBJ_DIR_VERS_DEF HDF5_OBJECTDIR_VERSION -/* Definitions for shared-header format version */ -#define H5F_CRT_SHARE_HEAD_VERS_NAME "share_head_version" -#define H5F_CRT_SHARE_HEAD_VERS_SIZE sizeof(unsigned) -#define H5F_CRT_SHARE_HEAD_VERS_DEF HDF5_SHAREDHEADER_VERSION +/* Sizes of object addresses & sizes in the file (in bytes) */ +#define H5F_OBJ_ADDR_SIZE sizeof(haddr_t) +#define H5F_OBJ_SIZE_SIZE sizeof(hsize_t) /* File-wide default character encoding can not yet be set via the file * creation property list and is always ASCII. */ -#define H5F_CRT_DEFAULT_CSET H5T_CSET_ASCII +#define H5F_DEFAULT_CSET H5T_CSET_ASCII + +/* ========= File Creation properties ============ */ +#define H5F_CRT_USER_BLOCK_NAME "block_size" /* Size of the file user block in bytes */ +#define H5F_CRT_SYM_LEAF_NAME "symbol_leaf" /* 1/2 rank for symbol table leaf nodes */ +#define H5F_CRT_BTREE_RANK_NAME "btree_rank" /* 1/2 rank for btree internal nodes */ +#define H5F_CRT_ADDR_BYTE_NUM_NAME "addr_byte_num" /* Byte number in an address */ +#define H5F_CRT_OBJ_BYTE_NUM_NAME "obj_byte_num" /* Byte number for object size */ +#define H5F_CRT_SUPER_VERS_NAME "super_version" /* Version number of the superblock */ +#define H5F_CRT_FREESPACE_VERS_NAME "free_space_version" /* Free-space version number */ +#define H5F_CRT_OBJ_DIR_VERS_NAME "obj_dir_version" /* Object directory version number */ +#define H5F_CRT_SHARE_HEAD_VERS_NAME "share_head_version" /* Shared-header format version */ /* ========= File Access properties ============ */ -/* Definitions for the initial metadata cache resize configuration */ -#define H5F_ACS_META_CACHE_INIT_CONFIG_NAME "mdc_initCacheCfg" -#define H5F_ACS_META_CACHE_INIT_CONFIG_SIZE sizeof(H5AC_cache_config_t) -#define H5F_ACS_META_CACHE_INIT_CONFIG_DEF H5AC__DEFAULT_CACHE_CONFIG - -/* Definitions for size of raw data chunk cache(elements) */ -#define H5F_ACS_DATA_CACHE_ELMT_SIZE_NAME "rdcc_nelmts" -#define H5F_ACS_DATA_CACHE_ELMT_SIZE_SIZE sizeof(size_t) -#define H5F_ACS_DATA_CACHE_ELMT_SIZE_DEF 521 - -/* Definition for size of raw data chunk cache(bytes) */ -#define H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME "rdcc_nbytes" -#define H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE sizeof(size_t) -#define H5F_ACS_DATA_CACHE_BYTE_SIZE_DEF (1024*1024) - -/* Definition for preemption read chunks first */ -#define H5F_ACS_PREEMPT_READ_CHUNKS_NAME "rdcc_w0" -#define H5F_ACS_PREEMPT_READ_CHUNKS_SIZE sizeof(double) -#define H5F_ACS_PREEMPT_READ_CHUNKS_DEF 0.75 - -/* Definition for threshold for alignment */ -#define H5F_ACS_ALIGN_THRHD_NAME "threshold" -#define H5F_ACS_ALIGN_THRHD_SIZE sizeof(hsize_t) -#define H5F_ACS_ALIGN_THRHD_DEF 1 - -/* Definition for alignment */ -#define H5F_ACS_ALIGN_NAME "align" -#define H5F_ACS_ALIGN_SIZE sizeof(hsize_t) -#define H5F_ACS_ALIGN_DEF 1 - -/* Definition for minimum metadata allocation block size (when - aggregating metadata allocations. */ -#define H5F_ACS_META_BLOCK_SIZE_NAME "meta_block_size" -#define H5F_ACS_META_BLOCK_SIZE_SIZE sizeof(hsize_t) -#define H5F_ACS_META_BLOCK_SIZE_DEF 2048 - -/* Definition for maximum sieve buffer size (when data sieving - is allowed by file driver */ -#define H5F_ACS_SIEVE_BUF_SIZE_NAME "sieve_buf_size" -#define H5F_ACS_SIEVE_BUF_SIZE_SIZE sizeof(size_t) -#define H5F_ACS_SIEVE_BUF_SIZE_DEF (64*1024) - -/* Definition for minimum "small data" allocation block size (when - aggregating "small" raw data allocations. */ -#define H5F_ACS_SDATA_BLOCK_SIZE_NAME "sdata_block_size" -#define H5F_ACS_SDATA_BLOCK_SIZE_SIZE sizeof(hsize_t) -#define H5F_ACS_SDATA_BLOCK_SIZE_DEF 2048 - -/* Definition for garbage-collect references */ -#define H5F_ACS_GARBG_COLCT_REF_NAME "gc_ref" -#define H5F_ACS_GARBG_COLCT_REF_SIZE sizeof(unsigned) -#define H5F_ACS_GARBG_COLCT_REF_DEF 0 - -/* Definition for file driver ID */ -#define H5F_ACS_FILE_DRV_ID_NAME "driver_id" -#define H5F_ACS_FILE_DRV_ID_SIZE sizeof(hid_t) -#define H5F_ACS_FILE_DRV_ID_DEF H5FD_SEC2 - -/* Definition for file driver info */ -#define H5F_ACS_FILE_DRV_INFO_NAME "driver_info" -#define H5F_ACS_FILE_DRV_INFO_SIZE sizeof(void*) -#define H5F_ACS_FILE_DRV_INFO_DEF NULL - -/* Definition for file close degree */ -#define H5F_CLOSE_DEGREE_NAME "close_degree" -#define H5F_CLOSE_DEGREE_SIZE sizeof(H5F_close_degree_t) -#define H5F_CLOSE_DEGREE_DEF H5F_CLOSE_DEFAULT - -/* Definition for offset position in file for family file driver */ -#define H5F_ACS_FAMILY_OFFSET_NAME "family_offset" -#define H5F_ACS_FAMILY_OFFSET_SIZE sizeof(hsize_t) -#define H5F_ACS_FAMILY_OFFSET_DEF 0 - -/* Definition for new member size of family driver. It's private - * property only used by h5repart */ -#define H5F_ACS_FAMILY_NEWSIZE_NAME "family_newsize" -#define H5F_ACS_FAMILY_NEWSIZE_SIZE sizeof(hsize_t) -#define H5F_ACS_FAMILY_NEWSIZE_DEF 0 - -/* Definition for whether to convert family to sec2 driver. It's private - * property only used by h5repart */ -#define H5F_ACS_FAMILY_TO_SEC2_NAME "family_to_sec2" -#define H5F_ACS_FAMILY_TO_SEC2_SIZE sizeof(hbool_t) -#define H5F_ACS_FAMILY_TO_SEC2_DEF FALSE - -/* Definition for data type in multi file driver */ -#define H5F_ACS_MULTI_TYPE_NAME "multi_type" -#define H5F_ACS_MULTI_TYPE_SIZE sizeof(H5FD_mem_t) -#define H5F_ACS_MULTI_TYPE_DEF H5FD_MEM_DEFAULT - -/* Definition for 'use latest format version' flag */ -#define H5F_ACS_LATEST_FORMAT_NAME "latest_format" -#define H5F_ACS_LATEST_FORMAT_SIZE sizeof(hbool_t) -#define H5F_ACS_LATEST_FORMAT_DEF FALSE +#define H5F_ACS_META_CACHE_INIT_CONFIG_NAME "mdc_initCacheCfg" /* Initial metadata cache resize configuration */ +#define H5F_ACS_DATA_CACHE_ELMT_SIZE_NAME "rdcc_nelmts" /* Size of raw data chunk cache(elements) */ +#define H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME "rdcc_nbytes" /* Size of raw data chunk cache(bytes) */ +#define H5F_ACS_PREEMPT_READ_CHUNKS_NAME "rdcc_w0" /* Preemption read chunks first */ +#define H5F_ACS_ALIGN_THRHD_NAME "threshold" /* Threshold for alignment */ +#define H5F_ACS_ALIGN_NAME "align" /* Alignment */ +#define H5F_ACS_META_BLOCK_SIZE_NAME "meta_block_size" /* Minimum metadata allocation block size (when aggregating metadata allocations) */ +#define H5F_ACS_SIEVE_BUF_SIZE_NAME "sieve_buf_size" /* Maximum sieve buffer size (when data sieving is allowed by file driver) */ +#define H5F_ACS_SDATA_BLOCK_SIZE_NAME "sdata_block_size" /* Minimum "small data" allocation block size (when aggregating "small" raw data allocations) */ +#define H5F_ACS_GARBG_COLCT_REF_NAME "gc_ref" /* Garbage-collect references */ +#define H5F_ACS_FILE_DRV_ID_NAME "driver_id" /* File driver ID */ +#define H5F_ACS_FILE_DRV_INFO_NAME "driver_info" /* File driver info */ +#define H5F_ACS_CLOSE_DEGREE_NAME "close_degree" /* File close degree */ +#define H5F_ACS_FAMILY_OFFSET_NAME "family_offset" /* Offset position in file for family file driver */ +#define H5F_ACS_FAMILY_NEWSIZE_NAME "family_newsize" /* New member size of family driver. (private property only used by h5repart) */ +#define H5F_ACS_FAMILY_TO_SEC2_NAME "family_to_sec2" /* Whether to convert family to sec2 driver. (private property only used by h5repart) */ +#define H5F_ACS_MULTI_TYPE_NAME "multi_type" /* Data type in multi file driver */ +#define H5F_ACS_LATEST_FORMAT_NAME "latest_format" /* 'Use latest format version' flag */ /* ======================== File Mount properties ====================*/ -/* Definition for whether absolute symlinks local to file. */ -#define H5F_MNT_SYM_LOCAL_NAME "local" -#define H5F_MNT_SYM_LOCAL_SIZE sizeof(hbool_t) -#define H5F_MNT_SYM_LOCAL_DEF FALSE +#define H5F_MNT_SYM_LOCAL_NAME "local" /* Whether absolute symlinks local to file. */ + #ifdef H5_HAVE_PARALLEL /* Which process writes metadata */ @@ -530,11 +429,8 @@ H5_DLL void H5F_addr_encode(const H5F_t *, uint8_t** /*in,out*/, haddr_t); H5_DLL void H5F_addr_decode(const H5F_t *, const uint8_t** /*in,out*/, haddr_t* /*out*/); -/* Callback functions for file access class */ -H5_DLL herr_t H5F_acs_create(hid_t fapl_id, void *close_data); -H5_DLL herr_t H5F_acs_close(hid_t fapl_id, void *close_data); -H5_DLL herr_t H5F_acs_copy(hid_t new_fapl_id, hid_t old_fapl_id, - void *close_data); +/* File access property list callbacks */ +H5_DLL herr_t H5P_facc_close(hid_t dxpl_id, void *close_data); /* Shared file list related routines */ H5_DLL herr_t H5F_sfile_assert_num(unsigned n); @@ -546,4 +442,5 @@ H5_DLL herr_t H5F_fake_free(H5F_t *f); /* Debugging functions */ H5_DLL herr_t H5F_debug(H5F_t *f, hid_t dxpl_id, FILE * stream, int indent, int fwidth); -#endif +#endif /* _H5Fprivate_H */ + |