! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! Copyright by the Board of Trustees of the University of Illinois. * ! All rights reserved. * ! * ! This file is part of HDF5. The full HDF5 copyright notice, including * ! terms governing use, modification, and redistribution, is contained in * ! the files COPYING and Copyright.html. COPYING can be found at the root * ! of the source code distribution tree; Copyright.html can be found at the * ! root level of an installed copy of the electronic HDF5 document set and * ! is linked from the top-level documents page. It can also be found at * ! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * ! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! ! ! This file contains FORTRAN90 interfaces for H5E functions ! MODULE H5E USE H5GLOBAL CONTAINS !---------------------------------------------------------------------- ! Name: h5eclear_f ! ! Purpose: Clears the error stack for the current thread. ! ! Inputs: ! Outputs: ! hdferr: - error code ! Success: 0 ! Failure: -1 ! Optional parameters: ! ! ! ! ! Programmer: Elena Pourmal ! August 12, 1999 ! ! Modifications: Explicit Fortran interfaces were added for ! called C functions (it is needed for Windows ! port). April 6, 2001 ! ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5eclear_f(hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5eclear_f !DEC$endif ! IMPLICIT NONE INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eclear_c ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eclear_c() USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5ECLEAR_C'::h5eclear_c !DEC$ ENDIF END FUNCTION h5eclear_c END INTERFACE hdferr = h5eclear_c() END SUBROUTINE h5eclear_f !---------------------------------------------------------------------- ! Name: h5h5eprint_f ! ! Purpose: Prints the error stack in a default manner. ! ! Inputs: ! Outputs: ! hdferr: - error code ! Success: 0 ! Failure: -1 ! Optional parameters: ! name - name of the file that ! contains print output ! ! Programmer: Elena Pourmal ! August 12, 1999 ! ! Modifications: Explicit Fortran interfaces were added for ! called C functions (it is needed for Windows ! port). April 6, 2001 ! ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5eprint_f(hdferr, name) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5eprint_f !DEC$endif ! CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eprint_c1, h5eprint_c2 INTEGER :: namelen ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eprint_c1(name, namelen) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5EPRINT_C1'::h5eprint_c1 !DEC$ ENDIF !DEC$ATTRIBUTES reference :: name INTEGER :: namelen CHARACTER(LEN=*),INTENT(IN) :: name END FUNCTION h5eprint_c1 END INTERFACE ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eprint_c2() USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5EPRINT_C2'::h5eprint_c2 !DEC$ ENDIF END FUNCTION h5eprint_c2 END INTERFACE namelen = LEN(NAME) if (present(name)) then hdferr = h5eprint_c1(name, namelen) else hdferr = h5eprint_c2() endif END SUBROUTINE h5eprint_f !---------------------------------------------------------------------- ! Name: h5eget_major_f ! ! Purpose: Returns a character string describing an error specified ! by a major error number. ! ! Inputs: ! error_no - mojor error number ! Outputs: ! name - character string describing the error ! namelen - number of characters in the name buffer ! hdferr: - error code ! Success: 0 ! Failure: -1 ! Optional parameters: ! ! Programmer: Elena Pourmal ! August 12, 1999 ! ! Modifications: Explicit Fortran interfaces were added for ! called C functions (it is needed for Windows ! port). April 6, 2001 ! ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5eget_major_f(error_no, name, namelen, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5eget_major_f !DEC$endif ! INTEGER, INTENT(IN) :: error_no !Major error number CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing ! the error. INTEGER(SIZE_T), INTENT(IN) :: namelen !Anticipated number of characters in name. INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eget_major_c ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eget_major_c(error_no, name, namelen) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5EGET_MAJOR_C'::h5eget_major_c !DEC$ ENDIF !DEC$ATTRIBUTES reference :: name INTEGER :: error_no CHARACTER(LEN=*) :: name INTEGER(SIZE_T), INTENT(IN) :: namelen END FUNCTION h5eget_major_c END INTERFACE hdferr = h5eget_major_c(error_no, name, namelen) END SUBROUTINE h5eget_major_f !---------------------------------------------------------------------- ! Name: h5eget_minor_f ! ! Purpose: Returns a character string describing an error specified ! by a minor error number. ! ! Inputs: ! error_no - minor error number ! Outputs: ! name - character string describing the error ! hdferr: - error code ! Success: 0 ! Failure: -1 ! Optional parameters: ! ! ! ! ! Programmer: Elena Pourmal ! August 12, 1999 ! ! Modifications: Explicit Fortran interfaces were added for ! called C functions (it is needed for Windows ! port). April 6, 2001 ! ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5eget_minor_f(error_no, name, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5eget_minor_f !DEC$endif ! INTEGER, INTENT(IN) :: error_no !Major error number CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing ! the error INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eget_minor_c ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eget_minor_c(error_no, name) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5EGET_MINOR_C'::h5eget_minor_c !DEC$ ENDIF !DEC$ATTRIBUTES reference :: name INTEGER :: error_no CHARACTER(LEN=*) :: name END FUNCTION h5eget_minor_c END INTERFACE hdferr = h5eget_minor_c(error_no, name) END SUBROUTINE h5eget_minor_f !---------------------------------------------------------------------- ! Name: h5eset_auto_f ! ! Purpose: Turns automatic error printing on or off ! ! Inputs: ! printflag - flag to turn automatic error ! - Possible values are: ! - 1 (on), 0 (off) ! Outputs: ! hdferr: - error code ! Success: 0 ! Failure: -1 ! Optional parameters: ! ! ! ! ! Programmer: Elena Pourmal ! August 12, 1999 ! ! Modifications: Explicit Fortran interfaces were added for ! called C functions (it is needed for Windows ! port). April 6, 2001 ! ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5eset_auto_f(printflag, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5eset_auto_f !DEC$endif ! INTEGER, INTENT(IN) :: printflag !flag to turn automatic error !printing on or off !possible values are: !printon (1) !printoff(0) INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eset_auto_c ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5eset_auto_c(printflag) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5ESET_AUTO_C'::h5eset_auto_c !DEC$ ENDIF INTEGER :: printflag END FUNCTION h5eset_auto_c END INTERFACE hdferr = h5eset_auto_c(printflag) END SUBROUTINE h5eset_auto_f END MODULE H5E