AMPI #952: update ROMIO to MPICH2-1.4.1p1
[charm.git] / src / libs / ck-libs / ampi / romio / mpi-io / fortran / writef.c
blobddacd6273a3b5f5dee3a67fcf73a30bfefec5565
1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /*
4 * Copyright (C) 1997 University of Chicago.
5 * See COPYRIGHT notice in top-level directory.
6 */
8 #include "adio.h"
9 #include "mpio.h"
12 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
14 #if defined(HAVE_WEAK_SYMBOLS)
15 #if defined(HAVE_PRAGMA_WEAK)
16 #if defined(FORTRANCAPS)
17 extern FORTRAN_API void FORT_CALL MPI_FILE_WRITE( MPI_Fint *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
18 #pragma weak MPI_FILE_WRITE = PMPI_FILE_WRITE
19 #elif defined(FORTRANDOUBLEUNDERSCORE)
20 extern FORTRAN_API void FORT_CALL mpi_file_write__( MPI_Fint *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
21 #pragma weak mpi_file_write__ = pmpi_file_write__
22 #elif !defined(FORTRANUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_write( MPI_Fint *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
24 #pragma weak mpi_file_write = pmpi_file_write
25 #else
26 extern FORTRAN_API void FORT_CALL mpi_file_write_( MPI_Fint *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
27 #pragma weak mpi_file_write_ = pmpi_file_write_
28 #endif
30 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
31 #if defined(FORTRANCAPS)
32 #pragma _HP_SECONDARY_DEF PMPI_FILE_WRITE MPI_FILE_WRITE
33 #elif defined(FORTRANDOUBLEUNDERSCORE)
34 #pragma _HP_SECONDARY_DEF pmpi_file_write__ mpi_file_write__
35 #elif !defined(FORTRANUNDERSCORE)
36 #pragma _HP_SECONDARY_DEF pmpi_file_write mpi_file_write
37 #else
38 #pragma _HP_SECONDARY_DEF pmpi_file_write_ mpi_file_write_
39 #endif
41 #elif defined(HAVE_PRAGMA_CRI_DUP)
42 #if defined(FORTRANCAPS)
43 #pragma _CRI duplicate MPI_FILE_WRITE as PMPI_FILE_WRITE
44 #elif defined(FORTRANDOUBLEUNDERSCORE)
45 #pragma _CRI duplicate mpi_file_write__ as pmpi_file_write__
46 #elif !defined(FORTRANUNDERSCORE)
47 #pragma _CRI duplicate mpi_file_write as pmpi_file_write
48 #else
49 #pragma _CRI duplicate mpi_file_write_ as pmpi_file_write_
50 #endif
52 /* end of weak pragmas */
53 #endif
54 /* Include mapping from MPI->PMPI */
55 #include "mpioprof.h"
56 #endif
58 #ifdef FORTRANCAPS
59 #define mpi_file_write_ PMPI_FILE_WRITE
60 #elif defined(FORTRANDOUBLEUNDERSCORE)
61 #define mpi_file_write_ pmpi_file_write__
62 #elif !defined(FORTRANUNDERSCORE)
63 #if defined(HPUX) || defined(SPPUX)
64 #pragma _HP_SECONDARY_DEF pmpi_file_write pmpi_file_write_
65 #endif
66 #define mpi_file_write_ pmpi_file_write
67 #else
68 #if defined(HPUX) || defined(SPPUX)
69 #pragma _HP_SECONDARY_DEF pmpi_file_write_ pmpi_file_write
70 #endif
71 #define mpi_file_write_ pmpi_file_write_
72 #endif
74 #else
76 #ifdef FORTRANCAPS
77 #define mpi_file_write_ MPI_FILE_WRITE
78 #elif defined(FORTRANDOUBLEUNDERSCORE)
79 #define mpi_file_write_ mpi_file_write__
80 #elif !defined(FORTRANUNDERSCORE)
81 #if defined(HPUX) || defined(SPPUX)
82 #pragma _HP_SECONDARY_DEF mpi_file_write mpi_file_write_
83 #endif
84 #define mpi_file_write_ mpi_file_write
85 #else
86 #if defined(HPUX) || defined(SPPUX)
87 #pragma _HP_SECONDARY_DEF mpi_file_write_ mpi_file_write
88 #endif
89 #endif
90 #endif
92 #if defined(MPIHP) || defined(MPILAM)
93 /* Prototype to keep compiler happy */
94 void mpi_file_write_(MPI_Fint *fh,void *buf,MPI_Fint *count,
95 MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr );
97 void mpi_file_write_(MPI_Fint *fh,void *buf,MPI_Fint *count,
98 MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr )
100 MPI_File fh_c;
101 MPI_Datatype datatype_c;
103 fh_c = MPI_File_f2c(*fh);
104 datatype_c = MPI_Type_f2c(*datatype);
106 *ierr = MPI_File_write(fh_c, buf,*count,datatype_c,status);
108 #else
109 /* Prototype to keep compiler happy */
110 FORTRAN_API void FORT_CALL mpi_file_write_(MPI_Fint *fh,void *buf,MPI_Fint *count,
111 MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr );
113 FORTRAN_API void FORT_CALL mpi_file_write_(MPI_Fint *fh,void *buf,MPI_Fint *count,
114 MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr )
116 MPI_File fh_c;
118 fh_c = MPI_File_f2c(*fh);
119 *ierr = MPI_File_write(fh_c, buf,*count,*datatype,status);
121 #endif