This source file includes following definitions.
- mpi_file_get_view_
- mpi_file_get_view_
- mpi_file_get_view_
1
2
3
4
5
6
7
8 #ifdef _UNICOS
9 #include <fortran.h>
10 #endif
11 #include "adio.h"
12 #include "mpio.h"
13
14
15 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
16
17 #if defined(HAVE_WEAK_SYMBOLS)
18 #if defined(HAVE_PRAGMA_WEAK)
19 #if defined(FORTRANCAPS)
20 extern FORTRAN_API void FORT_CALL MPI_FILE_GET_VIEW( MPI_Fint *, MPI_Offset*, MPI_Fint*, MPI_Fint*, char * FORT_MIXED_LEN_DECL, MPI_Fint * FORT_END_LEN_DECL );
21 #pragma weak MPI_FILE_GET_VIEW = PMPI_FILE_GET_VIEW
22 #elif defined(FORTRANDOUBLEUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_get_view__( MPI_Fint *, MPI_Offset*, MPI_Fint*, MPI_Fint*, char * FORT_MIXED_LEN_DECL, MPI_Fint * FORT_END_LEN_DECL );
24 #pragma weak mpi_file_get_view__ = pmpi_file_get_view__
25 #elif !defined(FORTRANUNDERSCORE)
26 extern FORTRAN_API void FORT_CALL mpi_file_get_view( MPI_Fint *, MPI_Offset*, MPI_Fint*, MPI_Fint*, char * FORT_MIXED_LEN_DECL, MPI_Fint * FORT_END_LEN_DECL );
27 #pragma weak mpi_file_get_view = pmpi_file_get_view
28 #else
29 extern FORTRAN_API void FORT_CALL mpi_file_get_view_( MPI_Fint *, MPI_Offset*, MPI_Fint*, MPI_Fint*, char * FORT_MIXED_LEN_DECL, MPI_Fint * FORT_END_LEN_DECL );
30 #pragma weak mpi_file_get_view_ = pmpi_file_get_view_
31 #endif
32
33 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
34 #if defined(FORTRANCAPS)
35 #pragma _HP_SECONDARY_DEF PMPI_FILE_GET_VIEW MPI_FILE_GET_VIEW
36 #elif defined(FORTRANDOUBLEUNDERSCORE)
37 #pragma _HP_SECONDARY_DEF pmpi_file_get_view__ mpi_file_get_view__
38 #elif !defined(FORTRANUNDERSCORE)
39 #pragma _HP_SECONDARY_DEF pmpi_file_get_view mpi_file_get_view
40 #else
41 #pragma _HP_SECONDARY_DEF pmpi_file_get_view_ mpi_file_get_view_
42 #endif
43
44 #elif defined(HAVE_PRAGMA_CRI_DUP)
45 #if defined(FORTRANCAPS)
46 #pragma _CRI duplicate MPI_FILE_GET_VIEW as PMPI_FILE_GET_VIEW
47 #elif defined(FORTRANDOUBLEUNDERSCORE)
48 #pragma _CRI duplicate mpi_file_get_view__ as pmpi_file_get_view__
49 #elif !defined(FORTRANUNDERSCORE)
50 #pragma _CRI duplicate mpi_file_get_view as pmpi_file_get_view
51 #else
52 #pragma _CRI duplicate mpi_file_get_view_ as pmpi_file_get_view_
53 #endif
54
55
56 #endif
57
58 #include "mpioprof.h"
59 #endif
60
61 #ifdef FORTRANCAPS
62 #define mpi_file_get_view_ PMPI_FILE_GET_VIEW
63 #elif defined(FORTRANDOUBLEUNDERSCORE)
64 #define mpi_file_get_view_ pmpi_file_get_view__
65 #elif !defined(FORTRANUNDERSCORE)
66 #if defined(HPUX) || defined(SPPUX)
67 #pragma _HP_SECONDARY_DEF pmpi_file_get_view pmpi_file_get_view_
68 #endif
69 #define mpi_file_get_view_ pmpi_file_get_view
70 #else
71 #if defined(HPUX) || defined(SPPUX)
72 #pragma _HP_SECONDARY_DEF pmpi_file_get_view_ pmpi_file_get_view
73 #endif
74 #define mpi_file_get_view_ pmpi_file_get_view_
75 #endif
76
77 #else
78
79 #ifdef FORTRANCAPS
80 #define mpi_file_get_view_ MPI_FILE_GET_VIEW
81 #elif defined(FORTRANDOUBLEUNDERSCORE)
82 #define mpi_file_get_view_ mpi_file_get_view__
83 #elif !defined(FORTRANUNDERSCORE)
84 #if defined(HPUX) || defined(SPPUX)
85 #pragma _HP_SECONDARY_DEF mpi_file_get_view mpi_file_get_view_
86 #endif
87 #define mpi_file_get_view_ mpi_file_get_view
88 #else
89 #if defined(HPUX) || defined(SPPUX)
90 #pragma _HP_SECONDARY_DEF mpi_file_get_view_ mpi_file_get_view
91 #endif
92 #endif
93 #endif
94
95 #if defined(MPIHP) || defined(MPILAM)
96
97 void mpi_file_get_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype,
98 MPI_Fint *filetype,char *datarep, MPI_Fint *ierr, int str_len );
99
100 void mpi_file_get_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype,
101 MPI_Fint *filetype,char *datarep, MPI_Fint *ierr, int str_len )
102 {
103 MPI_File fh_c;
104 MPI_Datatype etype_c, filetype_c;
105 int i, tmpreplen;
106 char *tmprep;
107
108 if (datarep <= (char *) 0) {
109 FPRINTF(stderr, "MPI_File_get_view: datarep is an invalid address\n");
110 MPI_Abort(MPI_COMM_WORLD, 1);
111 }
112
113 tmprep = (char *) ADIOI_Malloc((MPI_MAX_DATAREP_STRING+1) * sizeof(char));
114 fh_c = MPI_File_f2c(*fh);
115 *ierr = MPI_File_get_view(fh_c, disp, &etype_c, &filetype_c, tmprep);
116
117 tmpreplen = strlen(tmprep);
118 if (tmpreplen <= str_len) {
119 ADIOI_Strncpy(datarep, tmprep, tmpreplen);
120
121
122 for (i=tmpreplen; i<str_len; i++) datarep[i] = ' ';
123 }
124 else {
125
126 ADIOI_Strncpy(datarep, tmprep, str_len);
127
128 *ierr = MPI_ERR_UNKNOWN;
129 }
130
131 *etype = MPI_Type_c2f(etype_c);
132 *filetype = MPI_Type_c2f(filetype_c);
133 ADIOI_Free(tmprep);
134 }
135
136 #else
137
138 #ifdef _UNICOS
139 void mpi_file_get_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype,
140 MPI_Fint *filetype, _fcd datarep_fcd, MPI_Fint *ierr)
141 {
142 char *datarep = _fcdtocp(datarep_fcd);
143 int str_len = _fcdlen(datarep_fcd);
144 #else
145
146 FORTRAN_API void FORT_CALL mpi_file_get_view_( MPI_Fint *fh, MPI_Offset *disp, MPI_Fint *etype, MPI_Fint *filetype, char *datarep FORT_MIXED_LEN_DECL, MPI_Fint *ierr FORT_END_LEN_DECL );
147
148 FORTRAN_API void FORT_CALL mpi_file_get_view_( MPI_Fint *fh, MPI_Offset *disp, MPI_Fint *etype, MPI_Fint *filetype, char *datarep FORT_MIXED_LEN(str_len), MPI_Fint *ierr FORT_END_LEN(str_len) )
149 {
150 #endif
151 MPI_File fh_c;
152 int i, tmpreplen;
153 MPI_Datatype etype_c, filetype_c;
154
155 char *tmprep;
156
157
158 if (datarep <= (char *) 0) {
159 FPRINTF(stderr, "MPI_File_get_view: datarep is an invalid address\n");
160 MPI_Abort(MPI_COMM_WORLD, 1);
161 }
162
163 tmprep = (char *) ADIOI_Malloc((MPI_MAX_DATAREP_STRING+1) * sizeof(char));
164 fh_c = MPI_File_f2c(*fh);
165 etype_c = MPI_Type_f2c(*etype);
166 filetype_c = MPI_Type_f2c(*filetype);
167 *ierr = MPI_File_get_view(fh_c, disp, &etype_c, &filetype_c, tmprep);
168
169 tmpreplen = strlen(tmprep);
170 if (tmpreplen <= str_len) {
171 ADIOI_Strncpy(datarep, tmprep, tmpreplen);
172
173
174 for (i=tmpreplen; i<str_len; i++) datarep[i] = ' ';
175 }
176 else {
177
178 ADIOI_Strncpy(datarep, tmprep, str_len);
179
180 *ierr = MPI_ERR_UNKNOWN;
181 }
182
183 *etype = MPI_Type_c2f(etype_c);
184 *filetype = MPI_Type_c2f(filetype_c);
185 ADIOI_Free(tmprep);
186 }
187 #endif