summaryrefslogtreecommitdiffstats
path: root/src/H5VLpublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5VLpublic.h')
-rw-r--r--src/H5VLpublic.h42
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.