Merge pull request #807 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:noF77 to develop

* commit 'fbe6c69097c03cfe3f37d9ab114c0ad438fd434e': (37 commits)
  removed duplicate exports of DS subroutines
  removed duplicate exports of DS subroutines
  clean-up
  moved dll export to Module
  removed parameters
  added missing parameter
  added missing parameter
  removed duplicate exports of DS subroutines
  removed fortran comments
  exported global variables for windows
  export var.
  initialized integer constants
  Update macros
  Changed casts to const void *
  Casted pointers to void to quiet warnings on Linux.
  Added CHECK_PTR_EQ macro to testhdf5 to quiet cast warnings on Windows.
  Fixed misc Warnings flagged by VS2017.
  Made a dcpl layout struct in H5Z.c dynamic to quiet a stack size warning.
  Fixed an uninitialized filter callback struct in H5Dchunk.c and unified the naming and initialization of said struct throughout the library. This was causing a crash on VS2015 in debug mode when the debug heap complained. Fixes HDFFV-10330.
  Fixed Windows code in H5PLpath.c
  ...
This commit is contained in:
Scot Breitenfeld 2017-12-06 13:51:31 -06:00
commit fd21843b38
3 changed files with 857 additions and 687 deletions

View File

@ -38,10 +38,111 @@
MODULE H5LIB
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, C_INTPTR_T
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_INTPTR_T
USE H5GLOBAL
IMPLICIT NONE
PRIVATE
!
! H5F flags declaration
!
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
INTEGER, DIMENSION(1:H5F_FLAGS_LEN) :: H5F_flags
!
! H5generic flags declaration
!
INTEGER, PARAMETER :: H5generic_FLAGS_LEN = 9
INTEGER, DIMENSION(1:H5generic_FLAGS_LEN) :: H5generic_flags
INTEGER, PARAMETER :: H5generic_haddr_FLAGS_LEN = 1
INTEGER(HADDR_T), DIMENSION(1:H5generic_haddr_FLAGS_LEN) :: H5generic_haddr_flags
!
! H5G flags declaration
!
INTEGER, PARAMETER :: H5G_FLAGS_LEN = 12
INTEGER, DIMENSION(1:H5G_FLAGS_LEN) :: H5G_flags
!
! H5D flags declaration
!
INTEGER, PARAMETER :: H5D_FLAGS_LEN = 29
INTEGER, DIMENSION(1:H5D_FLAGS_LEN) :: H5D_flags
INTEGER, PARAMETER :: H5D_SIZE_FLAGS_LEN = 2
INTEGER(SIZE_T), DIMENSION(1:H5D_SIZE_FLAGS_LEN) :: H5D_size_flags
!
! H5E flags declaration
!
INTEGER, PARAMETER :: H5E_FLAGS_LEN = 4
INTEGER, DIMENSION(1:H5E_FLAGS_LEN) :: H5E_flags
INTEGER, PARAMETER :: H5E_HID_FLAGS_LEN = 1
INTEGER(HID_T), DIMENSION(1:H5E_HID_FLAGS_LEN) :: H5E_hid_flags
!
! H5FD flags declaration
!
INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
INTEGER, DIMENSION(1:H5FD_FLAGS_LEN) :: H5FD_flags
!
! H5FD file drivers flags declaration
!
INTEGER, PARAMETER :: H5FD_HID_FLAGS_LEN = 7
INTEGER(HID_T), DIMENSION(1:H5FD_HID_FLAGS_LEN) :: H5FD_hid_flags
!
! H5I flags declaration
!
INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
INTEGER, DIMENSION(1:H5I_FLAGS_LEN) :: H5I_flags
!
! H5L flags declaration
!
INTEGER, PARAMETER :: H5L_FLAGS_LEN = 6
INTEGER, DIMENSION(1:H5L_FLAGS_LEN) :: H5L_flags
!
! H5O flags declaration
!
INTEGER, PARAMETER :: H5O_FLAGS_LEN = 27
INTEGER, DIMENSION(1:H5O_FLAGS_LEN) :: H5o_flags
!
! H5P flags declaration
!
INTEGER, PARAMETER :: H5P_FLAGS_LEN = 18
INTEGER(HID_T), DIMENSION(1:H5P_FLAGS_LEN) :: H5P_flags
!
! H5P integers flags declaration
!
INTEGER, PARAMETER :: H5P_FLAGS_INT_LEN = 2
INTEGER, DIMENSION(1:H5P_FLAGS_INT_LEN) :: H5P_flags_int
!
! H5R flags declaration
!
INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
INTEGER, DIMENSION(1:H5R_FLAGS_LEN) :: H5R_flags
!
! H5S flags declaration
!
INTEGER, PARAMETER :: H5S_FLAGS_LEN = 18
INTEGER, DIMENSION(1:H5S_FLAGS_LEN) :: H5S_flags
INTEGER, PARAMETER :: H5S_HSIZE_FLAGS_LEN = 1
INTEGER(HSIZE_T), DIMENSION(1:H5S_HSIZE_FLAGS_LEN) :: H5S_hsize_flags
INTEGER, PARAMETER :: H5S_HID_FLAGS_LEN = 1
INTEGER(HSIZE_T), DIMENSION(1:H5S_HID_FLAGS_LEN) :: H5S_hid_flags
!
! H5T flags declaration
!
INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35
INTEGER, DIMENSION(1:H5T_FLAGS_LEN) :: H5T_flags
!
! H5Z flags declaration
!
INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 20
INTEGER, DIMENSION(1:H5Z_FLAGS_LEN) :: H5Z_flags
!
! H5 Library flags declaration
!
INTEGER, PARAMETER :: H5LIB_FLAGS_LEN = 2
INTEGER, DIMENSION(1:H5LIB_FLAGS_LEN) :: H5LIB_flags
PUBLIC :: h5open_f, h5close_f, h5get_libversion_f, h5dont_atexit_f, h5kind_to_type, h5offsetof
PUBLIC :: h5garbage_collect_f, h5check_version_f
CONTAINS
!****s* H5LIB/h5open_f
!
@ -65,26 +166,24 @@ CONTAINS
!
! Removed call to h5open_c since this may cause a problem for an
! application that uses HDF5 library outside HDF5 Fortran APIs.
! October 13, 2011
! October 13, 2011
! Fortran90 Interface:
SUBROUTINE h5open_f(error)
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
INTEGER :: error_1, error_2, error_3
INTERFACE
INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types) &
BIND(C,NAME='h5init_types_c')
IMPORT :: HID_T
IMPORT :: PREDEF_TYPES_LEN, FLOATING_TYPES_LEN, INTEGER_TYPES_LEN
IMPLICIT NONE
INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: i_types
INTEGER(HID_T), DIMENSION(1:PREDEF_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(1:FLOATING_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(1:INTEGER_TYPES_LEN) :: i_types
END FUNCTION h5init_types_c
END INTERFACE
INTERFACE
INTEGER FUNCTION h5init_flags_c(i_H5D_flags, &
i_H5D_size_flags,&
i_H5E_flags, &
@ -116,39 +215,90 @@ CONTAINS
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
IMPLICIT NONE
INTEGER i_H5D_flags(H5D_FLAGS_LEN)
INTEGER(SIZE_T) i_H5D_size_flags(H5D_SIZE_FLAGS_LEN)
INTEGER i_H5E_flags(H5E_FLAGS_LEN)
INTEGER(HID_T) i_H5E_hid_flags(H5E_HID_FLAGS_LEN)
INTEGER i_H5F_flags(H5F_FLAGS_LEN)
INTEGER i_H5G_flags(H5G_FLAGS_LEN)
INTEGER i_H5FD_flags(H5FD_FLAGS_LEN)
INTEGER(HID_T) i_H5FD_hid_flags(H5FD_HID_FLAGS_LEN)
INTEGER i_H5I_flags(H5I_FLAGS_LEN)
INTEGER i_H5L_flags(H5L_FLAGS_LEN)
INTEGER i_H5O_flags(H5O_FLAGS_LEN)
INTEGER(HID_T) i_H5P_flags(H5P_FLAGS_LEN)
INTEGER i_H5P_flags_int(H5P_FLAGS_INT_LEN)
INTEGER i_H5R_flags(H5R_FLAGS_LEN)
INTEGER i_H5S_flags(H5S_FLAGS_LEN)
INTEGER(HID_T) i_H5S_hid_flags(H5S_HID_FLAGS_LEN)
INTEGER(HSIZE_T) i_H5S_hsize_flags(H5S_HSIZE_FLAGS_LEN)
INTEGER i_H5T_flags(H5T_FLAGS_LEN)
INTEGER i_H5Z_flags(H5Z_FLAGS_LEN)
INTEGER i_H5generic_flags(H5generic_FLAGS_LEN)
INTEGER(HADDR_T) i_H5generic_haddr_flags(H5generic_haddr_FLAGS_LEN)
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: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
END FUNCTION h5init_flags_c
END INTERFACE
INTERFACE
INTEGER FUNCTION h5init1_flags_c( i_H5LIB_flags ) &
BIND(C,NAME='h5init1_flags_c')
IMPORT :: H5LIB_FLAGS_LEN
IMPLICIT NONE
INTEGER i_H5LIB_flags(H5LIB_FLAGS_LEN)
INTEGER, DIMENSION(1:H5LIB_FLAGS_LEN) :: i_H5LIB_flags
END FUNCTION h5init1_flags_c
END INTERFACE
error_1 = h5init_types_c(predef_types, floating_types, integer_types)
error_2 = h5init_flags_c(H5D_flags, &
error = h5init_types_c(predef_types, floating_types, integer_types)
H5T_NATIVE_INTEGER_KIND(1:5) = predef_types(1:5)
H5T_NATIVE_INTEGER = predef_types(6)
H5T_NATIVE_REAL = predef_types(7)
H5T_NATIVE_DOUBLE = predef_types(8)
H5T_NATIVE_CHARACTER = predef_types(9)
H5T_STD_REF_OBJ = predef_types(10)
H5T_STD_REF_DSETREG = predef_types(11)
H5T_NATIVE_REAL_C_FLOAT = predef_types(12)
H5T_NATIVE_REAL_C_DOUBLE = predef_types(13)
H5T_NATIVE_REAL_C_LONG_DOUBLE = predef_types(14)
H5T_NATIVE_B8 = predef_types(15)
H5T_NATIVE_B16 = predef_types(16)
H5T_NATIVE_B32 = predef_types(17)
H5T_NATIVE_B64 = predef_types(18)
H5T_NATIVE_FLOAT_128 = predef_types(19)
H5T_IEEE_F32BE = floating_types(1)
H5T_IEEE_F32LE = floating_types(2)
H5T_IEEE_F64BE = floating_types(3)
H5T_IEEE_F64LE = floating_types(4)
H5T_STD_I8BE = integer_types(1)
H5T_STD_I8LE = integer_types(2)
H5T_STD_I16BE = integer_types(3)
H5T_STD_I16LE = integer_types(4)
H5T_STD_I32BE = integer_types(5)
H5T_STD_I32LE = integer_types(6)
H5T_STD_I64BE = integer_types(7)
H5T_STD_I64LE = integer_types(8)
H5T_STD_U8BE = integer_types(9)
H5T_STD_U8LE = integer_types(10)
H5T_STD_U16BE = integer_types(11)
H5T_STD_U16LE = integer_types(12)
H5T_STD_U32BE = integer_types(13)
H5T_STD_U32LE = integer_types(14)
H5T_STD_U64BE = integer_types(15)
H5T_STD_U64LE = integer_types(16)
H5T_STRING = integer_types(17)
H5T_STD_B8BE = integer_types(18)
H5T_STD_B8LE = integer_types(19)
H5T_STD_B16BE = integer_types(20)
H5T_STD_B16LE = integer_types(21)
H5T_STD_B32BE = integer_types(22)
H5T_STD_B32LE = integer_types(23)
H5T_STD_B64BE = integer_types(24)
H5T_STD_B64LE = integer_types(25)
H5T_FORTRAN_S1 = integer_types(26)
H5T_C_S1 = integer_types(27)
error = error + h5init_flags_c(H5D_flags, &
H5D_size_flags, &
H5E_flags, &
H5E_hid_flags, &
@ -169,8 +319,299 @@ CONTAINS
H5Z_flags, &
H5generic_flags,&
H5generic_haddr_flags)
error_3 = h5init1_flags_c(H5LIB_flags )
error = error_1 + error_2 + error_3
!
! H5F flags
!
H5F_ACC_RDWR_F = H5F_flags(1)
H5F_ACC_RDONLY_F = H5F_flags(2)
H5F_ACC_TRUNC_F = H5F_flags(3)
H5F_ACC_EXCL_F = H5F_flags(4)
H5F_ACC_DEBUG_F = H5F_flags(5)
H5F_SCOPE_LOCAL_F = H5F_flags(6)
H5F_SCOPE_GLOBAL_F = H5F_flags(7)
H5F_CLOSE_DEFAULT_F = H5F_flags(8)
H5F_CLOSE_WEAK_F = H5F_flags(9)
H5F_CLOSE_SEMI_F = H5F_flags(10)
H5F_CLOSE_STRONG_F = H5F_flags(11)
H5F_OBJ_FILE_F = H5F_flags(12)
H5F_OBJ_DATASET_F = H5F_flags(13)
H5F_OBJ_GROUP_F = H5F_flags(14)
H5F_OBJ_DATATYPE_F = H5F_flags(15)
H5F_OBJ_ALL_F = H5F_flags(16)
H5F_LIBVER_EARLIEST_F = H5F_flags(17)
H5F_LIBVER_LATEST_F = H5F_flags(18)
H5F_UNLIMITED_F = H5F_flags(19)
!
! H5generic flags
!
H5_INDEX_UNKNOWN_F = H5generic_flags(1)
H5_INDEX_NAME_F = H5generic_flags(2)
H5_INDEX_CRT_ORDER_F = H5generic_flags(3)
H5_INDEX_N_F = H5generic_flags(4)
H5_ITER_UNKNOWN_F = H5generic_flags(5)
H5_ITER_INC_F = H5generic_flags(6)
H5_ITER_DEC_F = H5generic_flags(7)
H5_ITER_NATIVE_F = H5generic_flags(8)
H5_ITER_N_F = H5generic_flags(9)
HADDR_UNDEF_F = H5generic_haddr_flags(1)
!
! H5G flags
!
H5G_UNKNOWN_F = H5G_flags(1)
H5G_GROUP_F = H5G_flags(2)
H5G_DATASET_F = H5G_flags(3)
H5G_TYPE_F = H5G_flags(4)
H5G_SAME_LOC_F = H5G_flags(5)
H5G_LINK_ERROR_F = H5G_flags(6)
H5G_LINK_HARD_F = H5G_flags(7)
H5G_LINK_SOFT_F = H5G_flags(8)
H5G_STORAGE_TYPE_UNKNOWN_F = H5G_flags(9)
H5G_STORAGE_TYPE_SYMBOL_TABLE_F = H5G_flags(10)
H5G_STORAGE_TYPE_COMPACT_F = H5G_flags(11)
H5G_STORAGE_TYPE_DENSE_F = H5G_flags(12)
!
! H5D flags
!
H5D_COMPACT_F = H5D_flags(1)
H5D_CONTIGUOUS_F = H5D_flags(2)
H5D_CHUNKED_F = H5D_flags(3)
H5D_ALLOC_TIME_ERROR_F = H5D_flags(4)
H5D_ALLOC_TIME_DEFAULT_F = H5D_flags(5)
H5D_ALLOC_TIME_EARLY_F = H5D_flags(6)
H5D_ALLOC_TIME_LATE_F = H5D_flags(7)
H5D_ALLOC_TIME_INCR_F = H5D_flags(8)
H5D_SPACE_STS_ERROR_F = H5D_flags(9)
H5D_SPACE_STS_NOT_ALLOCATED_F = H5D_flags(10)
H5D_SPACE_STS_PART_ALLOCATED_F = H5D_flags(11)
H5D_SPACE_STS_ALLOCATED_F = H5D_flags(12)
H5D_FILL_TIME_ERROR_F = H5D_flags(13)
H5D_FILL_TIME_ALLOC_F = H5D_flags(14)
H5D_FILL_TIME_NEVER_F = H5D_flags(15)
H5D_FILL_VALUE_ERROR_F = H5D_flags(16)
H5D_FILL_VALUE_UNDEFINED_F = H5D_flags(17)
H5D_FILL_VALUE_DEFAULT_F = H5D_flags(18)
H5D_FILL_VALUE_USER_DEFINED_F = H5D_flags(19)
H5D_CHUNK_CACHE_W0_DFLT_F = H5D_flags(20)
H5D_MPIO_NO_COLLECTIVE_F = H5D_flags(21)
H5D_MPIO_CHUNK_INDEPENDENT_F = H5D_flags(22)
H5D_MPIO_CHUNK_COLLECTIVE_F = H5D_flags(23)
H5D_MPIO_CHUNK_MIXED_F = H5D_flags(24)
H5D_MPIO_CONTIG_COLLECTIVE_F = H5D_flags(25)
H5D_VDS_ERROR_F = H5D_flags(26)
H5D_VDS_FIRST_MISSING_F = H5D_flags(27)
H5D_VDS_LAST_AVAILABLE_F = H5D_flags(28)
H5D_VIRTUAL_F = H5D_flags(29)
H5D_CHUNK_CACHE_NSLOTS_DFLT_F = H5D_size_flags(1)
H5D_CHUNK_CACHE_NBYTES_DFLT_F = H5D_size_flags(2)
!
! H5E flags
!
H5E_DEFAULT_F = H5E_hid_flags(1)
H5E_MAJOR_F = H5E_flags(1)
H5E_MINOR_F = H5E_flags(2)
H5E_WALK_UPWARD_F = H5E_flags(3)
H5E_WALK_DOWNWARD_F = H5E_flags(4)
!
! 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 file driver flags
!
H5FD_CORE_F = H5FD_hid_flags(1)
H5FD_FAMILY_F = H5FD_hid_flags(2)
H5FD_LOG_F = H5FD_hid_flags(3)
H5FD_MPIO_F = H5FD_hid_flags(4)
H5FD_MULTI_F = H5FD_hid_flags(5)
H5FD_SEC2_F = H5FD_hid_flags(6)
H5FD_STDIO_F = H5FD_hid_flags(7)
!
! H5I flags declaration
!
H5I_FILE_F = H5I_flags(1)
H5I_GROUP_F = H5I_flags(2)
H5I_DATATYPE_F = H5I_flags(3)
H5I_DATASPACE_F = H5I_flags(4)
H5I_DATASET_F = H5I_flags(5)
H5I_ATTR_F = H5I_flags(6)
H5I_BADID_F = H5I_flags(7)
!
! H5L flags
!
H5L_TYPE_ERROR_F = H5L_flags(1)
H5L_TYPE_HARD_F = H5L_flags(2)
H5L_TYPE_SOFT_F = H5L_flags(3)
H5L_TYPE_EXTERNAL_F = H5L_flags(4)
H5L_SAME_LOC_F = H5L_flags(5)
H5L_LINK_CLASS_T_VERS_F = H5L_flags(6)
!
! H5O flags
!
H5O_COPY_SHALLOW_HIERARCHY_F = h5o_flags(1)
H5O_COPY_EXPAND_SOFT_LINK_F = h5o_flags(2)
H5O_COPY_EXPAND_EXT_LINK_F = h5o_flags(3)
H5O_COPY_EXPAND_REFERENCE_F = h5o_flags(4)
H5O_COPY_WITHOUT_ATTR_FLAG_F = h5o_flags(5)
H5O_COPY_PRESERVE_NULL_FLAG_F = h5o_flags(6)
H5O_COPY_ALL_F = h5o_flags(7)
H5O_SHMESG_NONE_FLAG_F = h5o_flags(8)
H5O_SHMESG_SDSPACE_FLAG_F = h5o_flags(9)
H5O_SHMESG_DTYPE_FLAG_F = h5o_flags(10)
H5O_SHMESG_FILL_FLAG_F = h5o_flags(11)
H5O_SHMESG_PLINE_FLAG_F = h5o_flags(12)
H5O_SHMESG_ATTR_FLAG_F = h5o_flags(13)
H5O_SHMESG_ALL_FLAG_F = h5o_flags(14)
H5O_HDR_CHUNK0_SIZE_F = h5o_flags(15)
H5O_HDR_ATTR_CRT_ORDER_TRACK_F = h5o_flags(16)
H5O_HDR_ATTR_CRT_ORDER_INDEX_F = h5o_flags(17)
H5O_HDR_ATTR_STORE_PHASE_CHA_F = h5o_flags(18)
H5O_HDR_STORE_TIMES_F = h5o_flags(19)
H5O_HDR_ALL_FLAGS_F = h5o_flags(20)
H5O_SHMESG_MAX_NINDEXES_F = h5o_flags(21)
H5O_SHMESG_MAX_LIST_SIZE_F = h5o_flags(22)
H5O_TYPE_UNKNOWN_F = h5o_flags(23)
H5O_TYPE_GROUP_F = h5o_flags(24)
H5O_TYPE_DATASET_F = h5o_flags(25)
H5O_TYPE_NAMED_DATATYPE_F = h5o_flags(26)
H5O_TYPE_NTYPES_F = h5o_flags(27)
!
! H5P flags
!
H5P_FILE_CREATE_F = H5P_flags(1)
H5P_FILE_ACCESS_F = H5P_flags(2)
H5P_DATASET_CREATE_F = H5P_flags(3)
H5P_DATASET_XFER_F = H5P_flags(4)
H5P_FILE_MOUNT_F = H5P_flags(5)
H5P_DEFAULT_F = H5P_flags(6)
H5P_ROOT_F = H5P_flags(7)
H5P_OBJECT_CREATE_F = H5P_flags(8)
H5P_DATASET_ACCESS_F = H5P_flags(9)
H5P_GROUP_CREATE_F = H5P_flags(10)
H5P_GROUP_ACCESS_F = H5P_flags(11)
H5P_DATATYPE_CREATE_F = H5P_flags(12)
H5P_DATATYPE_ACCESS_F = H5P_flags(13)
H5P_STRING_CREATE_F = H5P_flags(14)
H5P_ATTRIBUTE_CREATE_F = H5P_flags(15)
H5P_OBJECT_COPY_F = H5P_flags(16)
H5P_LINK_CREATE_F = H5P_flags(17)
H5P_LINK_ACCESS_F = H5P_flags(18)
!
! H5P integers flags
!
H5P_CRT_ORDER_INDEXED_F = H5P_flags_int(1)
H5P_CRT_ORDER_TRACKED_F = H5P_flags_int(2)
!
! H5R flags
!
H5R_OBJECT_F = H5R_flags(1)
H5R_DATASET_REGION_F = H5R_flags(2)
!
! H5S flags
!
H5S_ALL_F = H5S_hid_flags(1)
H5S_UNLIMITED_F = H5S_hsize_flags(1)
H5S_SCALAR_F = H5S_flags(1)
H5S_SIMPLE_F = H5S_flags(2)
H5S_NULL_F = H5S_flags(3)
H5S_SELECT_SET_F = H5S_flags(4)
H5S_SELECT_OR_F = H5S_flags(5)
H5S_SELECT_NOOP_F = H5S_flags(6)
H5S_SELECT_AND_F = H5S_flags(7)
H5S_SELECT_XOR_F = H5S_flags(8)
H5S_SELECT_NOTB_F = H5S_flags(9)
H5S_SELECT_NOTA_F = H5S_flags(10)
H5S_SELECT_APPEND_F = H5S_flags(11)
H5S_SELECT_PREPEND_F = H5S_flags(12)
H5S_SELECT_INVALID_F = H5S_flags(13)
H5S_SEL_ERROR_F = H5S_flags(14)
H5S_SEL_NONE_F = H5S_flags(15)
H5S_SEL_POINTS_F = H5S_flags(16)
H5S_SEL_HYPERSLABS_F = H5S_flags(17)
H5S_SEL_ALL_F = H5S_flags(18)
!
! H5T flags declaration
!
H5T_NO_CLASS_F = H5T_flags(1)
H5T_INTEGER_F = H5T_flags(2)
H5T_FLOAT_F = H5T_flags(3)
H5T_TIME_F = H5T_flags(4)
H5T_STRING_F = H5T_flags(5)
H5T_BITFIELD_F = H5T_flags(6)
H5T_OPAQUE_F = H5T_flags(7)
H5T_COMPOUND_F = H5T_flags(8)
H5T_REFERENCE_F = H5T_flags(9)
H5T_ENUM_F = H5T_flags(10)
H5T_ORDER_LE_F = H5T_flags(11)
H5T_ORDER_BE_F = H5T_flags(12)
H5T_ORDER_MIXED_F = H5T_flags(13)
H5T_ORDER_VAX_F = H5T_flags(14)
H5T_ORDER_NONE_F = H5T_flags(15)
H5T_PAD_ZERO_F = H5T_flags(16)
H5T_PAD_ONE_F = H5T_flags(17)
H5T_PAD_BACKGROUND_F = H5T_flags(18)
H5T_PAD_ERROR_F = H5T_flags(19)
H5T_SGN_NONE_F = H5T_flags(20)
H5T_SGN_2_F = H5T_flags(21)
H5T_SGN_ERROR_F = H5T_flags(22)
H5T_NORM_IMPLIED_F = H5T_flags(23)
H5T_NORM_MSBSET_F = H5T_flags(24)
H5T_NORM_NONE_F = H5T_flags(25)
H5T_CSET_ASCII_F = H5T_flags(26)
H5T_CSET_UTF8_F = H5T_flags(27)
H5T_STR_NULLTERM_F = H5T_flags(28)
H5T_STR_NULLPAD_F = H5T_flags(29)
H5T_STR_SPACEPAD_F = H5T_flags(30)
H5T_STR_ERROR_F = H5T_flags(31)
H5T_VLEN_F = H5T_flags(32)
H5T_ARRAY_F = H5T_flags(33)
H5T_DIR_ASCEND_F = H5T_flags(34)
H5T_DIR_DESCEND_F = H5T_flags(35)
!
! H5Z flags
!
H5Z_FILTER_ERROR_F = H5Z_flags(1)
H5Z_FILTER_NONE_F = H5Z_flags(2)
H5Z_FILTER_DEFLATE_F = H5Z_flags(3)
H5Z_FILTER_SHUFFLE_F = H5Z_flags(4)
H5Z_FILTER_FLETCHER32_F = H5Z_flags(5)
H5Z_ERROR_EDC_F = H5Z_flags(6)
H5Z_DISABLE_EDC_F = H5Z_flags(7)
H5Z_ENABLE_EDC_F = H5Z_flags(8)
H5Z_NO_EDC_F = H5Z_flags(9)
H5Z_FILTER_SZIP_F = H5Z_flags(10)
H5Z_FLAG_OPTIONAL_F = H5Z_flags(11)
H5Z_FILTER_ENCODE_ENABLED_F = H5Z_flags(12)
H5Z_FILTER_DECODE_ENABLED_F = H5Z_flags(13)
H5Z_FILTER_ALL_F = H5Z_flags(14)
H5Z_FILTER_NBIT_F = H5Z_flags(15)
H5Z_FILTER_SCALEOFFSET_F = H5Z_flags(16)
H5Z_SO_FLOAT_DSCALE_F = H5Z_flags(17)
H5Z_SO_FLOAT_ESCALE_F = H5Z_flags(18)
H5Z_SO_INT_F = H5Z_flags(19)
H5Z_SO_INT_MINBITS_DEFAULT_F = H5Z_flags(20)
error = error + h5init1_flags_c(H5LIB_flags)
!
! H5 Library flags
!
H5_SZIP_EC_OM_F = H5LIB_flags(1)
H5_SZIP_NN_OM_F = H5LIB_flags(2)
END SUBROUTINE h5open_f
!****s* H5LIB/h5close_f
@ -201,25 +642,23 @@ CONTAINS
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
INTEGER :: error_1
INTERFACE
INTEGER FUNCTION h5close_types_c(p_types, P_TYPES_LEN, &
f_types, F_TYPES_LEN, &
i_types, I_TYPES_LEN ) &
BIND(C,NAME='h5close_types_c')
IMPORT :: HID_T
INTEGER P_TYPES_LEN
INTEGER F_TYPES_LEN
INTEGER I_TYPES_LEN
INTEGER(HID_T), DIMENSION(P_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(F_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(I_TYPES_LEN) :: i_types
INTEGER :: P_TYPES_LEN
INTEGER :: F_TYPES_LEN
INTEGER :: I_TYPES_LEN
INTEGER(HID_T), DIMENSION(1:P_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(1:F_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(1:I_TYPES_LEN) :: i_types
END FUNCTION h5close_types_c
END INTERFACE
error_1 = h5close_types_c(predef_types, PREDEF_TYPES_LEN, &
error = h5close_types_c(predef_types, PREDEF_TYPES_LEN, &
floating_types, FLOATING_TYPES_LEN, &
integer_types, INTEGER_TYPES_LEN )
error = error_1
END SUBROUTINE h5close_f

File diff suppressed because it is too large Load Diff

View File

@ -44,13 +44,6 @@ CONTAINS
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsset_scale_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale
CHARACTER(LEN=*), INTENT(in), OPTIONAL :: dimname ! The dimension name
INTEGER :: errcode ! Error code
@ -99,12 +92,6 @@ CONTAINS
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsattach_scale_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with.
@ -148,13 +135,7 @@ CONTAINS
SUBROUTINE H5DSdetach_scale_f( did, dsid, idx, errcode)
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsdetach_scale_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
INTEGER , INTENT(in) :: idx ! the dimension of did to detach
@ -199,13 +180,7 @@ CONTAINS
SUBROUTINE H5DSis_attached_f( did, dsid, idx, is_attached, errcode)
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsis_attached_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with
@ -264,13 +239,7 @@ CONTAINS
SUBROUTINE H5DSis_scale_f( did, is_scale, errcode)
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsis_scale_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! the data set to query
LOGICAL , INTENT(out) :: is_scale ! logical:
! .TRUE. if did is a Dimension Scale
@ -319,13 +288,6 @@ CONTAINS
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsset_label_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! The dataset
INTEGER , INTENT(in) :: idx ! The dimension
CHARACTER(LEN=*), INTENT(in) :: label ! The label
@ -375,13 +337,6 @@ CONTAINS
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsget_label_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! The dataget
INTEGER , INTENT(in) :: idx ! The dimension
CHARACTER(LEN=*), INTENT(in) :: label ! The label
@ -430,13 +385,6 @@ CONTAINS
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsget_scale_name_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! The dataget
CHARACTER(LEN=*), INTENT(out) :: name ! The name
INTEGER(size_t) , INTENT(inout) :: size ! The length of the name buffer
@ -478,13 +426,6 @@ CONTAINS
SUBROUTINE H5DSget_num_scales_f( did, idx, num_scales, errcode)
IMPLICIT NONE
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_HL_DLL)
!DEC$attributes dllexport :: h5dsget_num_scales_f
!DEC$endif
!
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER , INTENT(in) :: idx ! the dimension of did to query
INTEGER , INTENT(out) :: num_scales ! the number of Dimension Scales associated with did