diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2022-09-17 16:49:38 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-17 16:49:38 (GMT) |
commit | 6d89634445eb70cc5fb2f29e2c8ea21eebf4436d (patch) | |
tree | 47125fcfdf46020e947972094a3df30e84fc511d /src/H5VLpublic.h | |
parent | a9d8b469f46d2f5de7521b986d2e14725e081eb9 (diff) | |
download | hdf5-6d89634445eb70cc5fb2f29e2c8ea21eebf4436d.zip hdf5-6d89634445eb70cc5fb2f29e2c8ea21eebf4436d.tar.gz hdf5-6d89634445eb70cc5fb2f29e2c8ea21eebf4436d.tar.bz2 |
Updates VOL capabilities flags (#2105)
* Added feature/vol_cap_flags branch to GitHub actions
* Convert unsigned cap flag field to uint64_t and add flags
* Committing clang-format changes
* Convert unsigned cap flag field to uint64_t and add flags
* Committing clang-format changes
* Updates the VOL struct version number
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/H5VLpublic.h')
-rw-r--r-- | src/H5VLpublic.h | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h index 543c3c8..c4bc5a7 100644 --- a/src/H5VLpublic.h +++ b/src/H5VLpublic.h @@ -34,7 +34,7 @@ * implements. The HDF5 library will reject connectors with * incompatible structs. */ -#define H5VL_VERSION 2 +#define H5VL_VERSION 3 /* VOL connector identifier values * These are H5VL_class_value_t values, NOT hid_t values! @@ -60,6 +60,46 @@ */ #define H5_VOL_MAX 65535 +/* Capability flags for connector */ +#define H5VL_CAP_FLAG_NONE 0x0000000000000000 /* No special connector capabilities */ +#define H5VL_CAP_FLAG_THREADSAFE 0x0000000000000001 /* Connector is threadsafe */ +#define H5VL_CAP_FLAG_ASYNC 0x0000000000000002 /* Connector performs operations asynchronously*/ +#define H5VL_CAP_FLAG_NATIVE_FILES 0x0000000000000004 /* Connector produces native file format */ +#define H5VL_CAP_FLAG_ATTR_BASIC 0x0000000000000008 +#define H5VL_CAP_FLAG_ATTR_MORE 0x0000000000000010 +#define H5VL_CAP_FLAG_DATASET_BASIC 0x0000000000000020 +#define H5VL_CAP_FLAG_DATASET_MORE 0x0000000000000040 +#define H5VL_CAP_FLAG_FILE_BASIC 0x0000000000000080 +#define H5VL_CAP_FLAG_FILE_MORE 0x0000000000000100 +#define H5VL_CAP_FLAG_GROUP_BASIC 0x0000000000000200 +#define H5VL_CAP_FLAG_GROUP_MORE 0x0000000000000400 +#define H5VL_CAP_FLAG_LINK_BASIC 0x0000000000000800 +#define H5VL_CAP_FLAG_LINK_MORE 0x0000000000001000 +#define H5VL_CAP_FLAG_MAP_BASIC 0x0000000000002000 +#define H5VL_CAP_FLAG_MAP_MORE 0x0000000000004000 +#define H5VL_CAP_FLAG_OBJECT_BASIC 0x0000000000008000 +#define H5VL_CAP_FLAG_OBJECT_MORE 0x0000000000010000 +#define H5VL_CAP_FLAG_REF_BASIC 0x0000000000020000 +#define H5VL_CAP_FLAG_REF_MORE 0x0000000000040000 +#define H5VL_CAP_FLAG_OBJ_REF 0x0000000000080000 +#define H5VL_CAP_FLAG_REG_REF 0x0000000000100000 +#define H5VL_CAP_FLAG_ATTR_REF 0x0000000000200000 +#define H5VL_CAP_FLAG_STORED_DATATYPES 0x0000000000400000 +#define H5VL_CAP_FLAG_CREATION_ORDER 0x0000000000800000 +#define H5VL_CAP_FLAG_ITERATE 0x0000000001000000 +#define H5VL_CAP_FLAG_STORAGE_SIZE 0x0000000002000000 +#define H5VL_CAP_FLAG_BY_IDX 0x0000000004000000 +#define H5VL_CAP_FLAG_GET_PLIST 0x0000000008000000 +#define H5VL_CAP_FLAG_FLUSH_REFRESH 0x0000000010000000 +#define H5VL_CAP_FLAG_EXTERNAL_LINKS 0x0000000020000000 +#define H5VL_CAP_FLAG_HARD_LINKS 0x0000000040000000 +#define H5VL_CAP_FLAG_SOFT_LINKS 0x0000000080000000 +#define H5VL_CAP_FLAG_UD_LINKS 0x0000000100000000 +#define H5VL_CAP_FLAG_TRACK_TIMES 0x0000000200000000 +#define H5VL_CAP_FLAG_MOUNT 0x0000000400000000 +#define H5VL_CAP_FLAG_FILTERS 0x0000000800000000 +#define H5VL_CAP_FLAG_FILL_VALUES 0x0000001000000000 + /* Flags to return from H5VLquery_optional API and 'opt_query' callbacks */ /* Note: Operations which access multiple objects' data or metadata in a * container should be registered as file-level optional operations. |