HDF5  1.12.0
Data Structures | Macros | Typedefs | Functions
H5Fpkg.h File Reference
#include "H5Fprivate.h"
#include "H5private.h"
#include "H5ACprivate.h"
#include "H5Bprivate.h"
#include "H5FLprivate.h"
#include "H5FOprivate.h"
#include "H5FSprivate.h"
#include "H5Gprivate.h"
#include "H5Oprivate.h"
#include "H5PBprivate.h"
#include "H5UCprivate.h"

Go to the source code of this file.

Data Structures

struct  H5F_superblock_cache_ud_t
 
struct  H5F_drvrinfo_cache_ud_t
 
struct  H5F_blk_aggr_t
 
struct  H5F_meta_accum_t
 
struct  H5F_mount_t
 
struct  H5F_mtab_t
 
struct  H5F_super_t
 
struct  H5F_shared_t
 
struct  H5F_t
 

Macros

#define H5F_SUPER_WRITE_ACCESS   0x01
 
#define H5F_SUPER_FILE_OK   0x02
 
#define H5F_SUPER_SWMR_WRITE_ACCESS   0x04
 
#define H5F_SUPER_ALL_FLAGS   (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
 
#define H5F_ACC_PUBLIC_FLAGS   0x007fu
 
#define H5F_FS_MERGE_METADATA   0x01 /* Section can merge with metadata aggregator */
 
#define H5F_FS_MERGE_RAWDATA   0x02 /* Section can merge with small 'raw' data aggregator */
 
#define H5F_HAVE_FREE_SPACE_MANAGER(F)
 
#define H5F_MAX_DRVINFOBLOCK_SIZE   1024 /* Maximum size of superblock driver info buffer */
 
#define H5F_DRVINFOBLOCK_HDR_SIZE   16 /* Size of superblock driver info header */
 
#define H5F_SIZEOF_CHKSUM   4 /* Checksum size in the file */
 
#define H5F_SUPERBLOCK_FIXED_SIZE
 
#define H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE   7
 
#define H5F_SUPERBLOCK_VARLEN_SIZE_COMMON
 
#define H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size)
 
#define H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size)
 
#define H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr)
 
#define H5F_SUPERBLOCK_VARLEN_SIZE(v, sizeof_addr, sizeof_size)
 
#define H5F_SUPERBLOCK_SIZE(s)
 
#define H5F_SUPER_STATUS_OFF_V01
 
#define H5F_SUPER_STATUS_OFF(v)   (v >= 2 ? (unsigned)2 : H5F_SUPER_STATUS_OFF_V01)
 
#define H5F_SUPER_STATUS_FLAGS_OFF(v)   (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPER_STATUS_OFF(v))
 
#define H5F_SUPER_STATUS_FLAGS_SIZE(v)   (v >= 2 ? 1 : 4)
 

Typedefs

typedef struct H5F_efc_t H5F_efc_t
 
typedef struct H5F_superblock_cache_ud_t H5F_superblock_cache_ud_t
 
typedef struct H5F_drvrinfo_cache_ud_t H5F_drvrinfo_cache_ud_t
 
typedef struct H5F_meta_accum_t H5F_meta_accum_t
 
typedef struct H5F_mount_t H5F_mount_t
 
typedef struct H5F_mtab_t H5F_mtab_t
 
typedef struct H5F_super_t H5F_super_t
 

Functions

 H5FL_EXTERN (H5F_t)
 
 H5FL_EXTERN (H5F_shared_t)
 
H5_DLL herr_t H5F__post_open (H5F_t *f)
 
H5_DLL H5F_tH5F__reopen (H5F_t *f)
 
H5_DLL herr_t H5F__dest (H5F_t *f, hbool_t flush)
 
H5_DLL herr_t H5F__flush (H5F_t *f)
 
H5_DLL htri_t H5F__is_hdf5 (const char *name, hid_t fapl_id)
 
H5_DLL ssize_t H5F__get_file_image (H5F_t *f, void *buf_ptr, size_t buf_len)
 
H5_DLL herr_t H5F__get_info (H5F_t *f, H5F_info2_t *finfo)
 
H5_DLL herr_t H5F__format_convert (H5F_t *f)
 
H5_DLL herr_t H5F__start_swmr_write (H5F_t *f)
 
H5_DLL herr_t H5F__close (H5F_t *f)
 
H5_DLL herr_t H5F__set_libver_bounds (H5F_t *f, H5F_libver_t low, H5F_libver_t high)
 
H5_DLL herr_t H5F__get_cont_info (const H5F_t *f, H5VL_file_cont_info_t *info)
 
H5_DLL herr_t H5F__mount (H5G_loc_t *loc, const char *name, H5F_t *child, hid_t plist_id)
 
H5_DLL herr_t H5F__unmount (H5G_loc_t *loc, const char *name)
 
H5_DLL herr_t H5F__close_mounts (H5F_t *f)
 
H5_DLL herr_t H5F__mount_count_ids (H5F_t *f, unsigned *nopen_files, unsigned *nopen_objs)
 
H5_DLL herr_t H5F__super_init (H5F_t *f)
 
H5_DLL herr_t H5F__super_read (H5F_t *f, H5P_genplist_t *fa_plist, hbool_t initial_read)
 
H5_DLL herr_t H5F__super_size (H5F_t *f, hsize_t *super_size, hsize_t *super_ext_size)
 
H5_DLL herr_t H5F__super_free (H5F_super_t *sblock)
 
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_ext_write_msg (H5F_t *f, unsigned id, void *mesg, hbool_t may_create, unsigned mesg_flags)
 
H5_DLL herr_t H5F__super_ext_remove_msg (H5F_t *f, unsigned id)
 
H5_DLL herr_t H5F__super_ext_close (H5F_t *f, H5O_loc_t *ext_ptr, hbool_t was_created)
 
H5_DLL herr_t H5F__accum_read (H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, void *buf)
 
H5_DLL herr_t H5F__accum_write (H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf)
 
H5_DLL herr_t H5F__accum_free (H5F_shared_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size)
 
H5_DLL herr_t H5F__accum_flush (H5F_shared_t *f_sh)
 
H5_DLL herr_t H5F__accum_reset (H5F_shared_t *f_sh, hbool_t flush)
 
H5_DLL herr_t H5F__sfile_add (H5F_shared_t *shared)
 
H5_DLL H5F_shared_tH5F__sfile_search (H5FD_t *lf)
 
H5_DLL herr_t H5F__sfile_remove (H5F_shared_t *shared)
 
H5_DLL H5F_efc_tH5F__efc_create (unsigned max_nfiles)
 
H5_DLL H5F_tH5F__efc_open (H5F_t *parent, const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
 
H5_DLL unsigned H5F__efc_max_nfiles (H5F_efc_t *efc)
 
H5_DLL herr_t H5F__efc_release (H5F_efc_t *efc)
 
H5_DLL herr_t H5F__efc_destroy (H5F_efc_t *efc)
 
H5_DLL herr_t H5F__efc_try_close (H5F_t *f)
 
H5_DLL haddr_t H5F__alloc (H5F_t *f, H5F_mem_t type, hsize_t size, haddr_t *frag_addr, hsize_t *frag_size)
 
H5_DLL herr_t H5F__free (H5F_t *f, H5F_mem_t type, haddr_t addr, hsize_t size)
 
H5_DLL htri_t H5F__try_extend (H5F_t *f, H5FD_mem_t type, haddr_t blk_end, hsize_t extra_requested)
 
H5_DLL herr_t H5F__set_eoa (const H5F_t *f, H5F_mem_t type, haddr_t addr)
 
H5_DLL herr_t H5F__set_base_addr (const H5F_t *f, haddr_t addr)
 
H5_DLL herr_t H5F__set_paged_aggr (const H5F_t *f, hbool_t paged)
 
H5_DLL herr_t H5F__get_max_eof_eoa (const H5F_t *f, haddr_t *max_eof_eoa)
 
H5_DLL herr_t H5F__evict_cache_entries (H5F_t *f)
 

Macro Definition Documentation

◆ H5F_ACC_PUBLIC_FLAGS

#define H5F_ACC_PUBLIC_FLAGS   0x007fu

◆ H5F_DRVINFOBLOCK_HDR_SIZE

#define H5F_DRVINFOBLOCK_HDR_SIZE   16 /* Size of superblock driver info header */

◆ H5F_FS_MERGE_METADATA

#define H5F_FS_MERGE_METADATA   0x01 /* Section can merge with metadata aggregator */

◆ H5F_FS_MERGE_RAWDATA

#define H5F_FS_MERGE_RAWDATA   0x02 /* Section can merge with small 'raw' data aggregator */

◆ H5F_HAVE_FREE_SPACE_MANAGER

#define H5F_HAVE_FREE_SPACE_MANAGER (   F)
Value:
((F)->shared->fs_strategy == H5F_FSPACE_STRATEGY_FSM_AGGR || \
(F)->shared->fs_strategy == H5F_FSPACE_STRATEGY_PAGE)

◆ H5F_MAX_DRVINFOBLOCK_SIZE

#define H5F_MAX_DRVINFOBLOCK_SIZE   1024 /* Maximum size of superblock driver info buffer */

◆ H5F_SIZEOF_CHKSUM

#define H5F_SIZEOF_CHKSUM   4 /* Checksum size in the file */

◆ H5F_SUPER_ALL_FLAGS

◆ H5F_SUPER_FILE_OK

#define H5F_SUPER_FILE_OK   0x02

◆ H5F_SUPER_STATUS_FLAGS_OFF

#define H5F_SUPER_STATUS_FLAGS_OFF (   v)    (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPER_STATUS_OFF(v))

◆ H5F_SUPER_STATUS_FLAGS_SIZE

#define H5F_SUPER_STATUS_FLAGS_SIZE (   v)    (v >= 2 ? 1 : 4)

◆ H5F_SUPER_STATUS_OFF

#define H5F_SUPER_STATUS_OFF (   v)    (v >= 2 ? (unsigned)2 : H5F_SUPER_STATUS_OFF_V01)

◆ H5F_SUPER_STATUS_OFF_V01

#define H5F_SUPER_STATUS_OFF_V01
Value:
(unsigned)(2 /* freespace, and root group versions */ \
+ 1 /* reserved */ \
+ 3 /* shared header vers, size of address, size of lengths */ \
+ 1 /* reserved */ \
+ 4) /* group leaf k, group internal k */

◆ H5F_SUPER_SWMR_WRITE_ACCESS

#define H5F_SUPER_SWMR_WRITE_ACCESS   0x04

◆ H5F_SUPER_WRITE_ACCESS

#define H5F_SUPER_WRITE_ACCESS   0x01

◆ H5F_SUPERBLOCK_FIXED_SIZE

#define H5F_SUPERBLOCK_FIXED_SIZE
Value:
+ 1) /* superblock version */

◆ H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE

#define H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE   7

◆ H5F_SUPERBLOCK_SIZE

#define H5F_SUPERBLOCK_SIZE (   s)
Value:
+ H5F_SUPERBLOCK_VARLEN_SIZE((s)->super_vers, (s)->sizeof_addr, (s)->sizeof_size))

◆ H5F_SUPERBLOCK_VARLEN_SIZE

#define H5F_SUPERBLOCK_VARLEN_SIZE (   v,
  sizeof_addr,
  sizeof_size 
)
Value:
( \
(v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) \
+ (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) \
+ (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))

◆ H5F_SUPERBLOCK_VARLEN_SIZE_COMMON

#define H5F_SUPERBLOCK_VARLEN_SIZE_COMMON
Value:
(2 /* freespace, and root group versions */ \
+ 1 /* reserved */ \
+ 3 /* shared header vers, size of address, size of lengths */ \
+ 1 /* reserved */ \
+ 4 /* group leaf k, group internal k */ \
+ 4) /* consistency flags */

◆ H5F_SUPERBLOCK_VARLEN_SIZE_V0

#define H5F_SUPERBLOCK_VARLEN_SIZE_V0 (   sizeof_addr,
  sizeof_size 
)
Value:
( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON /* Common variable-length info */ \
+ (sizeof_addr) /* base address */ \
+ (sizeof_addr) /* <unused> */ \
+ (sizeof_addr) /* EOF address */ \
+ (sizeof_addr) /* driver block address */ \
+ H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */

◆ H5F_SUPERBLOCK_VARLEN_SIZE_V1

#define H5F_SUPERBLOCK_VARLEN_SIZE_V1 (   sizeof_addr,
  sizeof_size 
)
Value:
( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON /* Common variable-length info */ \
+ 2 /* indexed B-tree internal k */ \
+ 2 /* reserved */ \
+ (sizeof_addr) /* base address */ \
+ (sizeof_addr) /* <unused> */ \
+ (sizeof_addr) /* EOF address */ \
+ (sizeof_addr) /* driver block address */ \
+ H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */

◆ H5F_SUPERBLOCK_VARLEN_SIZE_V2

#define H5F_SUPERBLOCK_VARLEN_SIZE_V2 (   sizeof_addr)
Value:
( 2 /* size of address, size of lengths */ \
+ 1 /* consistency flags */ \
+ (sizeof_addr) /* base address */ \
+ (sizeof_addr) /* superblock extension address */ \
+ (sizeof_addr) /* EOF address */ \
+ (sizeof_addr) /* root group object header address */ \
+ H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */

Typedef Documentation

◆ H5F_drvrinfo_cache_ud_t

◆ H5F_efc_t

typedef struct H5F_efc_t H5F_efc_t

◆ H5F_meta_accum_t

◆ H5F_mount_t

typedef struct H5F_mount_t H5F_mount_t

◆ H5F_mtab_t

typedef struct H5F_mtab_t H5F_mtab_t

◆ H5F_super_t

typedef struct H5F_super_t H5F_super_t

◆ H5F_superblock_cache_ud_t

Function Documentation

◆ H5F__accum_flush()

H5_DLL herr_t H5F__accum_flush ( H5F_shared_t f_sh)

◆ H5F__accum_free()

H5_DLL herr_t H5F__accum_free ( H5F_shared_t f,
H5FD_mem_t  type,
haddr_t  addr,
hsize_t  size 
)

◆ H5F__accum_read()

H5_DLL herr_t H5F__accum_read ( H5F_shared_t f_sh,
H5FD_mem_t  type,
haddr_t  addr,
size_t  size,
void *  buf 
)

◆ H5F__accum_reset()

H5_DLL herr_t H5F__accum_reset ( H5F_shared_t f_sh,
hbool_t  flush 
)

◆ H5F__accum_write()

H5_DLL herr_t H5F__accum_write ( H5F_shared_t f_sh,
H5FD_mem_t  type,
haddr_t  addr,
size_t  size,
const void *  buf 
)

◆ H5F__alloc()

H5_DLL haddr_t H5F__alloc ( H5F_t f,
H5F_mem_t  type,
hsize_t  size,
haddr_t frag_addr,
hsize_t frag_size 
)

◆ H5F__close()

H5_DLL herr_t H5F__close ( H5F_t f)

◆ H5F__close_mounts()

H5_DLL herr_t H5F__close_mounts ( H5F_t f)

◆ H5F__dest()

H5_DLL herr_t H5F__dest ( H5F_t f,
hbool_t  flush 
)

◆ H5F__efc_create()

H5_DLL H5F_efc_t* H5F__efc_create ( unsigned  max_nfiles)

◆ H5F__efc_destroy()

H5_DLL herr_t H5F__efc_destroy ( H5F_efc_t efc)

◆ H5F__efc_max_nfiles()

H5_DLL unsigned H5F__efc_max_nfiles ( H5F_efc_t efc)

◆ H5F__efc_open()

H5_DLL H5F_t* H5F__efc_open ( H5F_t parent,
const char *  name,
unsigned  flags,
hid_t  fcpl_id,
hid_t  fapl_id 
)

◆ H5F__efc_release()

H5_DLL herr_t H5F__efc_release ( H5F_efc_t efc)

◆ H5F__efc_try_close()

H5_DLL herr_t H5F__efc_try_close ( H5F_t f)

◆ H5F__evict_cache_entries()

H5_DLL herr_t H5F__evict_cache_entries ( H5F_t f)

◆ H5F__flush()

H5_DLL herr_t H5F__flush ( H5F_t f)

◆ H5F__format_convert()

H5_DLL herr_t H5F__format_convert ( H5F_t f)

◆ H5F__free()

H5_DLL herr_t H5F__free ( H5F_t f,
H5F_mem_t  type,
haddr_t  addr,
hsize_t  size 
)

◆ H5F__get_cont_info()

H5_DLL herr_t H5F__get_cont_info ( const H5F_t f,
H5VL_file_cont_info_t info 
)

◆ H5F__get_file_image()

H5_DLL ssize_t H5F__get_file_image ( H5F_t f,
void *  buf_ptr,
size_t  buf_len 
)

◆ H5F__get_info()

H5_DLL herr_t H5F__get_info ( H5F_t f,
H5F_info2_t finfo 
)

◆ H5F__get_max_eof_eoa()

H5_DLL herr_t H5F__get_max_eof_eoa ( const H5F_t f,
haddr_t max_eof_eoa 
)

◆ H5F__is_hdf5()

H5_DLL htri_t H5F__is_hdf5 ( const char *  name,
hid_t  fapl_id 
)

◆ H5F__mount()

H5_DLL herr_t H5F__mount ( H5G_loc_t loc,
const char *  name,
H5F_t child,
hid_t  plist_id 
)

◆ H5F__mount_count_ids()

H5_DLL herr_t H5F__mount_count_ids ( H5F_t f,
unsigned nopen_files,
unsigned nopen_objs 
)

◆ H5F__post_open()

H5_DLL herr_t H5F__post_open ( H5F_t f)

◆ H5F__reopen()

H5_DLL H5F_t* H5F__reopen ( H5F_t f)

◆ H5F__set_base_addr()

H5_DLL herr_t H5F__set_base_addr ( const H5F_t f,
haddr_t  addr 
)

◆ H5F__set_eoa()

H5_DLL herr_t H5F__set_eoa ( const H5F_t f,
H5F_mem_t  type,
haddr_t  addr 
)

◆ H5F__set_libver_bounds()

H5_DLL herr_t H5F__set_libver_bounds ( H5F_t f,
H5F_libver_t  low,
H5F_libver_t  high 
)

◆ H5F__set_paged_aggr()

H5_DLL herr_t H5F__set_paged_aggr ( const H5F_t f,
hbool_t  paged 
)

◆ H5F__sfile_add()

H5_DLL herr_t H5F__sfile_add ( H5F_shared_t shared)

◆ H5F__sfile_remove()

H5_DLL herr_t H5F__sfile_remove ( H5F_shared_t shared)

◆ H5F__sfile_search()

H5_DLL H5F_shared_t* H5F__sfile_search ( H5FD_t lf)

◆ H5F__start_swmr_write()

H5_DLL herr_t H5F__start_swmr_write ( H5F_t f)

◆ H5F__super_ext_close()

H5_DLL herr_t H5F__super_ext_close ( H5F_t f,
H5O_loc_t ext_ptr,
hbool_t  was_created 
)

◆ H5F__super_ext_open()

H5_DLL herr_t H5F__super_ext_open ( H5F_t f,
haddr_t  ext_addr,
H5O_loc_t ext_ptr 
)

◆ H5F__super_ext_remove_msg()

H5_DLL herr_t H5F__super_ext_remove_msg ( H5F_t f,
unsigned  id 
)

◆ H5F__super_ext_write_msg()

H5_DLL herr_t H5F__super_ext_write_msg ( H5F_t f,
unsigned  id,
void *  mesg,
hbool_t  may_create,
unsigned  mesg_flags 
)

◆ H5F__super_free()

H5_DLL herr_t H5F__super_free ( H5F_super_t sblock)

◆ H5F__super_init()

H5_DLL herr_t H5F__super_init ( H5F_t f)

◆ H5F__super_read()

H5_DLL herr_t H5F__super_read ( H5F_t f,
H5P_genplist_t fa_plist,
hbool_t  initial_read 
)

◆ H5F__super_size()

H5_DLL herr_t H5F__super_size ( H5F_t f,
hsize_t super_size,
hsize_t super_ext_size 
)

◆ H5F__try_extend()

H5_DLL htri_t H5F__try_extend ( H5F_t f,
H5FD_mem_t  type,
haddr_t  blk_end,
hsize_t  extra_requested 
)

◆ H5F__unmount()

H5_DLL herr_t H5F__unmount ( H5G_loc_t loc,
const char *  name 
)

◆ H5FL_EXTERN() [1/2]

H5FL_EXTERN ( H5F_shared_t  )

◆ H5FL_EXTERN() [2/2]

H5FL_EXTERN ( H5F_t  )
H5F_SUPERBLOCK_VARLEN_SIZE_V0
#define H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size)
Definition: H5Fpkg.h:105
H5F_SIGNATURE_LEN
#define H5F_SIGNATURE_LEN
Definition: H5Fprivate.h:537
H5F_FSPACE_STRATEGY_FSM_AGGR
@ H5F_FSPACE_STRATEGY_FSM_AGGR
Definition: H5Fpublic.h:175
H5F_SUPERBLOCK_VARLEN_SIZE
#define H5F_SUPERBLOCK_VARLEN_SIZE(v, sizeof_addr, sizeof_size)
Definition: H5Fpkg.h:129
H5F_SIZEOF_CHKSUM
#define H5F_SIZEOF_CHKSUM
Definition: H5Fpkg.h:76
H5F_SUPERBLOCK_FIXED_SIZE
#define H5F_SUPERBLOCK_FIXED_SIZE
Definition: H5Fpkg.h:79
unsigned
unsigned
Definition: H5overflow.txt:31
H5F_FSPACE_STRATEGY_PAGE
@ H5F_FSPACE_STRATEGY_PAGE
Definition: H5Fpublic.h:177
H5F_SUPERBLOCK_VARLEN_SIZE_V1
#define H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size)
Definition: H5Fpkg.h:112
H5F_SUPERBLOCK_VARLEN_SIZE_V2
#define H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr)
Definition: H5Fpkg.h:121
H5F_SUPERBLOCK_VARLEN_SIZE_COMMON
#define H5F_SUPERBLOCK_VARLEN_SIZE_COMMON
Definition: H5Fpkg.h:98
H5G_SIZEOF_ENTRY
#define H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)
Definition: H5Gprivate.h:41