00001
00002
00003
00004
00005
00006
00007
00008 #include "adio.h"
00009 #include "mpio.h"
00010
00011 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
00012
00013 #if defined(HAVE_WEAK_SYMBOLS)
00014 #if defined(HAVE_PRAGMA_WEAK)
00015 #if defined(FORTRANCAPS)
00016 FORTRAN_API void FORT_CALL MPIO_WAIT(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr );
00017 #pragma weak MPIO_WAIT = PMPIO_WAIT
00018 #elif defined(FORTRANDOUBLEUNDERSCORE)
00019 FORTRAN_API void FORT_CALL mpio_wait__(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr );
00020 #pragma weak mpio_wait__ = pmpio_wait__
00021 #elif !defined(FORTRANUNDERSCORE)
00022 FORTRAN_API void FORT_CALL mpio_wait(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr );
00023 #pragma weak mpio_wait = pmpio_wait
00024 #else
00025 FORTRAN_API void FORT_CALL mpio_wait_(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr );
00026 #pragma weak mpio_wait_ = pmpio_wait_
00027 #endif
00028
00029 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
00030 #if defined(FORTRANCAPS)
00031 #pragma _HP_SECONDARY_DEF PMPIO_WAIT MPIO_WAIT
00032 #elif defined(FORTRANDOUBLEUNDERSCORE)
00033 #pragma _HP_SECONDARY_DEF pmpio_wait__ mpio_wait__
00034 #elif !defined(FORTRANUNDERSCORE)
00035 #pragma _HP_SECONDARY_DEF pmpio_wait mpio_wait
00036 #else
00037 #pragma _HP_SECONDARY_DEF pmpio_wait_ mpio_wait_
00038 #endif
00039
00040 #elif defined(HAVE_PRAGMA_CRI_DUP)
00041 #if defined(FORTRANCAPS)
00042 #pragma _CRI duplicate MPIO_WAIT as PMPIO_WAIT
00043 #elif defined(FORTRANDOUBLEUNDERSCORE)
00044 #pragma _CRI duplicate mpio_wait__ as pmpio_wait__
00045 #elif !defined(FORTRANUNDERSCORE)
00046 #pragma _CRI duplicate mpio_wait as pmpio_wait
00047 #else
00048 #pragma _CRI duplicate mpio_wait_ as pmpio_wait_
00049 #endif
00050
00051
00052 #endif
00053
00054 #include "mpioprof.h"
00055 #endif
00056
00057 #ifdef FORTRANCAPS
00058 #define mpio_wait_ PMPIO_WAIT
00059 #elif defined(FORTRANDOUBLEUNDERSCORE)
00060 #define mpio_wait_ pmpio_wait__
00061 #elif !defined(FORTRANUNDERSCORE)
00062 #if defined(HPUX) || defined(SPPUX)
00063 #pragma _HP_SECONDARY_DEF pmpio_wait pmpio_wait_
00064 #endif
00065 #define mpio_wait_ pmpio_wait
00066 #else
00067 #if defined(HPUX) || defined(SPPUX)
00068 #pragma _HP_SECONDARY_DEF pmpio_wait_ pmpio_wait
00069 #endif
00070 #define mpio_wait_ pmpio_wait_
00071 #endif
00072
00073 #else
00074
00075 #ifdef FORTRANCAPS
00076 #define mpio_wait_ MPIO_WAIT
00077 #elif defined(FORTRANDOUBLEUNDERSCORE)
00078 #define mpio_wait_ mpio_wait__
00079 #elif !defined(FORTRANUNDERSCORE)
00080 #if defined(HPUX) || defined(SPPUX)
00081 #pragma _HP_SECONDARY_DEF mpio_wait mpio_wait_
00082 #endif
00083 #define mpio_wait_ mpio_wait
00084 #else
00085 #if defined(HPUX) || defined(SPPUX)
00086 #pragma _HP_SECONDARY_DEF mpio_wait_ mpio_wait
00087 #endif
00088 #endif
00089 #endif
00090
00091
00092 FORTRAN_API void FORT_CALL mpio_wait_(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr );
00093
00094 FORTRAN_API void FORT_CALL mpio_wait_(MPI_Fint *request,MPI_Status *status, MPI_Fint *ierr )
00095 {
00096 MPIO_Request req_c;
00097
00098 req_c = MPIO_Request_f2c(*request);
00099 *ierr = MPIO_Wait(&req_c, status);
00100 *request = MPIO_Request_c2f(req_c);
00101 }