Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2026-07-28 The HDF5 Field Guide

Loading...
Searching...
No Matches
H5Fpublic.h File Reference
`#include "H5public.h"`
`#include "H5ACpublic.h"`
`#include "H5Ipublic.h"`

## Data Structures
struct | H5F_info1_t
struct | H5F_info2_t
struct | H5F_retry_info_t
struct | H5F_sect_info_t

## Macros
#define | H5F_ACC_CREAT (0x0010u)
#define | H5F_ACC_DEBUG (0x0000u)
#define | H5F_ACC_DEFAULT (0xffffu)
#define | H5F_ACC_EXCL (0x0004u)
#define | H5F_ACC_RDONLY (0x0000u)
#define | H5F_ACC_RDWR (0x0001u)
#define | H5F_ACC_SWMR_READ (0x0040u)
#define | H5F_ACC_SWMR_WRITE (0x0020u)
#define | H5F_ACC_TRUNC (0x0002u)
#define | H5F_FAMILY_DEFAULT 0 /* (hsize_t) */
#define | H5F_MPIO_DEBUG_KEY "H5F_mpio_debug_key"
#define | H5F_NUM_METADATA_READ_RETRY_TYPES 21
#define | H5F_OBJ_ALL (H5F_OBJ_FILE | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_DATATYPE | H5F_OBJ_ATTR)
#define | H5F_OBJ_ATTR (0x0010u)
#define | H5F_OBJ_DATASET (0x0002u)
#define | H5F_OBJ_DATATYPE (0x0008u)
#define | H5F_OBJ_FILE (0x0001u)
#define | H5F_OBJ_GROUP (0x0004u)
#define | H5F_OBJ_LOCAL (0x0020u)
#define | H5F_PAGE_BUFFER_SIZE_DEFAULT SIZE_MAX
#define | H5F_RFIC_ALL (H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS)
#define | H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS (0x0001u)
#define | H5F_UNLIMITED HSIZE_UNDEF

## Typedefs
typedef herr_t(* | H5F_flush_cb_t) (hid_t object_id, void *udata)

## Enumerations
enum | H5F_close_degree_t { H5F_CLOSE_DEFAULT = 0 , H5F_CLOSE_WEAK = 1 , H5F_CLOSE_SEMI = 2 , H5F_CLOSE_STRONG = 3 }
enum | H5F_file_space_type_t { H5F_FILE_SPACE_DEFAULT = 0 , H5F_FILE_SPACE_ALL_PERSIST = 1 , H5F_FILE_SPACE_ALL = 2 , H5F_FILE_SPACE_AGGR_VFD = 3 , H5F_FILE_SPACE_VFD = 4 , H5F_FILE_SPACE_NTYPES }
enum | H5F_fspace_strategy_t { H5F_FSPACE_STRATEGY_FSM_AGGR = 0 , H5F_FSPACE_STRATEGY_PAGE , H5F_FSPACE_STRATEGY_AGGR = 2 , H5F_FSPACE_STRATEGY_NONE = 3 , H5F_FSPACE_STRATEGY_NTYPES }
enum | H5F_libver_t { H5F_LIBVER_ERROR = -1 , H5F_LIBVER_EARLIEST = 0 , H5F_LIBVER_V18 = 1 , H5F_LIBVER_V110 = 2 , H5F_LIBVER_V112 = 3 , H5F_LIBVER_V114 = 4 , H5F_LIBVER_V200 = 5 , H5F_LIBVER_LATEST = 5 , H5F_LIBVER_NBOUNDS }
enum | H5F_mem_t { H5FD_MEM_NOLIST = -1 , H5FD_MEM_DEFAULT = 0 , H5FD_MEM_SUPER = 1 , H5FD_MEM_BTREE = 2 , H5FD_MEM_DRAW = 3 , H5FD_MEM_GHEAP = 4 , H5FD_MEM_LHEAP = 5 , H5FD_MEM_OHDR = 6 , H5FD_MEM_NTYPES }
enum | H5F_scope_t { H5F_SCOPE_LOCAL = 0 , H5F_SCOPE_GLOBAL = 1 }

## Functions
herr_t | H5Fclear_elink_file_cache (hid_t file_id)
| Clears the external link open file cache.
herr_t | H5Fclose (hid_t file_id)
| Terminates access to an HDF5 file.
herr_t | H5Fclose_async (hid_t file_id, hid_t es_id)
hid_t | H5Fcreate (const char *filename, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
| Creates an HDF5 file.
hid_t | H5Fcreate_async (const char *filename, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t es_id)
herr_t | H5Fdelete (const char *filename, hid_t fapl_id)
| Deletes an HDF5 file.
herr_t | H5Fflush (hid_t object_id, H5F_scope_t scope)
| Flushes all buffers associated with a file to storage.
herr_t | H5Fflush_async (hid_t object_id, H5F_scope_t scope, hid_t es_id)
hid_t | H5Fget_access_plist (hid_t file_id)
| Returns a file access property list identifier.
hid_t | H5Fget_create_plist (hid_t file_id)
| Returns a file creation property list identifier.
herr_t | H5Fget_dset_no_attrs_hint (hid_t file_id, bool *minimize)
| Retrieves the setting for whether or not a file will create minimized dataset object headers.
herr_t | H5Fget_eoa (hid_t file_id, haddr_t *eoa)
| Retrieves the file's end-of-allocation (EOA).
ssize_t | H5Fget_file_image (hid_t file_id, void *buf_ptr, size_t buf_len)
| Retrieves a copy of the image of an existing, open file.
herr_t | H5Fget_fileno (hid_t file_id, unsigned long *fileno)
| Retrieves a file's file number that uniquely identifies an open file.
herr_t | H5Fget_filesize (hid_t file_id, hsize_t *size)
| Returns the size of an HDF5 file (in bytes).
ssize_t | H5Fget_free_sections (hid_t file_id, H5F_mem_t type, size_t nsects, H5F_sect_info_t *sect_info)
| Retrieves free-space section information for a file.
hssize_t | H5Fget_freespace (hid_t file_id)
| Returns the amount of free space in a file (in bytes).
herr_t | H5Fget_info1 (hid_t obj_id, H5F_info1_t *file_info)
| Retrieves global file information.
herr_t | H5Fget_info2 (hid_t obj_id, H5F_info2_t *file_info)
| Retrieves global file information.
herr_t | H5Fget_intent (hid_t file_id, unsigned *intent)
| Determines the read/write or read-only status of a file.
herr_t | H5Fget_mdc_config (hid_t file_id, H5AC_cache_config_t *config_ptr)
| Obtains current metadata cache configuration for target file.
herr_t | H5Fget_mdc_hit_rate (hid_t file_id, double *hit_rate_ptr)
| Obtains target file's metadata cache hit rate.
herr_t | H5Fget_mdc_image_info (hid_t file_id, haddr_t *image_addr, hsize_t *image_size)
| Obtains information about a cache image if it exists.
herr_t | H5Fget_mdc_logging_status (hid_t file_id, bool *is_enabled, bool *is_currently_logging)
| Gets the current metadata cache logging status.
herr_t | H5Fget_mdc_size (hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr)
| Obtains current metadata cache size data for specified file.
herr_t | H5Fget_metadata_read_retry_info (hid_t file_id, H5F_retry_info_t *info)
| Retrieves the collection of read retries for metadata entries with checksum.
herr_t | H5Fget_mpi_atomicity (hid_t file_id, bool *flag)
| Retrieves the atomicity mode in use.
ssize_t | H5Fget_name (hid_t obj_id, char *name, size_t size)
| Retrieves name of file to which object belongs.
ssize_t | H5Fget_obj_count (hid_t file_id, unsigned types)
| Returns the number of open object identifiers for an open file.
ssize_t | H5Fget_obj_ids (hid_t file_id, unsigned types, size_t max_objs, hid_t *obj_id_list)
| Returns a list of open object identifiers.
herr_t | H5Fget_page_buffering_stats (hid_t file_id, unsigned accesses[2], unsigned hits[2], unsigned misses[2], unsigned evictions[2], unsigned bypasses[2])
| Retrieves statistics about page access when it is enabled.
herr_t | H5Fget_vfd_handle (hid_t file_id, hid_t fapl, void **file_handle)
| Returns pointer to the file handle from the virtual file driver.
herr_t | H5Fincrement_filesize (hid_t file_id, hsize_t increment)
| Sets the file' EOA to the maximum of (EOA, EOF) + increment.
htri_t | H5Fis_accessible (const char *container_name, hid_t fapl_id)
| Checks if a file can be opened with a given file access property list.
htri_t | H5Fis_hdf5 (const char *file_name)
| Determines whether a file is in the HDF5 format.
herr_t | H5Fmount (hid_t loc_id, const char *name, hid_t child, hid_t plist)
| Mounts an HDF5 file.
hid_t | H5Fopen (const char *filename, unsigned flags, hid_t fapl_id)
| Opens an existing HDF5 file.
hid_t | H5Fopen_async (const char *filename, unsigned flags, hid_t access_plist, hid_t es_id)
hid_t | H5Freopen (hid_t file_id)
| Returns a new identifier for a previously-opened HDF5 file.
hid_t | H5Freopen_async (hid_t file_id, hid_t es_id)
herr_t | H5Freset_mdc_hit_rate_stats (hid_t file_id)
| Resets hit rate statistics counters for the target file.
herr_t | H5Freset_page_buffering_stats (hid_t file_id)
| Resets the page buffer statistics.
herr_t | H5Fset_dset_no_attrs_hint (hid_t file_id, bool minimize)
| Sets the flag to create minimized dataset object headers.
herr_t | H5Fset_latest_format (hid_t file_id, bool latest_format)
| Sets the latest version of the library to be used for writing objects.
herr_t | H5Fset_libver_bounds (hid_t file_id, H5F_libver_t low, H5F_libver_t high)
| Enables the switch of version bounds setting for a file.
herr_t | H5Fset_mdc_config (hid_t file_id, const H5AC_cache_config_t *config_ptr)
| Attempts to configure metadata cache of target file.
herr_t | H5Fset_mpi_atomicity (hid_t file_id, bool flag)
| Sets the MPI atomicity mode.
herr_t | H5Fstart_mdc_logging (hid_t file_id)
| Starts logging metadata cache events if logging was previously enabled.
herr_t | H5Fstart_swmr_write (hid_t file_id)
| Retrieves free-space section information for a file.
herr_t | H5Fstop_mdc_logging (hid_t file_id)
| Stops logging metadata cache events if logging was previously enabled and is currently ongoing.
herr_t | H5Funmount (hid_t loc_id, const char *name)
| Un-mounts an HDF5 file.

## Macro Definition Documentation

## ◆ H5F_ACC_CREAT

#define H5F_ACC_CREAT (0x0010u)

Create non-existing files

Since
  1.4.0

## ◆ H5F_ACC_DEBUG

#define H5F_ACC_DEBUG (0x0000u)

Print debug info

Deprecated
  1.8.16

## ◆ H5F_ACC_DEFAULT

#define H5F_ACC_DEFAULT (0xffffu)

Default file access

Since
  1.8.3

## ◆ H5F_ACC_EXCL

#define H5F_ACC_EXCL (0x0004u)

Fail if file already exists

Since
  1.0.0

## ◆ H5F_ACC_RDONLY

#define H5F_ACC_RDONLY (0x0000u)

Absence of RDWR: read-only

Since
  1.0.0

## ◆ H5F_ACC_RDWR

#define H5F_ACC_RDWR (0x0001u)

Open for read and write

Since
  1.0.0

## ◆ H5F_ACC_SWMR_READ

#define H5F_ACC_SWMR_READ (0x0040u)

Indicates that this file is open for reading in a single-writer/multi-reader (SWMR) scenario. Note that the process(es) opening the file for SWMR reading must also open the file with the H5F_ACC_RDONLY flag.

Since
  1.10.0

## ◆ H5F_ACC_SWMR_WRITE

#define H5F_ACC_SWMR_WRITE (0x0020u)

Indicates that this file is open for writing in a single-writer/multi-reader (SWMR) scenario. Note that the process(es) opening the file for reading must open the file with H5F_ACC_RDONLY and use the H5F_ACC_SWMR_READ access flag.

Since
  1.10.0

## ◆ H5F_ACC_TRUNC

#define H5F_ACC_TRUNC (0x0002u)

Overwrite existing files

Since
  1.0.0

## ◆ H5F_FAMILY_DEFAULT

#define H5F_FAMILY_DEFAULT 0 /* (hsize_t) */

Default value to pass into H5Pset_fapl_family() when the size of each file member is unknown

Since
  1.8.0

## ◆ H5F_MPIO_DEBUG_KEY

#define H5F_MPIO_DEBUG_KEY "H5F_mpio_debug_key"

Use this constant string as the MPI_Info key to set H5Fmpio debug flags. To turn on H5Fmpio debug flags, set the MPI_Info value with this key to have the value of a string consisting of the characters that turn on the desired flags.

Since
  1.0.0

## ◆ H5F_NUM_METADATA_READ_RETRY_TYPES

#define H5F_NUM_METADATA_READ_RETRY_TYPES 21

Total number of metadata read retry types

Since
  1.10.0

## ◆ H5F_OBJ_ALL

#define H5F_OBJ_ALL (H5F_OBJ_FILE | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_DATATYPE | H5F_OBJ_ATTR)

All objects

Since
  1.6.0

## ◆ H5F_OBJ_ATTR

#define H5F_OBJ_ATTR (0x0010u)

Attribute objects

Since
  1.6.0

## ◆ H5F_OBJ_DATASET

#define H5F_OBJ_DATASET (0x0002u)

Dataset objects

Since
  1.6.0

## ◆ H5F_OBJ_DATATYPE

#define H5F_OBJ_DATATYPE (0x0008u)

Datatype objects

Since
  1.6.0

## ◆ H5F_OBJ_FILE

#define H5F_OBJ_FILE (0x0001u)

File objects

Since
  1.6.0

## ◆ H5F_OBJ_GROUP

#define H5F_OBJ_GROUP (0x0004u)

Group objects

Since
  1.6.0

## ◆ H5F_OBJ_LOCAL

#define H5F_OBJ_LOCAL (0x0020u)

Restrict search to objects opened through current file ID (as opposed to objects opened through any file ID accessing this file)

Since
  1.6.5

## ◆ H5F_PAGE_BUFFER_SIZE_DEFAULT

#define H5F_PAGE_BUFFER_SIZE_DEFAULT SIZE_MAX

Macro used to "unset" the page buffer size in a FAPL

Since
  2.0.0

## ◆ H5F_RFIC_ALL

#define H5F_RFIC_ALL (H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS)

Suppress all format integrity check errors. See documentation for H5Pset_relax_file_integrity_checks() for details.

Since
  1.14.4

## ◆ H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS

#define H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS (0x0001u)

Suppress errors for numeric datatypes with an unusually high number of unused bits. See documentation for H5Pset_relax_file_integrity_checks() for details.

Since
  1.14.4

## ◆ H5F_UNLIMITED

#define H5F_UNLIMITED HSIZE_UNDEF

Unlimited file size for H5Pset_external()

Since
  1.0.0

## Typedef Documentation

## ◆ H5F_flush_cb_t

typedef herr_t(* H5F_flush_cb_t) (hid_t object_id, void *udata)

Callback for H5Pset_object_flush_cb() in a file access property list

## Enumeration Type Documentation

## ◆ H5F_close_degree_t

enum H5F_close_degree_t

How does file close behave?

Enumerator
H5F_CLOSE_DEFAULT | Use the degree pre-defined by underlying VFD
H5F_CLOSE_WEAK | File closes only after all opened objects are closed
H5F_CLOSE_SEMI | If no opened objects, file is closed; otherwise, file close fails
H5F_CLOSE_STRONG | If there are opened objects, close them first, then close file

## ◆ H5F_file_space_type_t

enum H5F_file_space_type_t

File space handling strategy for release 1.10.0

Deprecated
  1.10.1

Enumerator
H5F_FILE_SPACE_DEFAULT | Default (or current) free space strategy setting
H5F_FILE_SPACE_ALL_PERSIST | Persistent free space managers, aggregators, virtual file driver
H5F_FILE_SPACE_ALL | Non-persistent free space managers, aggregators, virtual file driver This is the library default
H5F_FILE_SPACE_AGGR_VFD | Aggregators, Virtual file driver
H5F_FILE_SPACE_VFD | Virtual file driver
H5F_FILE_SPACE_NTYPES | Sentinel

## ◆ H5F_fspace_strategy_t

enum H5F_fspace_strategy_t

File space handling strategy

Enumerator
H5F_FSPACE_STRATEGY_FSM_AGGR | Mechanisms: free-space managers, aggregators, and virtual file drivers This is the library default when not set
H5F_FSPACE_STRATEGY_PAGE | Mechanisms: free-space managers with embedded paged aggregation and virtual file drivers
H5F_FSPACE_STRATEGY_AGGR | Mechanisms: aggregators and virtual file drivers
H5F_FSPACE_STRATEGY_NONE | Mechanisms: virtual file drivers
H5F_FSPACE_STRATEGY_NTYPES | Sentinel

## ◆ H5F_libver_t

enum H5F_libver_t

Library's format versions

Enumerator
H5F_LIBVER_ERROR |
H5F_LIBVER_EARLIEST | Use the earliest possible file format for storing objects
H5F_LIBVER_V18 | Use the 1.8 file format for storing objects
H5F_LIBVER_V110 | Use the 1.10 file format for storing objects
H5F_LIBVER_V112 | Use the 1.12 file format for storing objects
H5F_LIBVER_V114 | Use the 1.14 file format for storing objects
H5F_LIBVER_V200 | Use the 2.0 file format for storing objects
H5F_LIBVER_LATEST | Use the latest file format for storing objects
H5F_LIBVER_NBOUNDS | Sentinel

## ◆ H5F_mem_t

enum H5F_mem_t

Types of allocation requests. The values larger than H5FD_MEM_DEFAULT should not change other than adding new types to the end. These numbers might appear in files.

Enumerator
H5FD_MEM_NOLIST | Data should not appear in the free list. Must be negative.
H5FD_MEM_DEFAULT | Value not yet set. Can also be the datatype set in a larger allocation that will be suballocated by the library. Must be zero.
H5FD_MEM_SUPER | Superblock data
H5FD_MEM_BTREE | B-tree data
H5FD_MEM_DRAW | Raw data (content of datasets, etc.)
H5FD_MEM_GHEAP | Global heap data
H5FD_MEM_LHEAP | Local heap data
H5FD_MEM_OHDR | Object header data
H5FD_MEM_NTYPES | Sentinel value - must be last

## ◆ H5F_scope_t

enum H5F_scope_t

The scope of an operation such as H5Fflush(), e.g., a single file vs. a set of mounted files

Enumerator
H5F_SCOPE_LOCAL | The specified file handle only
H5F_SCOPE_GLOBAL | The entire virtual file