diff options
Diffstat (limited to 'fortran/src/H5f90global.f90')
-rw-r--r-- | fortran/src/H5f90global.f90 | 236 |
1 files changed, 152 insertions, 84 deletions
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90 index 05ec366..da7a736 100644 --- a/fortran/src/H5f90global.f90 +++ b/fortran/src/H5f90global.f90 @@ -1,22 +1,25 @@ -!****h* fortran/src/H5f90global.f90 +!****h* ROBODoc/H5GLOBAL ! ! NAME -! H5GLOBAL +! MODULE H5GLOBAL ! -! FUNCTION -! This module is used to pass C stubs for H5 Fortran APIs. The C stubs are -! packed into arrays in H5_f.c and these arrays are then passed to Fortran. -! This module then uses EQUIVALENCE to assign elements of the arrays to -! Fortran equivalent C stubs. +! FILE +! src/fortran/H5f90global.f90 +! +! PURPOSE +! This module is used to pass C stubs for H5 Fortran APIs. The C stubs are +! packed into arrays in H5_f.c and these arrays are then passed to Fortran. +! This module then uses EQUIVALENCE to assign elements of the arrays to +! Fortran equivalent C stubs. ! ! NOTES -! The size of the C arrays in H5_f.c have to match the values of the variables -! declared as PARAMETER, hence if the size of an array in H5_f.c is changed -! then the PARAMETER of that corresponding array in Fortran must also be changed. +! The size of the C arrays in H5_f.c has to match the values of the variables +! declared as PARAMETER, hence if the size of an array in H5_f.c is changed +! then the PARAMETER of that corresponding array in Fortran must also be changed. ! ! USES -! H5FORTRAN_TYPES - This module is generated at run time. See -! H5fortran_types.f90 for further informaton. +! H5FORTRAN_TYPES - This module is generated at run time. See +! ! COPYRIGHT ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! Copyright by The HDF Group. * @@ -61,7 +64,7 @@ MODULE H5GLOBAL INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref END TYPE hdset_reg_ref_t_f - INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 13 ! Do not forget to change this + INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 17 ! Do not forget to change this ! value when new predefined ! datatypes are added @@ -71,7 +74,7 @@ MODULE H5GLOBAL ! Do not forget to change the following line when new predefined ! integer data types are added - INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 17 + INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27 INTEGER(HID_T) H5T_NATIVE_INTEGER_1, & H5T_NATIVE_INTEGER_2, & @@ -106,7 +109,21 @@ MODULE H5GLOBAL H5T_STD_U32LE, & H5T_STD_U64BE, & H5T_STD_U64LE, & - H5T_STRING + H5T_STRING, & + H5T_STD_B8BE, & + H5T_STD_B8LE, & + H5T_STD_B16BE, & + H5T_STD_B16LE, & + H5T_STD_B32BE, & + H5T_STD_B32LE, & + H5T_STD_B64BE, & + H5T_STD_B64LE, & + H5T_NATIVE_B8, & + H5T_NATIVE_B16, & + H5T_NATIVE_B32, & + H5T_NATIVE_B64, & + H5T_FORTRAN_S1, & + H5T_C_S1 INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types @@ -123,7 +140,10 @@ MODULE H5GLOBAL EQUIVALENCE (predef_types(11), H5T_NATIVE_REAL_4) EQUIVALENCE (predef_types(12), H5T_NATIVE_REAL_8) EQUIVALENCE (predef_types(13), H5T_NATIVE_REAL_16) - + EQUIVALENCE (predef_types(14), H5T_NATIVE_B8 ) + EQUIVALENCE (predef_types(15), H5T_NATIVE_B16) + EQUIVALENCE (predef_types(16), H5T_NATIVE_B32) + EQUIVALENCE (predef_types(17), H5T_NATIVE_B64) INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types EQUIVALENCE (floating_types(1), H5T_IEEE_F32BE ) @@ -149,6 +169,16 @@ MODULE H5GLOBAL EQUIVALENCE (integer_types(15), H5T_STD_U64BE) EQUIVALENCE (integer_types(16), H5T_STD_U64LE) EQUIVALENCE (integer_types(17), H5T_STRING) + EQUIVALENCE (integer_types(18), H5T_STD_B8BE) + EQUIVALENCE (integer_types(19), H5T_STD_B8LE) + EQUIVALENCE (integer_types(20), H5T_STD_B16BE) + EQUIVALENCE (integer_types(21), H5T_STD_B16LE) + EQUIVALENCE (integer_types(22), H5T_STD_B32BE) + EQUIVALENCE (integer_types(23), H5T_STD_B32LE) + EQUIVALENCE (integer_types(24), H5T_STD_B64BE) + EQUIVALENCE (integer_types(25), H5T_STD_B64LE) + EQUIVALENCE (integer_types(26), H5T_FORTRAN_S1) + EQUIVALENCE (integer_types(27), H5T_C_S1) ! COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, & @@ -195,7 +225,7 @@ MODULE H5GLOBAL ! Fortran flags ! ! - ! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDEDD !) + ! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDED !) ! ! H5F flags declaration ! @@ -224,6 +254,7 @@ MODULE H5GLOBAL INTEGER :: H5F_OBJ_ALL_F INTEGER :: H5F_LIBVER_EARLIEST_F INTEGER :: H5F_LIBVER_LATEST_F + INTEGER :: H5F_UNLIMITED_F EQUIVALENCE(H5F_flags(1), H5F_ACC_RDWR_F) EQUIVALENCE(H5F_flags(2), H5F_ACC_RDONLY_F) @@ -243,6 +274,7 @@ MODULE H5GLOBAL EQUIVALENCE(H5F_flags(16), H5F_OBJ_ALL_F) EQUIVALENCE(H5F_flags(17), H5F_LIBVER_EARLIEST_F) EQUIVALENCE(H5F_flags(18), H5F_LIBVER_LATEST_F) + EQUIVALENCE(H5F_flags(19), H5F_UNLIMITED_F) ! ! H5generic flags declaration ! @@ -384,6 +416,32 @@ MODULE H5GLOBAL EQUIVALENCE(H5D_flags(22), H5D_CHUNK_CACHE_W0_DFLT_F) ! + ! H5E flags declaration + ! + INTEGER, PARAMETER :: H5E_FLAGS_LEN = 4 + INTEGER H5E_flags(H5E_FLAGS_LEN) + INTEGER, PARAMETER :: H5E_HID_FLAGS_LEN = 1 + INTEGER(HID_T) H5E_hid_flags(H5E_HID_FLAGS_LEN) + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/ + !DEC$ATTRIBUTES DLLEXPORT :: /H5E_HID_FLAGS/ + !DEC$endif + COMMON /H5E_FLAGS/ H5E_flags + COMMON /H5E_HID_FLAGS/ H5E_hid_flags + + INTEGER(HID_T) :: H5E_DEFAULT_F + INTEGER :: H5E_MAJOR_F + INTEGER :: H5E_MINOR_F + INTEGER :: H5E_WALK_UPWARD_F + INTEGER :: H5E_WALK_DOWNWARD_F + + EQUIVALENCE(H5E_hid_flags(1), H5E_DEFAULT_F) + EQUIVALENCE(H5E_flags(1) , H5E_MAJOR_F) + EQUIVALENCE(H5E_flags(2) , H5E_MINOR_F) + EQUIVALENCE(H5E_flags(3) , H5E_WALK_UPWARD_F) + EQUIVALENCE(H5E_flags(4) , H5E_WALK_DOWNWARD_F) + + ! ! H5FD flags declaration ! INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11 @@ -501,10 +559,10 @@ MODULE H5GLOBAL !DEC$endif COMMON /H5O_FLAGS/ H5O_flags - INTEGER :: H5O_COPY_SHALLOW_HIERARCHY_F ! * THESE VARIABLES DO - INTEGER :: H5O_COPY_EXPAND_SOFT_LINK_F ! NOT MATCH THE C VARIABLE - INTEGER :: H5O_COPY_EXPAND_EXT_LINK_F ! IN ORDER - INTEGER :: H5O_COPY_EXPAND_REFERENCE_F ! TO STAY UNDER THE + INTEGER :: H5O_COPY_SHALLOW_HIERARCHY_F ! *** THESE VARIABLES DO + INTEGER :: H5O_COPY_EXPAND_SOFT_LINK_F ! NOT MATCH THE C VARIABLE + INTEGER :: H5O_COPY_EXPAND_EXT_LINK_F ! IN ORDER + INTEGER :: H5O_COPY_EXPAND_REFERENCE_F ! TO STAY UNDER THE INTEGER :: H5O_COPY_WITHOUT_ATTR_FLAG_F INTEGER :: H5O_COPY_PRESERVE_NULL_FLAG_F INTEGER :: H5O_COPY_ALL_F @@ -518,7 +576,7 @@ MODULE H5GLOBAL INTEGER :: H5O_HDR_CHUNK0_SIZE_F INTEGER :: H5O_HDR_ATTR_CRT_ORDER_TRACK_F ! 32 CHARACTER INTEGER :: H5O_HDR_ATTR_CRT_ORDER_INDEX_F ! VARIABLE - INTEGER :: H5O_HDR_ATTR_STORE_PHASE_CHA_F ! LENGTH * + INTEGER :: H5O_HDR_ATTR_STORE_PHASE_CHA_F ! LENGTH *** INTEGER :: H5O_HDR_STORE_TIMES_F INTEGER :: H5O_HDR_ALL_FLAGS_F INTEGER :: H5O_SHMESG_MAX_NINDEXES_F @@ -682,52 +740,51 @@ MODULE H5GLOBAL EQUIVALENCE(H5S_flags(18), H5S_SEL_POINTS_F) EQUIVALENCE(H5S_flags(19), H5S_SEL_HYPERSLABS_F) EQUIVALENCE(H5S_flags(20), H5S_SEL_ALL_F) - - ! ! H5T flags declaration ! - INTEGER, PARAMETER :: H5T_FLAGS_LEN = 34 + INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35 INTEGER H5T_flags(H5T_FLAGS_LEN) !DEC$if defined(BUILD_HDF5_DLL) !DEC$ATTRIBUTES DLLEXPORT :: /H5T_FLAGS/ !DEC$endif COMMON /H5T_FLAGS/ H5T_flags - INTEGER :: H5T_NO_CLASS_F - INTEGER :: H5T_INTEGER_F - INTEGER :: H5T_FLOAT_F - INTEGER :: H5T_TIME_F - INTEGER :: H5T_STRING_F - INTEGER :: H5T_BITFIELD_F - INTEGER :: H5T_OPAQUE_F - INTEGER :: H5T_COMPOUND_F - INTEGER :: H5T_REFERENCE_F - INTEGER :: H5T_ENUM_F - INTEGER :: H5T_VLEN_F - INTEGER :: H5T_ARRAY_F - INTEGER :: H5T_ORDER_LE_F - INTEGER :: H5T_ORDER_BE_F - INTEGER :: H5T_ORDER_VAX_F - INTEGER :: H5T_ORDER_NONE_F - INTEGER :: H5T_PAD_ZERO_F - INTEGER :: H5T_PAD_ONE_F - INTEGER :: H5T_PAD_BACKGROUND_F - INTEGER :: H5T_PAD_ERROR_F - INTEGER :: H5T_SGN_NONE_F - INTEGER :: H5T_SGN_2_F - INTEGER :: H5T_SGN_ERROR_F - INTEGER :: H5T_NORM_IMPLIED_F - INTEGER :: H5T_NORM_MSBSET_F - INTEGER :: H5T_NORM_NONE_F - INTEGER :: H5T_CSET_ASCII_F - INTEGER :: H5T_CSET_UTF8_F - INTEGER :: H5T_STR_NULLTERM_F - INTEGER :: H5T_STR_NULLPAD_F - INTEGER :: H5T_STR_SPACEPAD_F - INTEGER :: H5T_STR_ERROR_F - INTEGER :: H5T_DIR_ASCEND_F - INTEGER :: H5T_DIR_DESCEND_F + INTEGER :: H5T_NO_CLASS_F + INTEGER :: H5T_INTEGER_F + INTEGER :: H5T_FLOAT_F + INTEGER :: H5T_TIME_F + INTEGER :: H5T_STRING_F + INTEGER :: H5T_BITFIELD_F + INTEGER :: H5T_OPAQUE_F + INTEGER :: H5T_COMPOUND_F + INTEGER :: H5T_REFERENCE_F + INTEGER :: H5T_ENUM_F + INTEGER :: H5T_VLEN_F + INTEGER :: H5T_ARRAY_F + INTEGER :: H5T_ORDER_LE_F + INTEGER :: H5T_ORDER_BE_F + INTEGER :: H5T_ORDER_VAX_F + INTEGER :: H5T_ORDER_NONE_F + INTEGER :: H5T_ORDER_MIXED_F + INTEGER :: H5T_PAD_ZERO_F + INTEGER :: H5T_PAD_ONE_F + INTEGER :: H5T_PAD_BACKGROUND_F + INTEGER :: H5T_PAD_ERROR_F + INTEGER :: H5T_SGN_NONE_F + INTEGER :: H5T_SGN_2_F + INTEGER :: H5T_SGN_ERROR_F + INTEGER :: H5T_NORM_IMPLIED_F + INTEGER :: H5T_NORM_MSBSET_F + INTEGER :: H5T_NORM_NONE_F + INTEGER :: H5T_CSET_ASCII_F + INTEGER :: H5T_CSET_UTF8_F + INTEGER :: H5T_STR_NULLTERM_F + INTEGER :: H5T_STR_NULLPAD_F + INTEGER :: H5T_STR_SPACEPAD_F + INTEGER :: H5T_STR_ERROR_F + INTEGER :: H5T_DIR_ASCEND_F + INTEGER :: H5T_DIR_DESCEND_F EQUIVALENCE(H5T_flags(1), H5T_NO_CLASS_F) EQUIVALENCE(H5T_flags(2), H5T_INTEGER_F) @@ -741,33 +798,33 @@ MODULE H5GLOBAL EQUIVALENCE(H5T_flags(10), H5T_ENUM_F) EQUIVALENCE(H5T_flags(11), H5T_ORDER_LE_F) EQUIVALENCE(H5T_flags(12), H5T_ORDER_BE_F) - EQUIVALENCE(H5T_flags(13), H5T_ORDER_VAX_F) - EQUIVALENCE(H5T_flags(14), H5T_ORDER_NONE_F) - EQUIVALENCE(H5T_flags(15), H5T_PAD_ZERO_F) - EQUIVALENCE(H5T_flags(16), H5T_PAD_ONE_F) - EQUIVALENCE(H5T_flags(17), H5T_PAD_BACKGROUND_F) - EQUIVALENCE(H5T_flags(18), H5T_PAD_ERROR_F) - EQUIVALENCE(H5T_flags(19), H5T_SGN_NONE_F) - EQUIVALENCE(H5T_flags(20), H5T_SGN_2_F) - EQUIVALENCE(H5T_flags(21), H5T_SGN_ERROR_F) - EQUIVALENCE(H5T_flags(22), H5T_NORM_IMPLIED_F) - EQUIVALENCE(H5T_flags(23), H5T_NORM_MSBSET_F) - EQUIVALENCE(H5T_flags(24), H5T_NORM_NONE_F) - EQUIVALENCE(H5T_flags(25), H5T_CSET_ASCII_F) - EQUIVALENCE(H5T_flags(26), H5T_CSET_UTF8_F) - EQUIVALENCE(H5T_flags(27), H5T_STR_NULLTERM_F) - EQUIVALENCE(H5T_flags(28), H5T_STR_NULLPAD_F) - EQUIVALENCE(H5T_flags(29), H5T_STR_SPACEPAD_F) - EQUIVALENCE(H5T_flags(30), H5T_STR_ERROR_F) - EQUIVALENCE(H5T_flags(31), H5T_VLEN_F) - EQUIVALENCE(H5T_flags(32), H5T_ARRAY_F) - EQUIVALENCE(H5T_flags(33), H5T_DIR_ASCEND_F) - EQUIVALENCE(H5T_flags(34), H5T_DIR_DESCEND_F) - + EQUIVALENCE(H5T_flags(13), H5T_ORDER_MIXED_F) + EQUIVALENCE(H5T_flags(14), H5T_ORDER_VAX_F) + EQUIVALENCE(H5T_flags(15), H5T_ORDER_NONE_F) + EQUIVALENCE(H5T_flags(16), H5T_PAD_ZERO_F) + EQUIVALENCE(H5T_flags(17), H5T_PAD_ONE_F) + EQUIVALENCE(H5T_flags(18), H5T_PAD_BACKGROUND_F) + EQUIVALENCE(H5T_flags(19), H5T_PAD_ERROR_F) + EQUIVALENCE(H5T_flags(20), H5T_SGN_NONE_F) + EQUIVALENCE(H5T_flags(21), H5T_SGN_2_F) + EQUIVALENCE(H5T_flags(22), H5T_SGN_ERROR_F) + EQUIVALENCE(H5T_flags(23), H5T_NORM_IMPLIED_F) + EQUIVALENCE(H5T_flags(24), H5T_NORM_MSBSET_F) + EQUIVALENCE(H5T_flags(25), H5T_NORM_NONE_F) + EQUIVALENCE(H5T_flags(26), H5T_CSET_ASCII_F) + EQUIVALENCE(H5T_flags(27), H5T_CSET_UTF8_F) + EQUIVALENCE(H5T_flags(28), H5T_STR_NULLTERM_F) + EQUIVALENCE(H5T_flags(29), H5T_STR_NULLPAD_F) + EQUIVALENCE(H5T_flags(30), H5T_STR_SPACEPAD_F) + EQUIVALENCE(H5T_flags(31), H5T_STR_ERROR_F) + EQUIVALENCE(H5T_flags(32), H5T_VLEN_F) + EQUIVALENCE(H5T_flags(33), H5T_ARRAY_F) + EQUIVALENCE(H5T_flags(34), H5T_DIR_ASCEND_F) + EQUIVALENCE(H5T_flags(35), H5T_DIR_DESCEND_F) ! ! H5Z flags declaration ! - INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 14 + INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 20 INTEGER H5Z_flags(H5Z_FLAGS_LEN) !DEC$if defined(BUILD_HDF5_DLL) !DEC$ATTRIBUTES DLLEXPORT :: /H5Z_FLAGS/ @@ -788,6 +845,12 @@ MODULE H5GLOBAL INTEGER :: H5Z_FLAG_OPTIONAL_F INTEGER :: H5Z_FILTER_ENCODE_ENABLED_F INTEGER :: H5Z_FILTER_DECODE_ENABLED_F + INTEGER :: H5Z_FILTER_NBIT_F + INTEGER :: H5Z_FILTER_SCALEOFFSET_F + INTEGER :: H5Z_SO_FLOAT_DSCALE_F + INTEGER :: H5Z_SO_FLOAT_ESCALE_F + INTEGER :: H5Z_SO_INT_F + INTEGER :: H5Z_SO_INT_MINBITS_DEFAULT_F EQUIVALENCE(H5Z_flags(1), H5Z_FILTER_ERROR_F) EQUIVALENCE(H5Z_flags(2), H5Z_FILTER_NONE_F) @@ -803,7 +866,12 @@ MODULE H5GLOBAL EQUIVALENCE(H5Z_flags(12), H5Z_FILTER_ENCODE_ENABLED_F) EQUIVALENCE(H5Z_flags(13), H5Z_FILTER_DECODE_ENABLED_F) EQUIVALENCE(H5Z_flags(14), H5Z_FILTER_ALL_F) - + EQUIVALENCE(H5Z_flags(15), H5Z_FILTER_NBIT_F) + EQUIVALENCE(H5Z_flags(16), H5Z_FILTER_SCALEOFFSET_F) + EQUIVALENCE(H5Z_flags(17), H5Z_SO_FLOAT_DSCALE_F) + EQUIVALENCE(H5Z_flags(18), H5Z_SO_FLOAT_ESCALE_F) + EQUIVALENCE(H5Z_flags(19), H5Z_SO_INT_F) + EQUIVALENCE(H5Z_flags(20), H5Z_SO_INT_MINBITS_DEFAULT_F) ! ! H5 Library flags declaration |