Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5  1.15.0
API Reference
H5FDpublic.h File Reference
#include "H5public.h"
#include "H5Fpublic.h"
#include "H5Ipublic.h"
+ Include dependency graph for H5FDpublic.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  H5FD_file_image_callbacks_t
 
struct  H5FD_ctl_memcpy_args_t
 

Macros

#define H5FD_VFD_DEFAULT   0 /* Default VFL driver value */
 
#define H5_VFD_INVALID   ((H5FD_class_value_t)(-1))
 
#define H5_VFD_SEC2   ((H5FD_class_value_t)(0))
 
#define H5_VFD_CORE   ((H5FD_class_value_t)(1))
 
#define H5_VFD_LOG   ((H5FD_class_value_t)(2))
 
#define H5_VFD_FAMILY   ((H5FD_class_value_t)(3))
 
#define H5_VFD_MULTI   ((H5FD_class_value_t)(4))
 
#define H5_VFD_STDIO   ((H5FD_class_value_t)(5))
 
#define H5_VFD_SPLITTER   ((H5FD_class_value_t)(6))
 
#define H5_VFD_MPIO   ((H5FD_class_value_t)(7))
 
#define H5_VFD_DIRECT   ((H5FD_class_value_t)(8))
 
#define H5_VFD_MIRROR   ((H5FD_class_value_t)(9))
 
#define H5_VFD_HDFS   ((H5FD_class_value_t)(10))
 
#define H5_VFD_ROS3   ((H5FD_class_value_t)(11))
 
#define H5_VFD_SUBFILING   ((H5FD_class_value_t)(12))
 
#define H5_VFD_IOC   ((H5FD_class_value_t)(13))
 
#define H5_VFD_ONION   ((H5FD_class_value_t)(14))
 
#define H5_VFD_RESERVED   256
 
#define H5_VFD_MAX   65535
 
#define H5FD_FEAT_AGGREGATE_METADATA   0x00000001
 
#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE   0x00000002
 
#define H5FD_FEAT_ACCUMULATE_METADATA_READ   0x00000004
 
#define H5FD_FEAT_ACCUMULATE_METADATA    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
 
#define H5FD_FEAT_DATA_SIEVE   0x00000008
 
#define H5FD_FEAT_AGGREGATE_SMALLDATA   0x00000010
 
#define H5FD_FEAT_IGNORE_DRVRINFO   0x00000020
 
#define H5FD_FEAT_DIRTY_DRVRINFO_LOAD   0x00000040
 
#define H5FD_FEAT_POSIX_COMPAT_HANDLE   0x00000080
 
#define H5FD_FEAT_HAS_MPI   0x00000100
 
#define H5FD_FEAT_ALLOCATE_EARLY   0x00000200
 
#define H5FD_FEAT_ALLOW_FILE_IMAGE   0x00000400
 
#define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS   0x00000800
 
#define H5FD_FEAT_SUPPORTS_SWMR_IO   0x00001000
 
#define H5FD_FEAT_USE_ALLOC_SIZE   0x00002000
 
#define H5FD_FEAT_PAGED_AGGR   0x00004000
 
#define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE   0x00008000
 
#define H5FD_FEAT_MEMMANAGE   0x00010000
 
#define H5FD_CTL_OPC_RESERVED   512 /* Opcodes below this value are reserved for library use */
 
#define H5FD_CTL_OPC_EXPER_MIN
 
#define H5FD_CTL_OPC_EXPER_MAX    (H5FD_CTL_OPC_RESERVED + 511) /* Maximum opcode value available for experimental use */
 
#define H5FD_CTL_INVALID_OPCODE   0
 
#define H5FD_CTL_TEST_OPCODE   1
 
#define H5FD_CTL_GET_MPI_COMMUNICATOR_OPCODE   2
 
#define H5FD_CTL_GET_MPI_RANK_OPCODE   3
 
#define H5FD_CTL_GET_MPI_SIZE_OPCODE   4
 
#define H5FD_CTL_MEM_ALLOC   5
 
#define H5FD_CTL_MEM_FREE   6
 
#define H5FD_CTL_MEM_COPY   7
 
#define H5FD_CTL_GET_MPI_FILE_SYNC_OPCODE   8
 
#define H5FD_CTL_FAIL_IF_UNKNOWN_FLAG   0x0001
 
#define H5FD_CTL_ROUTE_TO_TERMINAL_VFD_FLAG   0x0002
 

Typedefs

typedef int H5FD_class_value_t
 
typedef enum H5F_mem_t H5FD_mem_t
 

Enumerations

enum  H5FD_file_image_op_t {
  H5FD_FILE_IMAGE_OP_NO_OP , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET ,
  H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE , H5FD_FILE_IMAGE_OP_FILE_OPEN , H5FD_FILE_IMAGE_OP_FILE_RESIZE , H5FD_FILE_IMAGE_OP_FILE_CLOSE ,
  H5FD_FILE_IMAGE_OP_NO_OP , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET ,
  H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE , H5FD_FILE_IMAGE_OP_FILE_OPEN , H5FD_FILE_IMAGE_OP_FILE_RESIZE , H5FD_FILE_IMAGE_OP_FILE_CLOSE
}
 

Functions

herr_t H5FDdriver_query (hid_t driver_id, unsigned long *flags)
 Allows querying a VFD ID for features before the file is opened. More...
 

Macro Definition Documentation

◆ H5_VFD_CORE

#define H5_VFD_CORE   ((H5FD_class_value_t)(1))

◆ H5_VFD_DIRECT

#define H5_VFD_DIRECT   ((H5FD_class_value_t)(8))

◆ H5_VFD_FAMILY

#define H5_VFD_FAMILY   ((H5FD_class_value_t)(3))

◆ H5_VFD_HDFS

#define H5_VFD_HDFS   ((H5FD_class_value_t)(10))

◆ H5_VFD_INVALID

#define H5_VFD_INVALID   ((H5FD_class_value_t)(-1))

◆ H5_VFD_IOC

#define H5_VFD_IOC   ((H5FD_class_value_t)(13))

◆ H5_VFD_LOG

#define H5_VFD_LOG   ((H5FD_class_value_t)(2))

◆ H5_VFD_MAX

#define H5_VFD_MAX   65535

◆ H5_VFD_MIRROR

#define H5_VFD_MIRROR   ((H5FD_class_value_t)(9))

◆ H5_VFD_MPIO

#define H5_VFD_MPIO   ((H5FD_class_value_t)(7))

◆ H5_VFD_MULTI

#define H5_VFD_MULTI   ((H5FD_class_value_t)(4))

◆ H5_VFD_ONION

#define H5_VFD_ONION   ((H5FD_class_value_t)(14))

◆ H5_VFD_RESERVED

#define H5_VFD_RESERVED   256

◆ H5_VFD_ROS3

#define H5_VFD_ROS3   ((H5FD_class_value_t)(11))

◆ H5_VFD_SEC2

#define H5_VFD_SEC2   ((H5FD_class_value_t)(0))

◆ H5_VFD_SPLITTER

#define H5_VFD_SPLITTER   ((H5FD_class_value_t)(6))

◆ H5_VFD_STDIO

#define H5_VFD_STDIO   ((H5FD_class_value_t)(5))

◆ H5_VFD_SUBFILING

#define H5_VFD_SUBFILING   ((H5FD_class_value_t)(12))

◆ H5FD_CTL_FAIL_IF_UNKNOWN_FLAG

#define H5FD_CTL_FAIL_IF_UNKNOWN_FLAG   0x0001

◆ H5FD_CTL_GET_MPI_COMMUNICATOR_OPCODE

#define H5FD_CTL_GET_MPI_COMMUNICATOR_OPCODE   2

◆ H5FD_CTL_GET_MPI_FILE_SYNC_OPCODE

#define H5FD_CTL_GET_MPI_FILE_SYNC_OPCODE   8

◆ H5FD_CTL_GET_MPI_RANK_OPCODE

#define H5FD_CTL_GET_MPI_RANK_OPCODE   3

◆ H5FD_CTL_GET_MPI_SIZE_OPCODE

#define H5FD_CTL_GET_MPI_SIZE_OPCODE   4

◆ H5FD_CTL_INVALID_OPCODE

#define H5FD_CTL_INVALID_OPCODE   0

◆ H5FD_CTL_MEM_ALLOC

#define H5FD_CTL_MEM_ALLOC   5

◆ H5FD_CTL_MEM_COPY

#define H5FD_CTL_MEM_COPY   7

◆ H5FD_CTL_MEM_FREE

#define H5FD_CTL_MEM_FREE   6

◆ H5FD_CTL_OPC_EXPER_MAX

#define H5FD_CTL_OPC_EXPER_MAX    (H5FD_CTL_OPC_RESERVED + 511) /* Maximum opcode value available for experimental use */

◆ H5FD_CTL_OPC_EXPER_MIN

#define H5FD_CTL_OPC_EXPER_MIN
Value:
H5FD_CTL_OPC_RESERVED /* Minimum opcode value available for experimental use \
*/
#define H5FD_CTL_OPC_RESERVED
Definition: H5FDpublic.h:171

◆ H5FD_CTL_OPC_RESERVED

#define H5FD_CTL_OPC_RESERVED   512 /* Opcodes below this value are reserved for library use */

◆ H5FD_CTL_ROUTE_TO_TERMINAL_VFD_FLAG

#define H5FD_CTL_ROUTE_TO_TERMINAL_VFD_FLAG   0x0002

◆ H5FD_CTL_TEST_OPCODE

#define H5FD_CTL_TEST_OPCODE   1

◆ H5FD_FEAT_ACCUMULATE_METADATA

#define H5FD_FEAT_ACCUMULATE_METADATA    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)

◆ H5FD_FEAT_ACCUMULATE_METADATA_READ

#define H5FD_FEAT_ACCUMULATE_METADATA_READ   0x00000004

◆ H5FD_FEAT_ACCUMULATE_METADATA_WRITE

#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE   0x00000002

◆ H5FD_FEAT_AGGREGATE_METADATA

#define H5FD_FEAT_AGGREGATE_METADATA   0x00000001

◆ H5FD_FEAT_AGGREGATE_SMALLDATA

#define H5FD_FEAT_AGGREGATE_SMALLDATA   0x00000010

◆ H5FD_FEAT_ALLOCATE_EARLY

#define H5FD_FEAT_ALLOCATE_EARLY   0x00000200

◆ H5FD_FEAT_ALLOW_FILE_IMAGE

#define H5FD_FEAT_ALLOW_FILE_IMAGE   0x00000400

◆ H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS

#define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS   0x00000800

◆ H5FD_FEAT_DATA_SIEVE

#define H5FD_FEAT_DATA_SIEVE   0x00000008

◆ H5FD_FEAT_DEFAULT_VFD_COMPATIBLE

#define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE   0x00008000

◆ H5FD_FEAT_DIRTY_DRVRINFO_LOAD

#define H5FD_FEAT_DIRTY_DRVRINFO_LOAD   0x00000040

◆ H5FD_FEAT_HAS_MPI

#define H5FD_FEAT_HAS_MPI   0x00000100

◆ H5FD_FEAT_IGNORE_DRVRINFO

#define H5FD_FEAT_IGNORE_DRVRINFO   0x00000020

◆ H5FD_FEAT_MEMMANAGE

#define H5FD_FEAT_MEMMANAGE   0x00010000

◆ H5FD_FEAT_PAGED_AGGR

#define H5FD_FEAT_PAGED_AGGR   0x00004000

◆ H5FD_FEAT_POSIX_COMPAT_HANDLE

#define H5FD_FEAT_POSIX_COMPAT_HANDLE   0x00000080

◆ H5FD_FEAT_SUPPORTS_SWMR_IO

#define H5FD_FEAT_SUPPORTS_SWMR_IO   0x00001000

◆ H5FD_FEAT_USE_ALLOC_SIZE

#define H5FD_FEAT_USE_ALLOC_SIZE   0x00002000

◆ H5FD_VFD_DEFAULT

#define H5FD_VFD_DEFAULT   0 /* Default VFL driver value */

Typedef Documentation

◆ H5FD_class_value_t

typedef int H5FD_class_value_t

◆ H5FD_mem_t

typedef enum H5F_mem_t H5FD_mem_t

Enumeration Type Documentation

◆ H5FD_file_image_op_t

Define enum for the source of file image callbacks

Enumerator
H5FD_FILE_IMAGE_OP_NO_OP 
H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being set in a file access property list (FAPL)

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied when a FAPL is copied

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being retrieved from a FAPL

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE 

Passed to the image_free callback when a file image buffer is to be released during a FAPL close operation

H5FD_FILE_IMAGE_OP_FILE_OPEN 

Passed to the image_malloc and image_memcpy callbackswhen a file image buffer is to be copied during a file open operation
While the file image being opened will typically be copied from a FAPL, this need not always be the case. For example, the core file driver, also known as the memory file driver, takes its initial image from a file.

H5FD_FILE_IMAGE_OP_FILE_RESIZE 

Passed to the image_realloc callback when a file driver needs to resize an image buffer

H5FD_FILE_IMAGE_OP_FILE_CLOSE 

Passed to the image_free callback when an image buffer is to be released during a file close operation

H5FD_FILE_IMAGE_OP_NO_OP 
H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being set in a file access property list (FAPL)

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied when a FAPL is copied

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being retrieved from a FAPL

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE 

Passed to the image_free callback when a file image buffer is to be released during a FAPL close operation

H5FD_FILE_IMAGE_OP_FILE_OPEN 

Passed to the image_malloc and image_memcpy callbackswhen a file image buffer is to be copied during a file open operation
While the file image being opened will typically be copied from a FAPL, this need not always be the case. For example, the core file driver, also known as the memory file driver, takes its initial image from a file.

H5FD_FILE_IMAGE_OP_FILE_RESIZE 

Passed to the image_realloc callback when a file driver needs to resize an image buffer

H5FD_FILE_IMAGE_OP_FILE_CLOSE 

Passed to the image_free callback when an image buffer is to be released during a file close operation

Function Documentation

◆ H5FDdriver_query()

herr_t H5FDdriver_query ( hid_t  driver_id,
unsigned long *  flags 
)

Allows querying a VFD ID for features before the file is opened.

Parameters
[in]driver_idVirtual File Driver (VFD) ID
[out]flagsVFD flags supported
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

Queries a virtual file driver (VFD) for feature flags. Takes a VFD hid_t so it can be used before the file is opened. For example, this could be used to check if a VFD supports SWMR.

Note
The flags obtained here are just those of the base driver and do not take any configuration options (e.g., set via a fapl call) into consideration.
Since
1.10.2