1!****h* ROBODoc/H5GLOBAL 2! 3! NAME 4! MODULE H5GLOBAL 5! 6! FILE 7! src/fortran/H5f90global.F90 8! 9! PURPOSE 10! This module is used to pass C stubs for H5 Fortran APIs. The C stubs are 11! packed into arrays in H5_f.c and these arrays are then passed to Fortran. 12! This module then uses EQUIVALENCE to assign elements of the arrays to 13! Fortran equivalent C stubs. 14! 15! NOTES 16! The size of the C arrays in H5_f.c has to match the values of the variables 17! declared as PARAMETER, hence if the size of an array in H5_f.c is changed 18! then the PARAMETER of that corresponding array in Fortran must also be changed. 19! 20! USES 21! H5FORTRAN_TYPES - This module is generated at run time. See 22! 23! COPYRIGHT 24! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 25! Copyright by The HDF Group. * 26! Copyright by the Board of Trustees of the University of Illinois. * 27! All rights reserved. * 28! * 29! This file is part of HDF5. The full HDF5 copyright notice, including * 30! terms governing use, modification, and redistribution, is contained in * 31! the COPYING file, which can be found at the root of the source code * 32! distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. * 33! If you do not have access to either file, you may request a copy from * 34! help@hdfgroup.org. * 35! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 36! 37! AUTHOR 38! Elena Pourmal 39! 40!***** 41 42MODULE H5GLOBAL 43 USE H5FORTRAN_TYPES 44 45 IMPLICIT NONE 46 47 ! Enumerate data type that is interoperable with C. 48 ENUM, BIND(C) 49 ENUMERATOR :: enum_dtype 50 END ENUM 51 INTEGER, PARAMETER :: ENUM_T = KIND(enum_dtype) 52 53 ! Definitions for reference datatypes. 54 ! If you change the value of these parameters, do not forget to change corresponding 55 ! values in the H5f90.h file. 56 INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3 57 58 ! Parameters used in the function 'h5kind_to_type' located in H5_ff.F90. 59 ! The flag is used to tell the function whether the kind input variable 60 ! is for a REAL or INTEGER data type. 61 62 INTEGER, PARAMETER :: H5_REAL_KIND = 1 63 INTEGER, PARAMETER :: H5_INTEGER_KIND = 0 64 65 TYPE :: hobj_ref_t_f 66 INTEGER(HADDR_T) ref 67 END TYPE hobj_ref_t_f 68 69 TYPE :: hdset_reg_ref_t_f 70 INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref 71 END TYPE hdset_reg_ref_t_f 72 73 ! Do not forget to change these values when new predefined 74 ! datatypes are added 75 INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 19 76 INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4 77 INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27 78 79 ! These arrays need to be global because they are used in 80 ! both h5open_f and in h5close_f; initialize to fix linking issues 81 ! on OSX and Intel compilers. 82 INTEGER(HID_T), DIMENSION(1:PREDEF_TYPES_LEN) :: predef_types = -1 83 INTEGER(HID_T), DIMENSION(1:FLOATING_TYPES_LEN) :: floating_types = -1 84 INTEGER(HID_T), DIMENSION(1:INTEGER_TYPES_LEN) :: integer_types = -1 85 86 !DEC$if defined(BUILD_HDF5_DLL) 87 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL_C_FLOAT 88 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL_C_DOUBLE 89 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL_C_LONG_DOUBLE 90 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_INTEGER 91 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL 92 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_DOUBLE 93 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_CHARACTER 94 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_REF_OBJ 95 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_REF_DSETREG 96 !DEC$ATTRIBUTES DLLEXPORT :: H5T_IEEE_F32BE 97 !DEC$ATTRIBUTES DLLEXPORT :: H5T_IEEE_F32LE 98 !DEC$ATTRIBUTES DLLEXPORT :: H5T_IEEE_F64BE 99 !DEC$ATTRIBUTES DLLEXPORT :: H5T_IEEE_F64LE 100 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I8BE 101 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I8LE 102 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I16BE 103 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I16LE 104 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I32BE 105 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I32LE 106 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I64BE 107 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_I64LE 108 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U8BE 109 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U8LE 110 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U16BE 111 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U16LE 112 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U32BE 113 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U32LE 114 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U64BE 115 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_U64LE 116 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STRING 117 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B8BE 118 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B8LE 119 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B16BE 120 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B16LE 121 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B32BE 122 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B32LE 123 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B64BE 124 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_B64LE 125 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_B8 126 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_B16 127 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_B32 128 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_B64 129 !DEC$ATTRIBUTES DLLEXPORT :: H5T_FORTRAN_S1 130 !DEC$ATTRIBUTES DLLEXPORT :: H5T_C_S1 131 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_INTEGER_KIND 132 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_FLOAT_128 133 !DEC$endif 134 135 INTEGER(HID_T) :: H5T_NATIVE_REAL_C_FLOAT 136 INTEGER(HID_T) :: H5T_NATIVE_REAL_C_DOUBLE 137 INTEGER(HID_T) :: H5T_NATIVE_REAL_C_LONG_DOUBLE 138 INTEGER(HID_T) :: H5T_NATIVE_INTEGER 139 INTEGER(HID_T) :: H5T_NATIVE_REAL 140 INTEGER(HID_T) :: H5T_NATIVE_DOUBLE 141 INTEGER(HID_T) :: H5T_NATIVE_CHARACTER 142 INTEGER(HID_T) :: H5T_STD_REF_OBJ 143 INTEGER(HID_T) :: H5T_STD_REF_DSETREG 144 INTEGER(HID_T) :: H5T_IEEE_F32BE 145 INTEGER(HID_T) :: H5T_IEEE_F32LE 146 INTEGER(HID_T) :: H5T_IEEE_F64BE 147 INTEGER(HID_T) :: H5T_IEEE_F64LE 148 INTEGER(HID_T) :: H5T_STD_I8BE 149 INTEGER(HID_T) :: H5T_STD_I8LE 150 INTEGER(HID_T) :: H5T_STD_I16BE 151 INTEGER(HID_T) :: H5T_STD_I16LE 152 INTEGER(HID_T) :: H5T_STD_I32BE 153 INTEGER(HID_T) :: H5T_STD_I32LE 154 INTEGER(HID_T) :: H5T_STD_I64BE 155 INTEGER(HID_T) :: H5T_STD_I64LE 156 INTEGER(HID_T) :: H5T_STD_U8BE 157 INTEGER(HID_T) :: H5T_STD_U8LE 158 INTEGER(HID_T) :: H5T_STD_U16BE 159 INTEGER(HID_T) :: H5T_STD_U16LE 160 INTEGER(HID_T) :: H5T_STD_U32BE 161 INTEGER(HID_T) :: H5T_STD_U32LE 162 INTEGER(HID_T) :: H5T_STD_U64BE 163 INTEGER(HID_T) :: H5T_STD_U64LE 164 INTEGER(HID_T) :: H5T_STRING 165 INTEGER(HID_T) :: H5T_STD_B8BE 166 INTEGER(HID_T) :: H5T_STD_B8LE 167 INTEGER(HID_T) :: H5T_STD_B16BE 168 INTEGER(HID_T) :: H5T_STD_B16LE 169 INTEGER(HID_T) :: H5T_STD_B32BE 170 INTEGER(HID_T) :: H5T_STD_B32LE 171 INTEGER(HID_T) :: H5T_STD_B64BE 172 INTEGER(HID_T) :: H5T_STD_B64LE 173 INTEGER(HID_T) :: H5T_NATIVE_B8 174 INTEGER(HID_T) :: H5T_NATIVE_B16 175 INTEGER(HID_T) :: H5T_NATIVE_B32 176 INTEGER(HID_T) :: H5T_NATIVE_B64 177 INTEGER(HID_T) :: H5T_FORTRAN_S1 178 INTEGER(HID_T) :: H5T_C_S1 179 180 INTEGER, PARAMETER :: NUM_NATIVE_INTEGER_KIND = 5 181 ! INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8, INTEGER*16 182 INTEGER(HID_T), DIMENSION(1:NUM_NATIVE_INTEGER_KIND) :: H5T_NATIVE_INTEGER_KIND 183 184 INTEGER(HID_T) :: H5T_NATIVE_FLOAT_128 ! NEED IFDEF -MSB- 185 ! 186 ! H5generic flags declaration 187 ! 188 !DEC$if defined(BUILD_HDF5_DLL) 189 !DEC$ATTRIBUTES DLLEXPORT :: H5_INDEX_UNKNOWN_F 190 !DEC$ATTRIBUTES DLLEXPORT :: H5_INDEX_NAME_F 191 !DEC$ATTRIBUTES DLLEXPORT :: H5_INDEX_CRT_ORDER_F 192 !DEC$ATTRIBUTES DLLEXPORT :: H5_INDEX_N_F 193 !DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_UNKNOWN_F 194 !DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_INC_F 195 !DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_DEC_F 196 !DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_NATIVE_F 197 !DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_N_F 198 !DEC$ATTRIBUTES DLLEXPORT :: HADDR_UNDEF_F 199 !DEC$endif 200 201 INTEGER :: H5_INDEX_UNKNOWN_F 202 INTEGER :: H5_INDEX_NAME_F 203 INTEGER :: H5_INDEX_CRT_ORDER_F 204 INTEGER :: H5_INDEX_N_F 205 INTEGER :: H5_ITER_UNKNOWN_F 206 INTEGER :: H5_ITER_INC_F 207 INTEGER :: H5_ITER_DEC_F 208 INTEGER :: H5_ITER_NATIVE_F 209 INTEGER :: H5_ITER_N_F 210 211 INTEGER(HADDR_T) :: HADDR_UNDEF_F 212 ! 213 ! H5F flags declaration 214 ! 215 !DEC$if defined(BUILD_HDF5_DLL) 216 !DEC$ATTRIBUTES DLLEXPORT :: H5F_ACC_RDWR_F 217 !DEC$ATTRIBUTES DLLEXPORT :: H5F_ACC_RDONLY_F 218 !DEC$ATTRIBUTES DLLEXPORT :: H5F_ACC_TRUNC_F 219 !DEC$ATTRIBUTES DLLEXPORT :: H5F_ACC_EXCL_F 220 !DEC$ATTRIBUTES DLLEXPORT :: H5F_ACC_DEBUG_F 221 !DEC$ATTRIBUTES DLLEXPORT :: H5F_SCOPE_LOCAL_F 222 !DEC$ATTRIBUTES DLLEXPORT :: H5F_SCOPE_GLOBAL_F 223 !DEC$ATTRIBUTES DLLEXPORT :: H5F_CLOSE_DEFAULT_F 224 !DEC$ATTRIBUTES DLLEXPORT :: H5F_CLOSE_WEAK_F 225 !DEC$ATTRIBUTES DLLEXPORT :: H5F_CLOSE_SEMI_F 226 !DEC$ATTRIBUTES DLLEXPORT :: H5F_CLOSE_STRONG_F 227 !DEC$ATTRIBUTES DLLEXPORT :: H5F_OBJ_FILE_F 228 !DEC$ATTRIBUTES DLLEXPORT :: H5F_OBJ_DATASET_F 229 !DEC$ATTRIBUTES DLLEXPORT :: H5F_OBJ_GROUP_F 230 !DEC$ATTRIBUTES DLLEXPORT :: H5F_OBJ_DATATYPE_F 231 !DEC$ATTRIBUTES DLLEXPORT :: H5F_OBJ_ALL_F 232 !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_EARLIEST_F 233 !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_LATEST_F 234 !DEC$ATTRIBUTES DLLEXPORT :: H5F_UNLIMITED_F 235 !DEC$endif 236 237 INTEGER :: H5F_ACC_RDWR_F 238 INTEGER :: H5F_ACC_RDONLY_F 239 INTEGER :: H5F_ACC_TRUNC_F 240 INTEGER :: H5F_ACC_EXCL_F 241 INTEGER :: H5F_ACC_DEBUG_F 242 INTEGER :: H5F_SCOPE_LOCAL_F 243 INTEGER :: H5F_SCOPE_GLOBAL_F 244 INTEGER :: H5F_CLOSE_DEFAULT_F 245 INTEGER :: H5F_CLOSE_WEAK_F 246 INTEGER :: H5F_CLOSE_SEMI_F 247 INTEGER :: H5F_CLOSE_STRONG_F 248 INTEGER :: H5F_OBJ_FILE_F 249 INTEGER :: H5F_OBJ_DATASET_F 250 INTEGER :: H5F_OBJ_GROUP_F 251 INTEGER :: H5F_OBJ_DATATYPE_F 252 INTEGER :: H5F_OBJ_ALL_F 253 INTEGER :: H5F_LIBVER_EARLIEST_F 254 INTEGER :: H5F_LIBVER_LATEST_F 255 INTEGER :: H5F_UNLIMITED_F 256 ! 257 ! H5G flags declaration 258 ! 259 !DEC$if defined(BUILD_HDF5_DLL) 260 !DEC$ATTRIBUTES DLLEXPORT :: H5G_UNKNOWN_F 261 !DEC$ATTRIBUTES DLLEXPORT :: H5G_GROUP_F 262 !DEC$ATTRIBUTES DLLEXPORT :: H5G_DATASET_F 263 !DEC$ATTRIBUTES DLLEXPORT :: H5G_TYPE_F 264 !DEC$ATTRIBUTES DLLEXPORT :: H5G_LINK_F 265 !DEC$ATTRIBUTES DLLEXPORT :: H5G_UDLINK_F 266 !DEC$ATTRIBUTES DLLEXPORT :: H5G_SAME_LOC_F 267 !DEC$ATTRIBUTES DLLEXPORT :: H5G_LINK_ERROR_F 268 !DEC$ATTRIBUTES DLLEXPORT :: H5G_LINK_HARD_F 269 !DEC$ATTRIBUTES DLLEXPORT :: H5G_LINK_SOFT_F 270 !DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_UNKNOWN_F 271 !DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_SYMBOL_TABLE_F 272 !DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_COMPACT_F 273 !DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_DENSE_F 274 !DEC$endif 275 276 INTEGER :: H5G_UNKNOWN_F 277 INTEGER :: H5G_GROUP_F 278 INTEGER :: H5G_DATASET_F 279 INTEGER :: H5G_TYPE_F 280 INTEGER :: H5G_LINK_F 281 INTEGER :: H5G_UDLINK_F 282 INTEGER :: H5G_SAME_LOC_F 283 INTEGER :: H5G_LINK_ERROR_F 284 INTEGER :: H5G_LINK_HARD_F 285 INTEGER :: H5G_LINK_SOFT_F 286 INTEGER :: H5G_STORAGE_TYPE_UNKNOWN_F 287 INTEGER :: H5G_STORAGE_TYPE_SYMBOL_TABLE_F 288 INTEGER :: H5G_STORAGE_TYPE_COMPACT_F 289 INTEGER :: H5G_STORAGE_TYPE_DENSE_F 290 ! 291 ! H5D flags declaration 292 ! 293 !DEC$if defined(BUILD_HDF5_DLL) 294 !DEC$ATTRIBUTES DLLEXPORT :: H5D_COMPACT_F 295 !DEC$ATTRIBUTES DLLEXPORT :: H5D_CONTIGUOUS_F 296 !DEC$ATTRIBUTES DLLEXPORT :: H5D_CHUNKED_F 297 !DEC$ATTRIBUTES DLLEXPORT :: H5D_ALLOC_TIME_ERROR_F 298 !DEC$ATTRIBUTES DLLEXPORT :: H5D_ALLOC_TIME_DEFAULT_F 299 !DEC$ATTRIBUTES DLLEXPORT :: H5D_ALLOC_TIME_EARLY_F 300 !DEC$ATTRIBUTES DLLEXPORT :: H5D_ALLOC_TIME_LATE_F 301 !DEC$ATTRIBUTES DLLEXPORT :: H5D_ALLOC_TIME_INCR_F 302 !DEC$ATTRIBUTES DLLEXPORT :: H5D_SPACE_STS_ERROR_F 303 !DEC$ATTRIBUTES DLLEXPORT :: H5D_SPACE_STS_NOT_ALLOCATED_F 304 !DEC$ATTRIBUTES DLLEXPORT :: H5D_SPACE_STS_PART_ALLOCATED_F 305 !DEC$ATTRIBUTES DLLEXPORT :: H5D_SPACE_STS_ALLOCATED_F 306 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_TIME_ERROR_F 307 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_TIME_ALLOC_F 308 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_TIME_NEVER_F 309 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_VALUE_ERROR_F 310 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_VALUE_UNDEFINED_F 311 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_VALUE_DEFAULT_F 312 !DEC$ATTRIBUTES DLLEXPORT :: H5D_FILL_VALUE_USER_DEFINED_F 313 !DEC$ATTRIBUTES DLLEXPORT :: H5D_CHUNK_CACHE_NSLOTS_DFLT_F 314 !DEC$ATTRIBUTES DLLEXPORT :: H5D_CHUNK_CACHE_NBYTES_DFLT_F 315 !DEC$ATTRIBUTES DLLEXPORT :: H5D_CHUNK_CACHE_W0_DFLT_F 316 !DEC$ATTRIBUTES DLLEXPORT :: H5D_MPIO_NO_COLLECTIVE_F 317 !DEC$ATTRIBUTES DLLEXPORT :: H5D_MPIO_CHUNK_INDEPENDENT_F 318 !DEC$ATTRIBUTES DLLEXPORT :: H5D_MPIO_CHUNK_COLLECTIVE_F 319 !DEC$ATTRIBUTES DLLEXPORT :: H5D_MPIO_CHUNK_MIXED_F 320 !DEC$ATTRIBUTES DLLEXPORT :: H5D_MPIO_CONTIG_COLLECTIVE_F 321 !DEC$ATTRIBUTES DLLEXPORT :: H5D_VDS_ERROR_F 322 !DEC$ATTRIBUTES DLLEXPORT :: H5D_VDS_FIRST_MISSING_F 323 !DEC$ATTRIBUTES DLLEXPORT :: H5D_VDS_LAST_AVAILABLE_F 324 !DEC$ATTRIBUTES DLLEXPORT :: H5D_VIRTUAL_F 325 !DEC$endif 326 327 INTEGER :: H5D_COMPACT_F 328 INTEGER :: H5D_CONTIGUOUS_F 329 INTEGER :: H5D_CHUNKED_F 330 331 INTEGER :: H5D_ALLOC_TIME_ERROR_F 332 INTEGER :: H5D_ALLOC_TIME_DEFAULT_F 333 INTEGER :: H5D_ALLOC_TIME_EARLY_F 334 INTEGER :: H5D_ALLOC_TIME_LATE_F 335 INTEGER :: H5D_ALLOC_TIME_INCR_F 336 337 INTEGER :: H5D_SPACE_STS_ERROR_F 338 INTEGER :: H5D_SPACE_STS_NOT_ALLOCATED_F 339 INTEGER :: H5D_SPACE_STS_PART_ALLOCATED_F 340 INTEGER :: H5D_SPACE_STS_ALLOCATED_F 341 342 INTEGER :: H5D_FILL_TIME_ERROR_F 343 INTEGER :: H5D_FILL_TIME_ALLOC_F 344 INTEGER :: H5D_FILL_TIME_NEVER_F 345 346 INTEGER :: H5D_FILL_VALUE_ERROR_F 347 INTEGER :: H5D_FILL_VALUE_UNDEFINED_F 348 INTEGER :: H5D_FILL_VALUE_DEFAULT_F 349 INTEGER :: H5D_FILL_VALUE_USER_DEFINED_F 350 351 ! shortened "_DEFAULT" to "_DFLT" to satisfy the limit of 31 352 ! characters for variable names in Fortran. 353 ! shortened "_CONTIGUOUS" to "_CONTIG" to satisfy the limit of 31 354 ! characters for variable names in Fortran. 355 356 INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NSLOTS_DFLT_F 357 INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NBYTES_DFLT_F 358 359 INTEGER :: H5D_CHUNK_CACHE_W0_DFLT_F 360 INTEGER :: H5D_MPIO_NO_COLLECTIVE_F 361 INTEGER :: H5D_MPIO_CHUNK_INDEPENDENT_F 362 INTEGER :: H5D_MPIO_CHUNK_COLLECTIVE_F 363 INTEGER :: H5D_MPIO_CHUNK_MIXED_F 364 INTEGER :: H5D_MPIO_CONTIG_COLLECTIVE_F 365 INTEGER :: H5D_VDS_ERROR_F 366 INTEGER :: H5D_VDS_FIRST_MISSING_F 367 INTEGER :: H5D_VDS_LAST_AVAILABLE_F 368 INTEGER :: H5D_VIRTUAL_F 369 ! 370 ! H5E flags declaration 371 ! 372 !DEC$if defined(BUILD_HDF5_DLL) 373 !DEC$ATTRIBUTES DLLEXPORT :: H5E_DEFAULT_F 374 !DEC$ATTRIBUTES DLLEXPORT :: H5E_MAJOR_F 375 !DEC$ATTRIBUTES DLLEXPORT :: H5E_MINOR_F 376 !DEC$ATTRIBUTES DLLEXPORT :: H5E_WALK_UPWARD_F 377 !DEC$ATTRIBUTES DLLEXPORT :: H5E_WALK_DOWNWARD_F 378 !DEC$endif 379 380 INTEGER(HID_T) :: H5E_DEFAULT_F 381 INTEGER :: H5E_MAJOR_F 382 INTEGER :: H5E_MINOR_F 383 INTEGER :: H5E_WALK_UPWARD_F 384 INTEGER :: H5E_WALK_DOWNWARD_F 385 ! 386 ! H5FD file drivers flags declaration 387 ! 388 !DEC$if defined(BUILD_HDF5_DLL) 389 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MPIO_INDEPENDENT_F 390 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MPIO_COLLECTIVE_F 391 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_NOLIST_F 392 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_DEFAULT_F 393 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_SUPER_F 394 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_BTREE_F 395 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_DRAW_F 396 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_GHEAP_F 397 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_LHEAP_F 398 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_OHDR_F 399 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MEM_NTYPES_F 400 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_CORE_F 401 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_FAMILY_F 402 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_LOG_F 403 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MPIO_F 404 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_MULTI_F 405 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_SEC2_F 406 !DEC$ATTRIBUTES DLLEXPORT :: H5FD_STDIO_F 407 !DEC$endif 408 409 INTEGER :: H5FD_MPIO_INDEPENDENT_F 410 INTEGER :: H5FD_MPIO_COLLECTIVE_F 411 INTEGER :: H5FD_MEM_NOLIST_F 412 INTEGER :: H5FD_MEM_DEFAULT_F 413 INTEGER :: H5FD_MEM_SUPER_F 414 INTEGER :: H5FD_MEM_BTREE_F 415 INTEGER :: H5FD_MEM_DRAW_F 416 INTEGER :: H5FD_MEM_GHEAP_F 417 INTEGER :: H5FD_MEM_LHEAP_F 418 INTEGER :: H5FD_MEM_OHDR_F 419 INTEGER :: H5FD_MEM_NTYPES_F 420 INTEGER(HID_T) :: H5FD_CORE_F 421 INTEGER(HID_T) :: H5FD_FAMILY_F 422 INTEGER(HID_T) :: H5FD_LOG_F 423 INTEGER(HID_T) :: H5FD_MPIO_F 424 INTEGER(HID_T) :: H5FD_MULTI_F 425 INTEGER(HID_T) :: H5FD_SEC2_F 426 INTEGER(HID_T) :: H5FD_STDIO_F 427 ! 428 ! H5I flags declaration 429 ! 430 !DEC$if defined(BUILD_HDF5_DLL) 431 !DEC$ATTRIBUTES DLLEXPORT :: H5I_FILE_F 432 !DEC$ATTRIBUTES DLLEXPORT :: H5I_GROUP_F 433 !DEC$ATTRIBUTES DLLEXPORT :: H5I_DATATYPE_F 434 !DEC$ATTRIBUTES DLLEXPORT :: H5I_DATASPACE_F 435 !DEC$ATTRIBUTES DLLEXPORT :: H5I_DATASET_F 436 !DEC$ATTRIBUTES DLLEXPORT :: H5I_ATTR_F 437 !DEC$ATTRIBUTES DLLEXPORT :: H5I_BADID_F 438 !DEC$endif 439 440 INTEGER :: H5I_FILE_F 441 INTEGER :: H5I_GROUP_F 442 INTEGER :: H5I_DATATYPE_F 443 INTEGER :: H5I_DATASPACE_F 444 INTEGER :: H5I_DATASET_F 445 INTEGER :: H5I_ATTR_F 446 INTEGER :: H5I_BADID_F 447 ! 448 ! H5L flags declaration 449 ! 450 !DEC$if defined(BUILD_HDF5_DLL) 451 !DEC$ATTRIBUTES DLLEXPORT :: H5L_TYPE_ERROR_F 452 !DEC$ATTRIBUTES DLLEXPORT :: H5L_TYPE_HARD_F 453 !DEC$ATTRIBUTES DLLEXPORT :: H5L_TYPE_SOFT_F 454 !DEC$ATTRIBUTES DLLEXPORT :: H5L_TYPE_EXTERNAL_F 455 !DEC$ATTRIBUTES DLLEXPORT :: H5L_SAME_LOC_F 456 !DEC$ATTRIBUTES DLLEXPORT :: H5L_LINK_CLASS_T_VERS_F 457 !DEC$endif 458 459 INTEGER :: H5L_TYPE_ERROR_F 460 INTEGER :: H5L_TYPE_HARD_F 461 INTEGER :: H5L_TYPE_SOFT_F 462 INTEGER :: H5L_TYPE_EXTERNAL_F 463 INTEGER :: H5L_SAME_LOC_F 464 INTEGER :: H5L_LINK_CLASS_T_VERS_F 465 ! 466 ! H5O flags declaration 467 ! 468 !DEC$if defined(BUILD_HDF5_DLL) 469 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_SHALLOW_HIERARCHY_F 470 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_EXPAND_SOFT_LINK_F 471 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_EXPAND_EXT_LINK_F 472 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_EXPAND_REFERENCE_F 473 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_WITHOUT_ATTR_FLAG_F 474 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_PRESERVE_NULL_FLAG_F 475 !DEC$ATTRIBUTES DLLEXPORT :: H5O_COPY_ALL_F 476 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_NONE_FLAG_F 477 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_SDSPACE_FLAG_F 478 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_DTYPE_FLAG_F 479 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_FILL_FLAG_F 480 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_PLINE_FLAG_F 481 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_ATTR_FLAG_F 482 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_ALL_FLAG_F 483 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_CHUNK0_SIZE_F 484 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_ATTR_CRT_ORDER_TRACK_F 485 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_ATTR_CRT_ORDER_INDEX_F 486 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_ATTR_STORE_PHASE_CHA_F 487 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_STORE_TIMES_F 488 !DEC$ATTRIBUTES DLLEXPORT :: H5O_HDR_ALL_FLAGS_F 489 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_MAX_NINDEXES_F 490 !DEC$ATTRIBUTES DLLEXPORT :: H5O_SHMESG_MAX_LIST_SIZE_F 491 !DEC$ATTRIBUTES DLLEXPORT :: H5O_TYPE_UNKNOWN_F 492 !DEC$ATTRIBUTES DLLEXPORT :: H5O_TYPE_GROUP_F 493 !DEC$ATTRIBUTES DLLEXPORT :: H5O_TYPE_DATASET_F 494 !DEC$ATTRIBUTES DLLEXPORT :: H5O_TYPE_NAMED_DATATYPE_F 495 !DEC$ATTRIBUTES DLLEXPORT :: H5O_TYPE_NTYPES_F 496 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_ALL_F 497 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_BASIC_F 498 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_TIME_F 499 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_NUM_ATTRS_F 500 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_HDR_F 501 !DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_META_SIZE_F 502 ! 503 !DEC$endif 504 505 INTEGER :: H5O_COPY_SHALLOW_HIERARCHY_F ! *** THESE VARIABLES DO 506 INTEGER :: H5O_COPY_EXPAND_SOFT_LINK_F ! NOT MATCH THE C VARIABLE 507 INTEGER :: H5O_COPY_EXPAND_EXT_LINK_F ! IN ORDER 508 INTEGER :: H5O_COPY_EXPAND_REFERENCE_F ! TO STAY UNDER THE 509 INTEGER :: H5O_COPY_WITHOUT_ATTR_FLAG_F 510 INTEGER :: H5O_COPY_PRESERVE_NULL_FLAG_F 511 INTEGER :: H5O_COPY_ALL_F 512 INTEGER :: H5O_SHMESG_NONE_FLAG_F 513 INTEGER :: H5O_SHMESG_SDSPACE_FLAG_F 514 INTEGER :: H5O_SHMESG_DTYPE_FLAG_F 515 INTEGER :: H5O_SHMESG_FILL_FLAG_F 516 INTEGER :: H5O_SHMESG_PLINE_FLAG_F 517 INTEGER :: H5O_SHMESG_ATTR_FLAG_F 518 INTEGER :: H5O_SHMESG_ALL_FLAG_F 519 INTEGER :: H5O_HDR_CHUNK0_SIZE_F 520 INTEGER :: H5O_HDR_ATTR_CRT_ORDER_TRACK_F ! 32 CHARACTER 521 INTEGER :: H5O_HDR_ATTR_CRT_ORDER_INDEX_F ! VARIABLE 522 INTEGER :: H5O_HDR_ATTR_STORE_PHASE_CHA_F ! LENGTH *** 523 INTEGER :: H5O_HDR_STORE_TIMES_F 524 INTEGER :: H5O_HDR_ALL_FLAGS_F 525 INTEGER :: H5O_SHMESG_MAX_NINDEXES_F 526 INTEGER :: H5O_SHMESG_MAX_LIST_SIZE_F 527 INTEGER :: H5O_TYPE_UNKNOWN_F 528 INTEGER :: H5O_TYPE_GROUP_F 529 INTEGER :: H5O_TYPE_DATASET_F 530 INTEGER :: H5O_TYPE_NAMED_DATATYPE_F 531 INTEGER :: H5O_TYPE_NTYPES_F 532 INTEGER :: H5O_INFO_ALL_F 533 INTEGER :: H5O_INFO_BASIC_F 534 INTEGER :: H5O_INFO_TIME_F 535 INTEGER :: H5O_INFO_NUM_ATTRS_F 536 INTEGER :: H5O_INFO_HDR_F 537 INTEGER :: H5O_INFO_META_SIZE_F 538 ! 539 ! H5P flags declaration 540 ! 541 !DEC$if defined(BUILD_HDF5_DLL) 542 !DEC$ATTRIBUTES DLLEXPORT :: H5P_FILE_CREATE_F 543 !DEC$ATTRIBUTES DLLEXPORT :: H5P_FILE_ACCESS_F 544 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DATASET_CREATE_F 545 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DATASET_XFER_F 546 !DEC$ATTRIBUTES DLLEXPORT :: H5P_FILE_MOUNT_F 547 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DEFAULT_F 548 !DEC$ATTRIBUTES DLLEXPORT :: H5P_ROOT_F 549 !DEC$ATTRIBUTES DLLEXPORT :: H5P_OBJECT_CREATE_F 550 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DATASET_ACCESS_F 551 !DEC$ATTRIBUTES DLLEXPORT :: H5P_GROUP_CREATE_F 552 !DEC$ATTRIBUTES DLLEXPORT :: H5P_GROUP_ACCESS_F 553 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DATATYPE_CREATE_F 554 !DEC$ATTRIBUTES DLLEXPORT :: H5P_DATATYPE_ACCESS_F 555 !DEC$ATTRIBUTES DLLEXPORT :: H5P_STRING_CREATE_F 556 !DEC$ATTRIBUTES DLLEXPORT :: H5P_ATTRIBUTE_CREATE_F 557 !DEC$ATTRIBUTES DLLEXPORT :: H5P_OBJECT_COPY_F 558 !DEC$ATTRIBUTES DLLEXPORT :: H5P_LINK_CREATE_F 559 !DEC$ATTRIBUTES DLLEXPORT :: H5P_LINK_ACCESS_F 560 !DEC$ATTRIBUTES DLLEXPORT :: H5P_CRT_ORDER_INDEXED_F 561 !DEC$ATTRIBUTES DLLEXPORT :: H5P_CRT_ORDER_TRACKED_F 562 !DEC$endif 563 564 INTEGER(HID_T) :: H5P_FILE_CREATE_F 565 INTEGER(HID_T) :: H5P_FILE_ACCESS_F 566 INTEGER(HID_T) :: H5P_DATASET_CREATE_F 567 INTEGER(HID_T) :: H5P_DATASET_XFER_F 568 INTEGER(HID_T) :: H5P_FILE_MOUNT_F 569 INTEGER(HID_T) :: H5P_DEFAULT_F 570 INTEGER(HID_T) :: H5P_ROOT_F 571 INTEGER(HID_T) :: H5P_OBJECT_CREATE_F 572 INTEGER(HID_T) :: H5P_DATASET_ACCESS_F 573 INTEGER(HID_T) :: H5P_GROUP_CREATE_F 574 INTEGER(HID_T) :: H5P_GROUP_ACCESS_F 575 INTEGER(HID_T) :: H5P_DATATYPE_CREATE_F 576 INTEGER(HID_T) :: H5P_DATATYPE_ACCESS_F 577 INTEGER(HID_T) :: H5P_STRING_CREATE_F 578 INTEGER(HID_T) :: H5P_ATTRIBUTE_CREATE_F 579 INTEGER(HID_T) :: H5P_OBJECT_COPY_F 580 INTEGER(HID_T) :: H5P_LINK_CREATE_F 581 INTEGER(HID_T) :: H5P_LINK_ACCESS_F 582 583 INTEGER :: H5P_CRT_ORDER_INDEXED_F 584 INTEGER :: H5P_CRT_ORDER_TRACKED_F 585 ! 586 ! H5R flags declaration 587 ! 588 !DEC$if defined(BUILD_HDF5_DLL) 589 !DEC$ATTRIBUTES DLLEXPORT :: H5R_OBJECT_F 590 !DEC$ATTRIBUTES DLLEXPORT :: H5R_DATASET_REGION_F 591 !DEC$endif 592 593 INTEGER :: H5R_OBJECT_F 594 INTEGER :: H5R_DATASET_REGION_F 595 ! 596 ! H5S flags declaration 597 ! 598 !DEC$if defined(BUILD_HDF5_DLL) 599 !DEC$ATTRIBUTES DLLEXPORT :: H5S_UNLIMITED_F 600 !DEC$ATTRIBUTES DLLEXPORT :: H5S_ALL_F 601 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SCALAR_F 602 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SIMPLE_F 603 !DEC$ATTRIBUTES DLLEXPORT :: H5S_NULL_F 604 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_NOOP_F 605 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_SET_F 606 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_OR_F 607 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_AND_F 608 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_XOR_F 609 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_NOTB_F 610 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_NOTA_F 611 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_APPEND_F 612 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_PREPEND_F 613 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SELECT_INVALID_F 614 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_ERROR_F 615 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_NONE_F 616 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_POINTS_F 617 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_HYPERSLABS_F 618 !DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_ALL_F 619 !DEC$endif 620 621 INTEGER(HSIZE_T) :: H5S_UNLIMITED_F 622 623 INTEGER(HID_T) :: H5S_ALL_F 624 625 INTEGER :: H5S_SCALAR_F 626 INTEGER :: H5S_SIMPLE_F 627 INTEGER :: H5S_NULL_F 628 629 INTEGER :: H5S_SELECT_NOOP_F 630 INTEGER :: H5S_SELECT_SET_F 631 INTEGER :: H5S_SELECT_OR_F 632 INTEGER :: H5S_SELECT_AND_F 633 INTEGER :: H5S_SELECT_XOR_F 634 INTEGER :: H5S_SELECT_NOTB_F 635 INTEGER :: H5S_SELECT_NOTA_F 636 INTEGER :: H5S_SELECT_APPEND_F 637 INTEGER :: H5S_SELECT_PREPEND_F 638 INTEGER :: H5S_SELECT_INVALID_F 639 640 INTEGER :: H5S_SEL_ERROR_F 641 INTEGER :: H5S_SEL_NONE_F 642 INTEGER :: H5S_SEL_POINTS_F 643 INTEGER :: H5S_SEL_HYPERSLABS_F 644 INTEGER :: H5S_SEL_ALL_F 645 ! 646 ! H5T flags declaration 647 ! 648 !DEC$if defined(BUILD_HDF5_DLL) 649 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NO_CLASS_F 650 !DEC$ATTRIBUTES DLLEXPORT :: H5T_INTEGER_F 651 !DEC$ATTRIBUTES DLLEXPORT :: H5T_FLOAT_F 652 !DEC$ATTRIBUTES DLLEXPORT :: H5T_TIME_F 653 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STRING_F 654 !DEC$ATTRIBUTES DLLEXPORT :: H5T_BITFIELD_F 655 !DEC$ATTRIBUTES DLLEXPORT :: H5T_OPAQUE_F 656 !DEC$ATTRIBUTES DLLEXPORT :: H5T_COMPOUND_F 657 !DEC$ATTRIBUTES DLLEXPORT :: H5T_REFERENCE_F 658 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ENUM_F 659 !DEC$ATTRIBUTES DLLEXPORT :: H5T_VLEN_F 660 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ARRAY_F 661 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ORDER_LE_F 662 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ORDER_BE_F 663 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ORDER_VAX_F 664 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ORDER_NONE_F 665 !DEC$ATTRIBUTES DLLEXPORT :: H5T_ORDER_MIXED_F 666 !DEC$ATTRIBUTES DLLEXPORT :: H5T_PAD_ZERO_F 667 !DEC$ATTRIBUTES DLLEXPORT :: H5T_PAD_ONE_F 668 !DEC$ATTRIBUTES DLLEXPORT :: H5T_PAD_BACKGROUND_F 669 !DEC$ATTRIBUTES DLLEXPORT :: H5T_PAD_ERROR_F 670 !DEC$ATTRIBUTES DLLEXPORT :: H5T_SGN_NONE_F 671 !DEC$ATTRIBUTES DLLEXPORT :: H5T_SGN_2_F 672 !DEC$ATTRIBUTES DLLEXPORT :: H5T_SGN_ERROR_F 673 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NORM_IMPLIED_F 674 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NORM_MSBSET_F 675 !DEC$ATTRIBUTES DLLEXPORT :: H5T_NORM_NONE_F 676 !DEC$ATTRIBUTES DLLEXPORT :: H5T_CSET_ASCII_F 677 !DEC$ATTRIBUTES DLLEXPORT :: H5T_CSET_UTF8_F 678 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STR_NULLTERM_F 679 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STR_NULLPAD_F 680 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STR_SPACEPAD_F 681 !DEC$ATTRIBUTES DLLEXPORT :: H5T_STR_ERROR_F 682 !DEC$ATTRIBUTES DLLEXPORT :: H5T_DIR_ASCEND_F 683 !DEC$ATTRIBUTES DLLEXPORT :: H5T_DIR_DESCEND_F 684 !DEC$endif 685 686 INTEGER :: H5T_NO_CLASS_F 687 INTEGER :: H5T_INTEGER_F 688 INTEGER :: H5T_FLOAT_F 689 INTEGER :: H5T_TIME_F 690 INTEGER :: H5T_STRING_F 691 INTEGER :: H5T_BITFIELD_F 692 INTEGER :: H5T_OPAQUE_F 693 INTEGER :: H5T_COMPOUND_F 694 INTEGER :: H5T_REFERENCE_F 695 INTEGER :: H5T_ENUM_F 696 INTEGER :: H5T_VLEN_F 697 INTEGER :: H5T_ARRAY_F 698 INTEGER :: H5T_ORDER_LE_F 699 INTEGER :: H5T_ORDER_BE_F 700 INTEGER :: H5T_ORDER_VAX_F 701 INTEGER :: H5T_ORDER_NONE_F 702 INTEGER :: H5T_ORDER_MIXED_F 703 INTEGER :: H5T_PAD_ZERO_F 704 INTEGER :: H5T_PAD_ONE_F 705 INTEGER :: H5T_PAD_BACKGROUND_F 706 INTEGER :: H5T_PAD_ERROR_F 707 INTEGER :: H5T_SGN_NONE_F 708 INTEGER :: H5T_SGN_2_F 709 INTEGER :: H5T_SGN_ERROR_F 710 INTEGER :: H5T_NORM_IMPLIED_F 711 INTEGER :: H5T_NORM_MSBSET_F 712 INTEGER :: H5T_NORM_NONE_F 713 INTEGER :: H5T_CSET_ASCII_F 714 INTEGER :: H5T_CSET_UTF8_F 715 INTEGER :: H5T_STR_NULLTERM_F 716 INTEGER :: H5T_STR_NULLPAD_F 717 INTEGER :: H5T_STR_SPACEPAD_F 718 INTEGER :: H5T_STR_ERROR_F 719 INTEGER :: H5T_DIR_ASCEND_F 720 INTEGER :: H5T_DIR_DESCEND_F 721 ! 722 ! H5Z flags declaration 723 ! 724 !DEC$if defined(BUILD_HDF5_DLL) 725 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_ERROR_F 726 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_NONE_F 727 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_ALL_F 728 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_DEFLATE_F 729 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_SHUFFLE_F 730 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_FLETCHER32_F 731 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_SZIP_F 732 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_ERROR_EDC_F 733 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_DISABLE_EDC_F 734 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_ENABLE_EDC_F 735 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_NO_EDC_F 736 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FLAG_OPTIONAL_F 737 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_ENCODE_ENABLED_F 738 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_DECODE_ENABLED_F 739 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_NBIT_F 740 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_FILTER_SCALEOFFSET_F 741 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_SO_FLOAT_DSCALE_F 742 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_SO_FLOAT_ESCALE_F 743 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_SO_INT_F 744 !DEC$ATTRIBUTES DLLEXPORT :: H5Z_SO_INT_MINBITS_DEFAULT_F 745 !DEC$endif 746 747 INTEGER :: H5Z_FILTER_ERROR_F 748 INTEGER :: H5Z_FILTER_NONE_F 749 INTEGER :: H5Z_FILTER_ALL_F 750 INTEGER :: H5Z_FILTER_DEFLATE_F 751 INTEGER :: H5Z_FILTER_SHUFFLE_F 752 INTEGER :: H5Z_FILTER_FLETCHER32_F 753 INTEGER :: H5Z_FILTER_SZIP_F 754 INTEGER :: H5Z_ERROR_EDC_F 755 INTEGER :: H5Z_DISABLE_EDC_F 756 INTEGER :: H5Z_ENABLE_EDC_F 757 INTEGER :: H5Z_NO_EDC_F 758 INTEGER :: H5Z_FLAG_OPTIONAL_F 759 INTEGER :: H5Z_FILTER_ENCODE_ENABLED_F 760 INTEGER :: H5Z_FILTER_DECODE_ENABLED_F 761 INTEGER :: H5Z_FILTER_NBIT_F 762 INTEGER :: H5Z_FILTER_SCALEOFFSET_F 763 INTEGER :: H5Z_SO_FLOAT_DSCALE_F 764 INTEGER :: H5Z_SO_FLOAT_ESCALE_F 765 INTEGER :: H5Z_SO_INT_F 766 INTEGER :: H5Z_SO_INT_MINBITS_DEFAULT_F 767 ! 768 ! H5 Library flags declaration 769 ! 770 !DEC$if defined(BUILD_HDF5_DLL) 771 !DEC$ATTRIBUTES DLLEXPORT :: H5_SZIP_EC_OM_F 772 !DEC$ATTRIBUTES DLLEXPORT :: H5_SZIP_NN_OM_F 773 !DEC$endif 774 775 INTEGER :: H5_SZIP_EC_OM_F 776 INTEGER :: H5_SZIP_NN_OM_F 777 778CONTAINS 779 780 ! Copy a c string to a Fortran string 781 782 SUBROUTINE H5_Fortran_string_c2f(c_string, f_string) 783 784 USE, INTRINSIC :: ISO_C_BINDING 785 IMPLICIT NONE 786 CHARACTER(KIND=C_CHAR, LEN=*), INTENT(IN) :: c_string 787 CHARACTER(LEN=*), INTENT(OUT) :: f_string 788 INTEGER(SIZE_T) :: c_len, f_len 789 790 ! Find the length of the C string by locating the null terminator 791 c_len = MAX(INDEX(c_string,C_NULL_CHAR, KIND=SIZE_T)-1_SIZE_T,1_SIZE_T) 792 ! Find the length of the Fortran string 793 f_len = LEN(f_string) 794 795 ! CASE (1): C string is equal to or larger than Fortran character buffer, 796 ! so fill the entire Fortran buffer. 797 IF(c_len.GE.f_len)THEN ! 798 f_string(1:f_len) = c_string(1:f_len) 799 800 ! CASE (2): C string is smaller than Fortran character buffer, 801 ! so copy C string and blank pad remaining characters. 802 ELSE 803 f_string(1:c_len) = c_string(1:c_len) 804 f_string(c_len+1:f_len) =' ' 805 ENDIF 806 END SUBROUTINE H5_Fortran_string_c2f 807 808 SUBROUTINE H5_Fortran_string_f2c(f_string, c_string) 809 810 USE, INTRINSIC :: ISO_C_BINDING 811 IMPLICIT NONE 812 CHARACTER(LEN=*), INTENT(IN) :: f_string 813 CHARACTER(KIND=C_CHAR, LEN=*), INTENT(OUT) :: c_string 814 815 c_string = TRIM(f_string)//C_NULL_CHAR 816 817 END SUBROUTINE H5_Fortran_string_f2c 818 819 820! Copy Fortran string to C charater array, assuming the C array is one-char 821! longer for the terminating null char. 822! fstring : the Fortran input string 823! cstring : the C output string (with memory already allocated) 824!!$subroutine MPIR_Fortran_string_f2c(fstring, cstring) 825!!$ implicit none 826!!$ character(len=*), intent(in) :: fstring 827!!$ character(kind=c_char), intent(out) :: cstring(:) 828!!$ integer :: i, j 829!!$ logical :: met_non_blank 830!!$ 831!!$ ! Trim the leading and trailing blank characters 832!!$ j = 1 833!!$ met_non_blank = .false. 834!!$ do i = 1, len_trim(fstring) 835!!$ if (met_non_blank) then 836!!$ cstring(j) = fstring(i:i) 837!!$ j = j + 1 838!!$ else if (fstring(i:i) /= ' ') then 839!!$ met_non_blank = .true. 840!!$ cstring(j) = fstring(i:i) 841!!$ j = j + 1 842!!$ end if 843!!$ end do 844!!$ 845!!$ cstring(j) = C_NULL_CHAR 846!!$end subroutine MPIR_Fortran_string_f2c 847!!$ 848!!$! Copy C charater array to Fortran string 849!!$subroutine MPIR_Fortran_string_c2f(cstring, fstring) 850!!$ implicit none 851!!$ character(kind=c_char), intent(in) :: cstring(:) 852!!$ character(len=*), intent(out) :: fstring 853!!$ integer :: i, j, length 854!!$ 855!!$ i = 1 856!!$ do while (cstring(i) /= C_NULL_CHAR) 857!!$ fstring(i:i) = cstring(i) 858!!$ i = i + 1 859!!$ end do 860!!$ 861!!$ ! Zero out the trailing characters 862!!$ length = len(fstring) 863!!$ do j = i, length 864!!$ fstring(j:j) = ' ' 865!!$ end do 866!!$end subroutine MPIR_Fortran_string_c2f 867 868END MODULE H5GLOBAL 869 870