summaryrefslogtreecommitdiffstats
path: root/fortran/src
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-06-15 00:46:48 (GMT)
committerGitHub <noreply@github.com>2023-06-15 00:46:48 (GMT)
commitd987620daeb226f3e2c89a48383f52cef83a94c6 (patch)
tree3a57f2b538e1a664dd5f0512c676fe3ef1f355fb /fortran/src
parent3d231bd0c018c4ac7a78640a51d404332a712d72 (diff)
downloadhdf5-d987620daeb226f3e2c89a48383f52cef83a94c6.zip
hdf5-d987620daeb226f3e2c89a48383f52cef83a94c6.tar.gz
hdf5-d987620daeb226f3e2c89a48383f52cef83a94c6.tar.bz2
Sync fortran src files with develop (#3126)
* Sync fortran src files with develop
Diffstat (limited to 'fortran/src')
-rw-r--r--fortran/src/H5Of.c97
-rw-r--r--fortran/src/H5_f.c65
-rw-r--r--fortran/src/H5_ff.F90153
-rw-r--r--fortran/src/H5f90global.F90110
-rw-r--r--fortran/src/H5f90proto.h8
-rw-r--r--fortran/src/hdf5_fortrandll.def.in10
6 files changed, 296 insertions, 147 deletions
diff --git a/fortran/src/H5Of.c b/fortran/src/H5Of.c
index 186a9a2..54e5187 100644
--- a/fortran/src/H5Of.c
+++ b/fortran/src/H5Of.c
@@ -132,50 +132,6 @@ done:
return ret_value;
}
-/****if* H5Of/h5ovisit_c
- * NAME
- * h5ovisit_c
- * PURPOSE
- * Calls H5Ovisit
- * INPUTS
- * object_id - Identifier specifying subject group
- * index_type - Type of index which determines the order
- * order - Order within index
- * idx - Iteration position at which to start
- * op - Callback function passing data regarding the link to the calling application
- * op_data - User-defined pointer to data required by the application for its processing of the link
- * fields - Flags specifying the fields to include in object_info.
- *
- * OUTPUTS
- * idx - Position at which an interrupted iteration may be restarted
- *
- * RETURNS
- * >0 on success, 0< on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * November 19, 2008
- * SOURCE
- */
-int_f
-h5ovisit_c(hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate2_t op, void *op_data,
- int_f *fields)
-/******/
-{
- int_f ret_value = -1; /* Return value */
- herr_t func_ret_value; /* H5Linterate return value */
-
- /*
- * Call H5Ovisit
- */
-
- func_ret_value = H5Ovisit3((hid_t)*group_id, (H5_index_t)*index_type, (H5_iter_order_t)*order, op,
- op_data, (unsigned)*fields);
-
- ret_value = (int_f)func_ret_value;
-
- return ret_value;
-}
-
/****if* H5Of/h5oopen_by_token_c
* NAME
* h5oopen_by_token_c
@@ -358,59 +314,6 @@ done:
return ret_value;
}
-/****if* H5Of/h5ovisit_by_name_c
- * NAME
- * h5ovisit_by_name_c
- * PURPOSE
- * Calls H5Ovisit_by_name
- * INPUTS
- * object_id - Identifier specifying subject group.
- * index_type - Type of index which determines the order.
- * order - Order within index.
- * idx - Iteration position at which to start.
- * op - Callback function passing data regarding the link to the calling application.
- * op_data - User-defined pointer to data required by the application for its processing of the link.
- * fields - Flags specifying the fields to include in object_info.
- *
- * OUTPUTS
- * idx - Position at which an interrupted iteration may be restarted.
- *
- * RETURNS
- * >0 on success, 0< on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * May 16, 2012
- * SOURCE
- */
-int_f
-h5ovisit_by_name_c(hid_t_f *loc_id, _fcd object_name, size_t_f *namelen, int_f *index_type, int_f *order,
- H5O_iterate2_t op, void *op_data, hid_t_f *lapl_id, int_f *fields)
-/******/
-{
- int_f ret_value = -1; /* Return value */
- herr_t func_ret_value; /* H5Linterate return value */
- char *c_object_name = NULL; /* Buffer to hold C string */
-
- /*
- * Convert FORTRAN name to C name
- */
- if ((c_object_name = HD5f2cstring(object_name, (size_t)*namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Ovisit_by_name
- */
- func_ret_value =
- H5Ovisit_by_name3((hid_t)*loc_id, c_object_name, (H5_index_t)*index_type, (H5_iter_order_t)*order, op,
- op_data, (unsigned)*fields, (hid_t)*lapl_id);
- ret_value = (int_f)func_ret_value;
-
-done:
- if (c_object_name)
- HDfree(c_object_name);
- return ret_value;
-}
-
/****if* H5Of/h5odecr_refcount_c
* NAME
* h5odecr_refcount_c
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c
index a9f2d96..396acf9 100644
--- a/fortran/src/H5_f.c
+++ b/fortran/src/H5_f.c
@@ -428,8 +428,9 @@ h5init_flags_c(int_f *h5d_flags, size_t_f *h5d_size_flags, int_f *h5e_flags, hid
H5ES_status_t *h5es_flags, hid_t_f *h5es_hid_flags, int_f *h5f_flags, int_f *h5fd_flags,
hid_t_f *h5fd_hid_flags, int_f *h5g_flags, int_f *h5i_flags, int_f *h5l_flags,
int_f *h5o_flags, hid_t_f *h5p_flags, int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
- hid_t_f *h5s_hid_flags, hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5z_flags,
- int_f *h5_generic_flags, haddr_t_f *h5_haddr_generic_flags)
+ hid_t_f *h5s_hid_flags, hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5vl_flags,
+ uint64_t *h5vl_int64_flags, int_f *h5z_flags, int_f *h5_generic_flags,
+ haddr_t_f *h5_haddr_generic_flags)
/******/
{
/*
@@ -821,6 +822,66 @@ h5init_flags_c(int_f *h5d_flags, size_t_f *h5d_size_flags, int_f *h5e_flags, hid
h5t_flags[34] = (int_f)H5T_DIR_DESCEND;
/*
+ * H5VL flags
+ */
+
+ /*
+ * Capability flags for VOL connectors
+ */
+
+ h5vl_flags[0] = (int_f)H5VL_VERSION;
+ h5vl_flags[1] = (int_f)H5_VOL_INVALID;
+ h5vl_flags[2] = (int_f)H5_VOL_NATIVE;
+
+ h5vl_int64_flags[0] = H5VL_CAP_FLAG_NONE;
+ h5vl_int64_flags[1] = H5VL_CAP_FLAG_THREADSAFE;
+ h5vl_int64_flags[2] = H5VL_CAP_FLAG_ASYNC;
+ h5vl_int64_flags[3] = H5VL_CAP_FLAG_NATIVE_FILES;
+ h5vl_int64_flags[4] = H5VL_CAP_FLAG_ATTR_BASIC;
+ h5vl_int64_flags[5] = H5VL_CAP_FLAG_ATTR_MORE;
+ h5vl_int64_flags[6] = H5VL_CAP_FLAG_DATASET_BASIC;
+ h5vl_int64_flags[7] = H5VL_CAP_FLAG_DATASET_MORE;
+ h5vl_int64_flags[8] = H5VL_CAP_FLAG_FILE_BASIC;
+ h5vl_int64_flags[9] = H5VL_CAP_FLAG_FILE_MORE;
+ h5vl_int64_flags[10] = H5VL_CAP_FLAG_GROUP_BASIC;
+ h5vl_int64_flags[11] = H5VL_CAP_FLAG_GROUP_MORE;
+ h5vl_int64_flags[12] = H5VL_CAP_FLAG_LINK_BASIC;
+ h5vl_int64_flags[13] = H5VL_CAP_FLAG_LINK_MORE;
+ h5vl_int64_flags[14] = H5VL_CAP_FLAG_MAP_BASIC;
+ h5vl_int64_flags[15] = H5VL_CAP_FLAG_MAP_MORE;
+ h5vl_int64_flags[16] = H5VL_CAP_FLAG_OBJECT_BASIC;
+ h5vl_int64_flags[17] = H5VL_CAP_FLAG_OBJECT_MORE;
+ h5vl_int64_flags[18] = H5VL_CAP_FLAG_REF_BASIC;
+ h5vl_int64_flags[19] = H5VL_CAP_FLAG_REF_MORE;
+ h5vl_int64_flags[20] = H5VL_CAP_FLAG_OBJ_REF;
+ h5vl_int64_flags[21] = H5VL_CAP_FLAG_REG_REF;
+ h5vl_int64_flags[22] = H5VL_CAP_FLAG_ATTR_REF;
+ h5vl_int64_flags[23] = H5VL_CAP_FLAG_STORED_DATATYPES;
+ h5vl_int64_flags[24] = H5VL_CAP_FLAG_CREATION_ORDER;
+ h5vl_int64_flags[25] = H5VL_CAP_FLAG_ITERATE;
+ h5vl_int64_flags[26] = H5VL_CAP_FLAG_STORAGE_SIZE;
+ h5vl_int64_flags[27] = H5VL_CAP_FLAG_BY_IDX;
+ h5vl_int64_flags[28] = H5VL_CAP_FLAG_GET_PLIST;
+ h5vl_int64_flags[29] = H5VL_CAP_FLAG_FLUSH_REFRESH;
+ h5vl_int64_flags[30] = H5VL_CAP_FLAG_EXTERNAL_LINKS;
+ h5vl_int64_flags[31] = H5VL_CAP_FLAG_HARD_LINKS;
+ h5vl_int64_flags[32] = H5VL_CAP_FLAG_SOFT_LINKS;
+ h5vl_int64_flags[33] = H5VL_CAP_FLAG_UD_LINKS;
+ h5vl_int64_flags[34] = H5VL_CAP_FLAG_TRACK_TIMES;
+ h5vl_int64_flags[35] = H5VL_CAP_FLAG_MOUNT;
+ h5vl_int64_flags[36] = H5VL_CAP_FLAG_FILTERS;
+ h5vl_int64_flags[37] = H5VL_CAP_FLAG_FILL_VALUES;
+
+ h5vl_int64_flags[38] = H5VL_OPT_QUERY_SUPPORTED;
+ h5vl_int64_flags[39] = H5VL_OPT_QUERY_READ_DATA;
+ h5vl_int64_flags[40] = H5VL_OPT_QUERY_WRITE_DATA;
+ h5vl_int64_flags[41] = H5VL_OPT_QUERY_QUERY_METADATA;
+ h5vl_int64_flags[42] = H5VL_OPT_QUERY_MODIFY_METADATA;
+ h5vl_int64_flags[43] = H5VL_OPT_QUERY_COLLECTIVE;
+ h5vl_int64_flags[44] = H5VL_OPT_QUERY_NO_ASYNC;
+ h5vl_int64_flags[45] = H5VL_OPT_QUERY_MULTI_OBJ;
+
+ /*
* H5Z flags
*/
h5z_flags[0] = (int_f)H5Z_FILTER_ERROR;
diff --git a/fortran/src/H5_ff.F90 b/fortran/src/H5_ff.F90
index 651c96d..ecea23d 100644
--- a/fortran/src/H5_ff.F90
+++ b/fortran/src/H5_ff.F90
@@ -51,7 +51,7 @@
MODULE H5LIB
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_INTPTR_T
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_INTPTR_T, C_INT64_T
USE H5GLOBAL
IMPLICIT NONE
@@ -149,6 +149,13 @@ MODULE H5LIB
!
INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35
INTEGER, DIMENSION(1:H5T_FLAGS_LEN) :: H5T_flags
+ !
+ ! H5VL flags declaration
+ !
+ INTEGER, PARAMETER :: H5VL_FLAGS_LEN = 3
+ INTEGER, DIMENSION(1:H5VL_FLAGS_LEN) :: H5VL_flags
+ INTEGER, PARAMETER :: H5VL_INT64_FLAGS_LEN = 46
+ INTEGER(C_INT64_T), DIMENSION(1:H5VL_INT64_FLAGS_LEN) :: H5VL_int64_flags
!
! H5Z flags declaration
@@ -209,11 +216,13 @@ CONTAINS
i_H5S_hid_flags, &
i_H5S_hsize_flags, &
i_H5T_flags, &
+ i_H5VL_flags, &
+ i_H5VL_int64_flags, &
i_H5Z_flags, &
i_H5generic_flags, &
i_H5generic_haddr_flags) &
BIND(C,NAME='h5init_flags_c')
- IMPORT :: HID_T, SIZE_T, HSIZE_T, HADDR_T
+ IMPORT :: HID_T, SIZE_T, HSIZE_T, HADDR_T, C_INT64_T
IMPORT :: H5D_FLAGS_LEN, H5D_SIZE_FLAGS_LEN, &
H5E_FLAGS_LEN, H5E_HID_FLAGS_LEN, &
H5ES_FLAGS_LEN, H5ES_HID_FLAGS_LEN, &
@@ -221,31 +230,34 @@ CONTAINS
H5FD_HID_FLAGS_LEN, H5I_FLAGS_LEN, H5L_FLAGS_LEN, &
H5O_FLAGS_LEN, H5P_FLAGS_LEN, H5P_FLAGS_INT_LEN, &
H5R_FLAGS_LEN, H5S_FLAGS_LEN, H5S_HID_FLAGS_LEN, H5S_HSIZE_FLAGS_LEN, &
- H5T_FLAGS_LEN, H5Z_FLAGS_LEN, H5generic_FLAGS_LEN, H5generic_haddr_FLAGS_LEN
+ H5T_FLAGS_LEN, H5VL_FLAGS_LEN, H5VL_INT64_FLAGS_LEN, &
+ H5Z_FLAGS_LEN, H5generic_FLAGS_LEN, H5generic_haddr_FLAGS_LEN
IMPLICIT NONE
- INTEGER , DIMENSION(1:H5D_FLAGS_LEN) :: i_H5D_flags
- INTEGER(SIZE_T) , DIMENSION(1:H5D_SIZE_FLAGS_LEN) :: i_H5D_size_flags
- INTEGER , DIMENSION(1:H5E_FLAGS_LEN) :: i_H5E_flags
- INTEGER(HID_T) , DIMENSION(1:H5E_HID_FLAGS_LEN) :: i_H5E_hid_flags
- INTEGER , DIMENSION(1:H5ES_FLAGS_LEN) :: i_H5ES_flags
- INTEGER(HID_T) , DIMENSION(1:H5ES_HID_FLAGS_LEN) :: i_H5ES_hid_flags
- INTEGER , DIMENSION(1:H5F_FLAGS_LEN) :: i_H5F_flags
- INTEGER , DIMENSION(1:H5G_FLAGS_LEN) :: i_H5G_flags
- INTEGER , DIMENSION(1:H5FD_FLAGS_LEN) :: i_H5FD_flags
- INTEGER(HID_T) , DIMENSION(1:H5FD_HID_FLAGS_LEN) :: i_H5FD_hid_flags
- INTEGER , DIMENSION(1:H5I_FLAGS_LEN) :: i_H5I_flags
- INTEGER , DIMENSION(1:H5L_FLAGS_LEN) :: i_H5L_flags
- INTEGER , DIMENSION(1:H5O_FLAGS_LEN) :: i_H5O_flags
- INTEGER(HID_T) , DIMENSION(1:H5P_FLAGS_LEN) :: i_H5P_flags
- INTEGER , DIMENSION(1:H5P_FLAGS_INT_LEN) :: i_H5P_flags_int
- INTEGER , DIMENSION(1:H5R_FLAGS_LEN) :: i_H5R_flags
- INTEGER , DIMENSION(1:H5S_FLAGS_LEN) :: i_H5S_flags
- INTEGER(HID_T) , DIMENSION(1:H5S_HID_FLAGS_LEN) :: i_H5S_hid_flags
- INTEGER(HSIZE_T), DIMENSION(1:H5S_HSIZE_FLAGS_LEN) :: i_H5S_hsize_flags
- INTEGER , DIMENSION(1:H5T_FLAGS_LEN) :: i_H5T_flags
- INTEGER , DIMENSION(1:H5Z_FLAGS_LEN) :: i_H5Z_flags
- INTEGER , DIMENSION(1:H5generic_FLAGS_LEN) :: i_H5generic_flags
- INTEGER(HADDR_T), DIMENSION(1:H5generic_haddr_FLAGS_LEN) :: i_H5generic_haddr_flags
+ INTEGER , DIMENSION(1:H5D_FLAGS_LEN) :: i_H5D_flags
+ INTEGER(SIZE_T) , DIMENSION(1:H5D_SIZE_FLAGS_LEN) :: i_H5D_size_flags
+ INTEGER , DIMENSION(1:H5E_FLAGS_LEN) :: i_H5E_flags
+ INTEGER(HID_T) , DIMENSION(1:H5E_HID_FLAGS_LEN) :: i_H5E_hid_flags
+ INTEGER , DIMENSION(1:H5ES_FLAGS_LEN) :: i_H5ES_flags
+ INTEGER(HID_T) , DIMENSION(1:H5ES_HID_FLAGS_LEN) :: i_H5ES_hid_flags
+ INTEGER , DIMENSION(1:H5F_FLAGS_LEN) :: i_H5F_flags
+ INTEGER , DIMENSION(1:H5G_FLAGS_LEN) :: i_H5G_flags
+ INTEGER , DIMENSION(1:H5FD_FLAGS_LEN) :: i_H5FD_flags
+ INTEGER(HID_T) , DIMENSION(1:H5FD_HID_FLAGS_LEN) :: i_H5FD_hid_flags
+ INTEGER , DIMENSION(1:H5I_FLAGS_LEN) :: i_H5I_flags
+ INTEGER , DIMENSION(1:H5L_FLAGS_LEN) :: i_H5L_flags
+ INTEGER , DIMENSION(1:H5O_FLAGS_LEN) :: i_H5O_flags
+ INTEGER(HID_T) , DIMENSION(1:H5P_FLAGS_LEN) :: i_H5P_flags
+ INTEGER , DIMENSION(1:H5P_FLAGS_INT_LEN) :: i_H5P_flags_int
+ INTEGER , DIMENSION(1:H5R_FLAGS_LEN) :: i_H5R_flags
+ INTEGER , DIMENSION(1:H5S_FLAGS_LEN) :: i_H5S_flags
+ INTEGER(HID_T) , DIMENSION(1:H5S_HID_FLAGS_LEN) :: i_H5S_hid_flags
+ INTEGER(HSIZE_T) , DIMENSION(1:H5S_HSIZE_FLAGS_LEN) :: i_H5S_hsize_flags
+ INTEGER , DIMENSION(1:H5T_FLAGS_LEN) :: i_H5T_flags
+ INTEGER , DIMENSION(1:H5VL_FLAGS_LEN) :: i_H5VL_flags
+ INTEGER(C_INT64_T), DIMENSION(1:H5VL_INT64_FLAGS_LEN) :: i_H5VL_int64_flags
+ INTEGER , DIMENSION(1:H5Z_FLAGS_LEN) :: i_H5Z_flags
+ INTEGER , DIMENSION(1:H5generic_FLAGS_LEN) :: i_H5generic_flags
+ INTEGER(HADDR_T) , DIMENSION(1:H5generic_haddr_FLAGS_LEN) :: i_H5generic_haddr_flags
END FUNCTION h5init_flags_c
INTEGER FUNCTION h5init1_flags_c( i_H5LIB_flags ) &
@@ -331,6 +343,8 @@ CONTAINS
H5S_hid_flags, &
H5S_hsize_flags, &
H5T_flags, &
+ H5VL_flags, &
+ H5VL_int64_flags, &
H5Z_flags, &
H5generic_flags,&
H5generic_haddr_flags)
@@ -454,28 +468,28 @@ CONTAINS
!
! H5FD flags
!
- H5FD_MPIO_INDEPENDENT_F = H5FD_flags(1)
- H5FD_MPIO_COLLECTIVE_F = H5FD_flags(2)
- H5FD_MEM_NOLIST_F = H5FD_flags(3)
- H5FD_MEM_DEFAULT_F = H5FD_flags(4)
- H5FD_MEM_SUPER_F = H5FD_flags(5)
- H5FD_MEM_BTREE_F = H5FD_flags(6)
- H5FD_MEM_DRAW_F = H5FD_flags(7)
- H5FD_MEM_GHEAP_F = H5FD_flags(8)
- H5FD_MEM_LHEAP_F = H5FD_flags(9)
- H5FD_MEM_OHDR_F = H5FD_flags(10)
- H5FD_MEM_NTYPES_F = H5FD_flags(11)
+ H5FD_MPIO_INDEPENDENT_F = H5FD_flags(1)
+ H5FD_MPIO_COLLECTIVE_F = H5FD_flags(2)
+ H5FD_MEM_NOLIST_F = H5FD_flags(3)
+ H5FD_MEM_DEFAULT_F = H5FD_flags(4)
+ H5FD_MEM_SUPER_F = H5FD_flags(5)
+ H5FD_MEM_BTREE_F = H5FD_flags(6)
+ H5FD_MEM_DRAW_F = H5FD_flags(7)
+ H5FD_MEM_GHEAP_F = H5FD_flags(8)
+ H5FD_MEM_LHEAP_F = H5FD_flags(9)
+ H5FD_MEM_OHDR_F = H5FD_flags(10)
+ H5FD_MEM_NTYPES_F = H5FD_flags(11)
H5FD_SUBFILING_CURR_FAPL_VERSION_F = H5FD_flags(12)
H5FD_SUBFILING_FAPL_MAGIC_F = H5FD_flags(13)
H5FD_SUBFILING_DEFAULT_STRIPE_COUNT_F = H5FD_flags(14)
H5FD_IOC_FAPL_MAGIC_F = H5FD_flags(15)
H5FD_IOC_CURR_FAPL_VERSION_F = H5FD_flags(16)
H5FD_IOC_DEFAULT_THREAD_POOL_SIZE_F = H5FD_flags(17)
- SELECT_IOC_ONE_PER_NODE_F = H5FD_flags(18)
- SELECT_IOC_EVERY_NTH_RANK_F = H5FD_flags(19)
- SELECT_IOC_WITH_CONFIG_F = H5FD_flags(20)
- SELECT_IOC_TOTAL_F = H5FD_flags(21)
- IOC_SELECTION_OPTIONS_F = H5FD_flags(22)
+ SELECT_IOC_ONE_PER_NODE_F = H5FD_flags(18)
+ SELECT_IOC_EVERY_NTH_RANK_F = H5FD_flags(19)
+ SELECT_IOC_WITH_CONFIG_F = H5FD_flags(20)
+ SELECT_IOC_TOTAL_F = H5FD_flags(21)
+ IOC_SELECTION_OPTIONS_F = H5FD_flags(22)
!
! H5FD file driver flags
@@ -649,6 +663,61 @@ CONTAINS
H5T_DIR_ASCEND_F = H5T_flags(34)
H5T_DIR_DESCEND_F = H5T_flags(35)
!
+ ! H5VL flags
+ !
+ H5VL_VERSION_F = H5VL_flags(1)
+ H5_VOL_INVALID_F = H5VL_flags(2)
+ H5_VOL_NATIVE_F = H5VL_flags(3)
+
+ H5VL_CAP_FLAG_NONE_F = H5VL_int64_flags(1)
+ H5VL_CAP_FLAG_THREADSAFE_F = H5VL_int64_flags(2)
+ H5VL_CAP_FLAG_ASYNC_F = H5VL_int64_flags(3)
+ H5VL_CAP_FLAG_NATIVE_FILES_F = H5VL_int64_flags(4)
+ H5VL_CAP_FLAG_ATTR_BASIC_F = H5VL_int64_flags(5)
+ H5VL_CAP_FLAG_ATTR_MORE_F = H5VL_int64_flags(6)
+ H5VL_CAP_FLAG_DATASET_BASIC_F = H5VL_int64_flags(7)
+ H5VL_CAP_FLAG_DATASET_MORE_F = H5VL_int64_flags(8)
+ H5VL_CAP_FLAG_FILE_BASIC_F = H5VL_int64_flags(9)
+ H5VL_CAP_FLAG_FILE_MORE_F = H5VL_int64_flags(10)
+ H5VL_CAP_FLAG_GROUP_BASIC_F = H5VL_int64_flags(11)
+ H5VL_CAP_FLAG_GROUP_MORE_F = H5VL_int64_flags(12)
+ H5VL_CAP_FLAG_LINK_BASIC_F = H5VL_int64_flags(13)
+ H5VL_CAP_FLAG_LINK_MORE_F = H5VL_int64_flags(14)
+ H5VL_CAP_FLAG_MAP_BASIC_F = H5VL_int64_flags(15)
+ H5VL_CAP_FLAG_MAP_MORE_F = H5VL_int64_flags(16)
+ H5VL_CAP_FLAG_OBJECT_BASIC_F = H5VL_int64_flags(17)
+ H5VL_CAP_FLAG_OBJECT_MORE_F = H5VL_int64_flags(18)
+ H5VL_CAP_FLAG_REF_BASIC_F = H5VL_int64_flags(19)
+ H5VL_CAP_FLAG_REF_MORE_F = H5VL_int64_flags(20)
+ H5VL_CAP_FLAG_OBJ_REF_F = H5VL_int64_flags(21)
+ H5VL_CAP_FLAG_REG_REF_F = H5VL_int64_flags(22)
+ H5VL_CAP_FLAG_ATTR_REF_F = H5VL_int64_flags(23)
+ H5VL_CAP_FLAG_STORED_DATATYPES_F = H5VL_int64_flags(24)
+ H5VL_CAP_FLAG_CREATION_ORDER_F = H5VL_int64_flags(25)
+ H5VL_CAP_FLAG_ITERATE_F = H5VL_int64_flags(26)
+ H5VL_CAP_FLAG_STORAGE_SIZE_F = H5VL_int64_flags(27)
+ H5VL_CAP_FLAG_BY_IDX_F = H5VL_int64_flags(28)
+ H5VL_CAP_FLAG_GET_PLIST_F = H5VL_int64_flags(29)
+ H5VL_CAP_FLAG_FLUSH_REFRESH_F = H5VL_int64_flags(30)
+ H5VL_CAP_FLAG_EXTERNAL_LINKS_F = H5VL_int64_flags(31)
+ H5VL_CAP_FLAG_HARD_LINKS_F = H5VL_int64_flags(32)
+ H5VL_CAP_FLAG_SOFT_LINKS_F = H5VL_int64_flags(33)
+ H5VL_CAP_FLAG_UD_LINKS_F = H5VL_int64_flags(34)
+ H5VL_CAP_FLAG_TRACK_TIMES_F = H5VL_int64_flags(35)
+ H5VL_CAP_FLAG_MOUNT_F = H5VL_int64_flags(36)
+ H5VL_CAP_FLAG_FILTERS_F = H5VL_int64_flags(37)
+ H5VL_CAP_FLAG_FILL_VALUES_F = H5VL_int64_flags(38)
+
+ H5VL_OPT_QUERY_SUPPORTED_F = H5VL_int64_flags(39)
+ H5VL_OPT_QUERY_READ_DATA_F = H5VL_int64_flags(40)
+ H5VL_OPT_QUERY_WRITE_DATA_F = H5VL_int64_flags(41)
+ H5VL_OPT_QUERY_QUERY_METADATA_F = H5VL_int64_flags(42)
+ H5VL_OPT_QUERY_MODIFY_METADATA_F = H5VL_int64_flags(43)
+ H5VL_OPT_QUERY_COLLECTIVE_F = H5VL_int64_flags(44)
+ H5VL_OPT_QUERY_NO_ASYNC_F = H5VL_int64_flags(45)
+ H5VL_OPT_QUERY_MULTI_OBJ_F = H5VL_int64_flags(46)
+
+ !
! H5Z flags
!
H5Z_FILTER_ERROR_F = H5Z_flags(1)
diff --git a/fortran/src/H5f90global.F90 b/fortran/src/H5f90global.F90
index c37e22d..049bf26 100644
--- a/fortran/src/H5f90global.F90
+++ b/fortran/src/H5f90global.F90
@@ -819,6 +819,116 @@ MODULE H5GLOBAL
INTEGER :: H5T_DIR_DESCEND_F !< H5T_DIR_DESCEND
!> @}
!
+ ! H5VL flags declaration
+ !
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_VERSION_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5_VOL_INVALID_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5_VOL_NATIVE_F
+
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_NONE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_THREADSAFE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_ASYNC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_NATIVE_FILES_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_ATTR_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_ATTR_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_DATASET_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_DATASET_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_FILE_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_FILE_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_GROUP_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_GROUP_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_LINK_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_LINK_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_MAP_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_MAP_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_OBJECT_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_OBJECT_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_REF_BASIC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_REF_MORE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_OBJ_REF_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_REG_REF_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_ATTR_REF_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_STORED_DATATYPES_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_CREATION_ORDER_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_ITERATE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_STORAGE_SIZE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_BY_IDX_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_GET_PLIST_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_FLUSH_REFRESH_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_EXTERNAL_LINKS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_HARD_LINKS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_SOFT_LINKS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_UD_LINKS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_TRACK_TIMES_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_MOUNT_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_FILTERS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_CAP_FLAG_FILL_VALUES_F
+
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_SUPPORTED_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_READ_DATA_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_WRITE_DATA_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_QUERY_METADATA_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_MODIFY_METADATA_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_COLLECTIVE_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_NO_ASYNC_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5VL_OPT_QUERY_MULTI_OBJ_F
+ !DEC$endif
+!> \addtogroup FH5VL
+!> @{
+ INTEGER :: H5VL_VERSION_F !< H5VL_VERSION
+ INTEGER :: H5_VOL_INVALID_F !< H5_VOL_INVALID
+ INTEGER :: H5_VOL_NATIVE_F !< H5_VOL_NATIVE
+
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_NONE_F !< H5VL_CAP_FLAG_NONE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_THREADSAFE_F !< H5VL_CAP_FLAG_THREADSAFE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_ASYNC_F !< H5VL_CAP_FLAG_ASYNC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_NATIVE_FILES_F !< H5VL_CAP_FLAG_NATIVE_FILES
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_ATTR_BASIC_F !< H5VL_CAP_FLAG_ATTR_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_ATTR_MORE_F !< H5VL_CAP_FLAG_ATTR_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_DATASET_BASIC_F !< H5VL_CAP_FLAG_DATASET_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_DATASET_MORE_F !< H5VL_CAP_FLAG_DATASET_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_FILE_BASIC_F !< H5VL_CAP_FLAG_FILE_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_FILE_MORE_F !< H5VL_CAP_FLAG_FILE_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_GROUP_BASIC_F !< H5VL_CAP_FLAG_GROUP_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_GROUP_MORE_F !< H5VL_CAP_FLAG_GROUP_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_LINK_BASIC_F !< H5VL_CAP_FLAG_LINK_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_LINK_MORE_F !< H5VL_CAP_FLAG_LINK_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_MAP_BASIC_F !< H5VL_CAP_FLAG_MAP_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_MAP_MORE_F !< H5VL_CAP_FLAG_MAP_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_OBJECT_BASIC_F !< H5VL_CAP_FLAG_OBJECT_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_OBJECT_MORE_F !< H5VL_CAP_FLAG_OBJECT_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_REF_BASIC_F !< H5VL_CAP_FLAG_REF_BASIC
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_REF_MORE_F !< H5VL_CAP_FLAG_REF_MORE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_OBJ_REF_F !< H5VL_CAP_FLAG_OBJ_REF
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_REG_REF_F !< H5VL_CAP_FLAG_REG_REF
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_ATTR_REF_F !< H5VL_CAP_FLAG_ATTR_REF
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_STORED_DATATYPES_F !< H5VL_CAP_FLAG_STORED_DATATYPES
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_CREATION_ORDER_F !< H5VL_CAP_FLAG_CREATION_ORDER
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_ITERATE_F !< H5VL_CAP_FLAG_ITERATE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_STORAGE_SIZE_F !< H5VL_CAP_FLAG_STORAGE_SIZE
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_BY_IDX_F !< H5VL_CAP_FLAG_BY_IDX
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_GET_PLIST_F !< H5VL_CAP_FLAG_GET_PLIST
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_FLUSH_REFRESH_F !< H5VL_CAP_FLAG_FLUSH_REFRESH
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_EXTERNAL_LINKS_F !< H5VL_CAP_FLAG_EXTERNAL_LINKS
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_HARD_LINKS_F !< H5VL_CAP_FLAG_HARD_LINKS
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_SOFT_LINKS_F !< H5VL_CAP_FLAG_SOFT_LINKS
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_UD_LINKS_F !< H5VL_CAP_FLAG_UD_LINKS
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_TRACK_TIMES_F !< H5VL_CAP_FLAG_TRACK_TIMES
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_MOUNT_F !< H5VL_CAP_FLAG_MOUNT
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_FILTERS_F !< H5VL_CAP_FLAG_FILTERS
+ INTEGER(C_INT64_T) :: H5VL_CAP_FLAG_FILL_VALUES_F !< H5VL_CAP_FLAG_FILL_VALUES
+
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_SUPPORTED_F !< H5VL_OPT_QUERY_SUPPORTED
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_READ_DATA_F !< H5VL_OPT_QUERY_READ_DATA
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_WRITE_DATA_F !< H5VL_OPT_QUERY_WRITE_DATA
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_QUERY_METADATA_F !< H5VL_OPT_QUERY_QUERY_METADATA
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_MODIFY_METADATA_F !< H5VL_OPT_QUERY_MODIFY_METADATA
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_COLLECTIVE_F !< H5VL_OPT_QUERY_COLLECTIVE
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_NO_ASYNC_F !< H5VL_OPT_QUERY_NO_ASYNC
+ INTEGER(C_INT64_T) :: H5VL_OPT_QUERY_MULTI_OBJ_F !< H5VL_OPT_QUERY_MULTI_OBJ
+!> @}
+ !
! H5Z flags declaration
!
!DEC$if defined(BUILD_HDF5_DLL)
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 11addfa..5b34dd6 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -344,11 +344,6 @@ H5_FCDLL int_f h5oclose_c(hid_t_f *object_id);
H5_FCDLL int_f h5oopen_by_token_c(hid_t_f *loc_id, H5O_token_t *token, hid_t_f *obj_id);
H5_FCDLL int_f h5olink_c(hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id);
-H5_FCDLL int_f h5ovisit_c(hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate2_t op,
- void *op_data, int_f *fields);
-H5_FCDLL int_f h5ovisit_by_name_c(hid_t_f *loc_id, _fcd object_name, size_t_f *namelen, int_f *index_type,
- int_f *order, H5O_iterate2_t op, void *op_data, hid_t_f *lapl_id,
- int_f *fields);
H5_FCDLL int_f h5oget_info_c(hid_t_f *object_id, H5O_info_t_f *object_info, int_f *fields);
H5_FCDLL int_f h5oget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *namelen, int_f *index_field,
int_f *order, hsize_t_f *n, hid_t_f *lapl_id, H5O_info_t_f *object_info,
@@ -585,7 +580,8 @@ H5_FCDLL int_f h5init_flags_c(int_f *h5d_flags, size_t_f *h5d_size_flags, int_f
int_f *h5i_flags, int_f *h5l_flags, int_f *h5o_flags, hid_t_f *h5p_flags,
int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
hid_t_f *h5s_hid_flags, hsize_t_f *h5s_hsize_flags, int_f *h5t_flags,
- int_f *h5z_flags, int_f *h5_generic_flags, haddr_t_f *h5_haddr_generic_flags);
+ int_f *h5vl_flags, uint64_t *h5vl_int64_flags, int_f *h5z_flags,
+ int_f *h5_generic_flags, haddr_t_f *h5_haddr_generic_flags);
H5_FCDLL int_f h5init1_flags_c(int_f *h5lib_flags);
H5_FCDLL int_f h5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum);
H5_FCDLL int_f h5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum);
diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in
index 4719633..9e1bb2e 100644
--- a/fortran/src/hdf5_fortrandll.def.in
+++ b/fortran/src/hdf5_fortrandll.def.in
@@ -107,6 +107,15 @@ H5E_mp_H5EPRINT_F
H5E_mp_H5EGET_MAJOR_F
H5E_mp_H5EGET_MINOR_F
H5E_mp_H5ESET_AUTO_F
+; H5ES
+H5ES_mp_H5ESCREATE_F
+H5ES_mp_H5ESGET_COUNT_F
+H5ES_mp_H5ESGET_OP_COUNTER_F
+H5ES_mp_H5ESWAIT_F
+H5ES_mp_H5ESCANCEL_F
+H5ES_mp_H5ESGET_ERR_STATUS_F
+H5ES_mp_H5ESGET_ERR_COUNT_F
+H5ES_mp_H5ESCLOSE_F
; H5F
H5F_mp_H5FCREATE_F
H5F_mp_H5FCREATE_ASYNC_F
@@ -388,6 +397,7 @@ H5P_mp_H5PGET_VIRTUAL_DSETNAME_F
H5P_mp_H5PGET_DSET_NO_ATTRS_HINT_F
H5P_mp_H5PSET_DSET_NO_ATTRS_HINT_F
H5P_mp_H5PSET_VOL_F
+H5P_mp_H5PGET_VOL_CAP_FLAGS_F
H5P_mp_H5PGET_VOL_ID_F
H5P_mp_H5PSET_FILE_LOCKING_F
H5P_mp_H5PGET_FILE_LOCKING_F