diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2021-09-30 04:00:24 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-30 04:00:24 (GMT) |
commit | 5b5f0c08c9f15bb1740208de67d9242463fa0cb4 (patch) | |
tree | cd5784d67bec559dc5bbe840c1b9fceacc72f867 /src/H5FDpublic.h | |
parent | 3da0802c40d58759995916bf9d0880e19f0af44d (diff) | |
download | hdf5-5b5f0c08c9f15bb1740208de67d9242463fa0cb4.zip hdf5-5b5f0c08c9f15bb1740208de67d9242463fa0cb4.tar.gz hdf5-5b5f0c08c9f15bb1740208de67d9242463fa0cb4.tar.bz2 |
Update compact dataset I/O routines to handle driver-level memory copy (#1054)
* Update compact dataset I/O routines to handle driver-level memory copy
* Combine compact I/O read/write struct into single I/O struct
Rename CTL memory copy flag and H5Fquery routine to get file driver
structure
* Add RELEASE.txt entry for new "ctl" memory copy operation
Diffstat (limited to 'src/H5FDpublic.h')
-rw-r--r-- | src/H5FDpublic.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h index a72dc80..d774210 100644 --- a/src/H5FDpublic.h +++ b/src/H5FDpublic.h @@ -170,6 +170,14 @@ * enabled may be used as the Write-Only (W/O) channel driver. */ #define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE 0x00008000 +/* + * Defining H5FD_FEAT_MEMMANAGE for a VFL driver means that + * the driver uses special memory management routines or wishes + * to do memory management in a specific manner. Therefore, HDF5 + * should request that the driver handle any memory management + * operations when appropriate. + */ +#define H5FD_FEAT_MEMMANAGE 0x00010000 /* ctl function definitions: */ #define H5FD_CTL_OPC_RESERVED 512 /* Opcodes below this value are reserved for library use */ @@ -185,6 +193,9 @@ #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 /* ctl function flags: */ @@ -367,6 +378,19 @@ typedef struct { } H5FD_file_image_callbacks_t; //! <!-- [H5FD_file_image_callbacks_t_snip] --> +/** + * Define structure to hold "ctl memory copy" parameters + */ +//! <!-- [H5FD_ctl_memcpy_args_t_snip] --> +typedef struct H5FD_ctl_memcpy_args_t { + void * dstbuf; /**< Destination buffer */ + hsize_t dst_off; /**< Offset within destination buffer */ + const void *srcbuf; /**< Source buffer */ + hsize_t src_off; /**< Offset within source buffer */ + size_t len; /**< Length of data to copy from source buffer */ +} H5FD_ctl_memcpy_args_t; +//! <!-- [H5FD_ctl_memcpy_args_t_snip] --> + /********************/ /* Public Variables */ /********************/ |