AMPI #952: update ROMIO to MPICH2-1.4.1p1
[charm.git] / src / libs / ck-libs / ampi / romio / mpi-io / fortran / read_atf.c
blob99e430099d5af2d769a118920de21275d91693ca
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_READ_AT( MPI_Fint *, MPI_Offset *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
18 #pragma weak MPI_FILE_READ_AT = PMPI_FILE_READ_AT
19 #elif defined(FORTRANDOUBLEUNDERSCORE)
20 extern FORTRAN_API void FORT_CALL mpi_file_read_at__( MPI_Fint *, MPI_Offset *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
21 #pragma weak mpi_file_read_at__ = pmpi_file_read_at__
22 #elif !defined(FORTRANUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_read_at( MPI_Fint *, MPI_Offset *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
24 #pragma weak mpi_file_read_at = pmpi_file_read_at
25 #else
26 extern FORTRAN_API void FORT_CALL mpi_file_read_at_( MPI_Fint *, MPI_Offset *, void*, MPI_Fint *, MPI_Fint *, MPI_Status*, MPI_Fint * );
27 #pragma weak mpi_file_read_at_ = pmpi_file_read_at_
28 #endif
30 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
31 #if defined(FORTRANCAPS)
32 #pragma _HP_SECONDARY_DEF PMPI_FILE_READ_AT MPI_FILE_READ_AT
33 #elif defined(FORTRANDOUBLEUNDERSCORE)
34 #pragma _HP_SECONDARY_DEF pmpi_file_read_at__ mpi_file_read_at__
35 #elif !defined(FORTRANUNDERSCORE)
36 #pragma _HP_SECONDARY_DEF pmpi_file_read_at mpi_file_read_at
37 #else
38 #pragma _HP_SECONDARY_DEF pmpi_file_read_at_ mpi_file_read_at_
39 #endif
41 #elif defined(HAVE_PRAGMA_CRI_DUP)
42 #if defined(FORTRANCAPS)
43 #pragma _CRI duplicate MPI_FILE_READ_AT as PMPI_FILE_READ_AT
44 #elif defined(FORTRANDOUBLEUNDERSCORE)
45 #pragma _CRI duplicate mpi_file_read_at__ as pmpi_file_read_at__
46 #elif !defined(FORTRANUNDERSCORE)
47 #pragma _CRI duplicate mpi_file_read_at as pmpi_file_read_at
48 #else
49 #pragma _CRI duplicate mpi_file_read_at_ as pmpi_file_read_at_
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_read_at_ PMPI_FILE_READ_AT
60 #elif defined(FORTRANDOUBLEUNDERSCORE)
61 #define mpi_file_read_at_ pmpi_file_read_at__
62 #elif !defined(FORTRANUNDERSCORE)
63 #if defined(HPUX) || defined(SPPUX)
64 #pragma _HP_SECONDARY_DEF pmpi_file_read_at pmpi_file_read_at_
65 #endif
66 #define mpi_file_read_at_ pmpi_file_read_at
67 #else
68 #if defined(HPUX) || defined(SPPUX)
69 #pragma _HP_SECONDARY_DEF pmpi_file_read_at_ pmpi_file_read_at
70 #endif
71 #define mpi_file_read_at_ pmpi_file_read_at_
72 #endif
74 #else
76 #ifdef FORTRANCAPS
77 #define mpi_file_read_at_ MPI_FILE_READ_AT
78 #elif defined(FORTRANDOUBLEUNDERSCORE)
79 #define mpi_file_read_at_ mpi_file_read_at__
80 #elif !defined(FORTRANUNDERSCORE)
81 #if defined(HPUX) || defined(SPPUX)
82 #pragma _HP_SECONDARY_DEF mpi_file_read_at mpi_file_read_at_
83 #endif
84 #define mpi_file_read_at_ mpi_file_read_at
85 #else
86 #if defined(HPUX) || defined(SPPUX)
87 #pragma _HP_SECONDARY_DEF mpi_file_read_at_ mpi_file_read_at
88 #endif
89 #endif
90 #endif
92 #if defined(MPIHP) || defined(MPILAM)
93 /* Prototype to keep compiler happy */
94 void mpi_file_read_at_(MPI_Fint *fh,MPI_Offset *offset,void *buf,
95 MPI_Fint *count,MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr );
97 void mpi_file_read_at_(MPI_Fint *fh,MPI_Offset *offset,void *buf,
98 MPI_Fint *count,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_read_at(fh_c,*offset,buf,*count,datatype_c,status);
108 #else
109 /* Prototype to keep compiler happy */
110 FORTRAN_API void FORT_CALL mpi_file_read_at_(MPI_Fint *fh,MPI_Offset *offset,void *buf,
111 MPI_Fint *count,MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr );
113 FORTRAN_API void FORT_CALL mpi_file_read_at_(MPI_Fint *fh,MPI_Offset *offset,void *buf,
114 MPI_Fint *count,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_read_at(fh_c,*offset,buf,*count,(MPI_Datatype)*datatype,status);
121 #endif