23 #error "Do not include this file outside the H5F package!" 30 #include "H5Fprivate.h" 36 #include "H5private.h" 37 #include "H5ACprivate.h" 38 #include "H5FLprivate.h" 39 #include "H5FOprivate.h" 40 #include "H5FSprivate.h" 41 #include "H5Gprivate.h" 42 #include "H5Oprivate.h" 43 #include "H5RCprivate.h" 55 #define H5F_SUPER_WRITE_ACCESS 0x01 56 #define H5F_SUPER_FILE_OK 0x02 57 #define H5F_SUPER_ALL_FLAGS (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK) 60 #define H5F_ACC_PUBLIC_FLAGS 0x001fu 63 #define H5F_FS_MERGE_METADATA 0x01 64 #define H5F_FS_MERGE_RAWDATA 0x02 67 #define H5F_HAVE_FREE_SPACE_MANAGER(F) TRUE 70 #define H5F_MAX_DRVINFOBLOCK_SIZE 1024 71 #define H5F_DRVINFOBLOCK_HDR_SIZE 16 74 #define H5F_SIZEOF_CHKSUM 4 77 #define H5F_SUPERBLOCK_FIXED_SIZE ( H5F_SIGNATURE_LEN \ 81 #define H5F_SUPERBLOCK_VARLEN_SIZE_COMMON \ 88 #define H5F_SUPERBLOCK_VARLEN_SIZE_V0(f) \ 89 ( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON \ 90 + H5F_SIZEOF_ADDR(f) \ 91 + H5F_SIZEOF_ADDR(f) \ 92 + H5F_SIZEOF_ADDR(f) \ 93 + H5F_SIZEOF_ADDR(f) \ 94 + H5G_SIZEOF_ENTRY(f)) 95 #define H5F_SUPERBLOCK_VARLEN_SIZE_V1(f) \ 96 ( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON \ 99 + H5F_SIZEOF_ADDR(f) \ 100 + H5F_SIZEOF_ADDR(f) \ 101 + H5F_SIZEOF_ADDR(f) \ 102 + H5F_SIZEOF_ADDR(f) \ 103 + H5G_SIZEOF_ENTRY(f)) 104 #define H5F_SUPERBLOCK_VARLEN_SIZE_V2(f) \ 107 + H5F_SIZEOF_ADDR(f) \ 108 + H5F_SIZEOF_ADDR(f) \ 109 + H5F_SIZEOF_ADDR(f) \ 110 + H5F_SIZEOF_ADDR(f) \ 112 #define H5F_SUPERBLOCK_VARLEN_SIZE(v, f) ( \ 113 (v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(f) : 0) \ 114 + (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(f) : 0) \ 115 + (v == 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(f) : 0)) 118 #define H5F_SUPERBLOCK_SIZE(v, f) ( H5F_SUPERBLOCK_FIXED_SIZE \ 119 + H5F_SUPERBLOCK_VARLEN_SIZE(v, f)) 177 unsigned btree_k[H5B_NUM_BTREE_ID];
struct H5F_super_t H5F_super_t
H5_DLL herr_t H5F__accum_write(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf)
struct H5F_mount_t H5F_mount_t
H5_DLL herr_t H5F__accum_flush(const H5F_io_info_t *fio_info)
H5AC_cache_config_t mdc_initCacheCfg
H5_DLL herr_t H5F_efc_destroy(H5F_efc_t *efc)
hbool_t store_msg_crt_idx
H5_DLL int H5F_term_unmount_cb(void *obj_ptr, hid_t obj_id, void *key)
H5_DLL herr_t H5F_close(H5F_t *f)
H5_DLL herr_t H5F_flush(H5F_t *f, hid_t dxpl_id, hbool_t closing)
unsigned long long hsize_t
H5F_blk_aggr_t sdata_aggr
H5_DLL herr_t H5F_super_ext_open(H5F_t *f, haddr_t ext_addr, H5O_loc_t *ext_ptr)
H5_DLL herr_t H5F_super_read(H5F_t *f, hid_t dxpl_id)
H5_DLL herr_t H5F__accum_free(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr, hsize_t size)
H5_DLL herr_t H5F_sfile_add(H5F_file_t *shared)
H5_DLL H5F_efc_t * H5F_efc_create(unsigned max_nfiles)
H5_DLL herr_t H5F_get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_list, hbool_t app_ref, size_t *obj_id_count_ptr)
enum H5F_mem_t H5FD_mem_t
H5RC_t * grp_btree_shared
struct H5F_efc_t H5F_efc_t
H5_DLL herr_t H5F_efc_try_close(H5F_t *f)
H5_DLL herr_t H5F_close_mounts(H5F_t *f)
unsigned long feature_flag
herr_t H5F_dest(H5F_t *f, hid_t dxpl_id, hbool_t flush)
H5_DLLVAR const H5AC_class_t H5AC_SUPERBLOCK[1]
H5F_close_degree_t fc_degree
H5_DLL herr_t H5F_super_ext_write_msg(H5F_t *f, hid_t dxpl_id, unsigned id, void *mesg, hbool_t may_create)
H5_DLL htri_t H5F_is_hdf5(const char *name)
HDFFCLIBAPI intf intf intf * type
struct H5HG_heap_t ** cwfs
HDFFCLIBAPI intf intf * flags
H5_DLL herr_t H5F_efc_release(H5F_efc_t *efc)
struct H5F_meta_accum_t H5F_meta_accum_t
H5_DLL unsigned H5F_efc_max_nfiles(H5F_efc_t *efc)
H5_DLL herr_t H5F__accum_reset(const H5F_io_info_t *fio_info, hbool_t flush)
H5_DLL herr_t H5F_mount_count_ids(H5F_t *f, unsigned *nopen_files, unsigned *nopen_objs)
H5_DLL herr_t H5F_super_ext_close(H5F_t *f, H5O_loc_t *ext_ptr, hid_t dxpl_id, hbool_t was_created)
struct H5F_mtab_t H5F_mtab_t
H5_DLL herr_t H5F_super_init(H5F_t *f, hid_t dxpl_id)
H5_DLL herr_t H5F_super_size(H5F_t *f, hid_t dxpl_id, hsize_t *super_size, hsize_t *super_ext_info)
unsigned long feature_flags
H5F_t * H5F_new(H5F_file_t *shared, unsigned flags, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf)
H5_DLL herr_t H5F__term_deprec_interface(void)
H5_DLL herr_t H5F_super_free(H5F_super_t *sblock)
H5_DLL herr_t H5F_sfile_remove(H5F_file_t *shared)
H5_DLL herr_t H5F__accum_read(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr, size_t size, void *buf)
H5_DLL herr_t H5F_init(void)
H5_DLL H5F_file_t * H5F_sfile_search(H5FD_t *lf)