This source file includes following definitions.
- mpi_file_set_view_
- mpi_file_set_view_
- mpi_file_set_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_SET_VIEW( MPI_Fint *, MPI_Offset *, MPI_Fint *, MPI_Fint *, char * FORT_MIXED_LEN_DECL, MPI_Fint *, MPI_Fint * FORT_END_LEN_DECL );
21 #pragma weak MPI_FILE_SET_VIEW = PMPI_FILE_SET_VIEW
22 #elif defined(FORTRANDOUBLEUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_set_view__( MPI_Fint *, MPI_Offset *, MPI_Fint *, MPI_Fint *, char * FORT_MIXED_LEN_DECL, MPI_Fint *, MPI_Fint * FORT_END_LEN_DECL );
24 #pragma weak mpi_file_set_view__ = pmpi_file_set_view__
25 #elif !defined(FORTRANUNDERSCORE)
26 extern FORTRAN_API void FORT_CALL mpi_file_set_view( MPI_Fint *, MPI_Offset *, MPI_Fint *, MPI_Fint *, char * FORT_MIXED_LEN_DECL, MPI_Fint *, MPI_Fint * FORT_END_LEN_DECL );
27 #pragma weak mpi_file_set_view = pmpi_file_set_view
28 #else
29 extern FORTRAN_API void FORT_CALL mpi_file_set_view_( MPI_Fint *, MPI_Offset *, MPI_Fint *, MPI_Fint *, char * FORT_MIXED_LEN_DECL, MPI_Fint *, MPI_Fint * FORT_END_LEN_DECL );
30 #pragma weak mpi_file_set_view_ = pmpi_file_set_view_
31 #endif
32
33 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
34 #if defined(FORTRANCAPS)
35 #pragma _HP_SECONDARY_DEF PMPI_FILE_SET_VIEW MPI_FILE_SET_VIEW
36 #elif defined(FORTRANDOUBLEUNDERSCORE)
37 #pragma _HP_SECONDARY_DEF pmpi_file_set_view__ mpi_file_set_view__
38 #elif !defined(FORTRANUNDERSCORE)
39 #pragma _HP_SECONDARY_DEF pmpi_file_set_view mpi_file_set_view
40 #else
41 #pragma _HP_SECONDARY_DEF pmpi_file_set_view_ mpi_file_set_view_
42 #endif
43
44 #elif defined(HAVE_PRAGMA_CRI_DUP)
45 #if defined(FORTRANCAPS)
46 #pragma _CRI duplicate MPI_FILE_SET_VIEW as PMPI_FILE_SET_VIEW
47 #elif defined(FORTRANDOUBLEUNDERSCORE)
48 #pragma _CRI duplicate mpi_file_set_view__ as pmpi_file_set_view__
49 #elif !defined(FORTRANUNDERSCORE)
50 #pragma _CRI duplicate mpi_file_set_view as pmpi_file_set_view
51 #else
52 #pragma _CRI duplicate mpi_file_set_view_ as pmpi_file_set_view_
53 #endif
54
55
56 #endif
57
58 #include "mpioprof.h"
59 #endif
60
61 #ifdef FORTRANCAPS
62 #define mpi_file_set_view_ PMPI_FILE_SET_VIEW
63 #elif defined(FORTRANDOUBLEUNDERSCORE)
64 #define mpi_file_set_view_ pmpi_file_set_view__
65 #elif !defined(FORTRANUNDERSCORE)
66 #if defined(HPUX) || defined(SPPUX)
67 #pragma _HP_SECONDARY_DEF pmpi_file_set_view pmpi_file_set_view_
68 #endif
69 #define mpi_file_set_view_ pmpi_file_set_view
70 #else
71 #if defined(HPUX) || defined(SPPUX)
72 #pragma _HP_SECONDARY_DEF pmpi_file_set_view_ pmpi_file_set_view
73 #endif
74 #define mpi_file_set_view_ pmpi_file_set_view_
75 #endif
76
77 #else
78
79 #ifdef FORTRANCAPS
80 #define mpi_file_set_view_ MPI_FILE_SET_VIEW
81 #elif defined(FORTRANDOUBLEUNDERSCORE)
82 #define mpi_file_set_view_ mpi_file_set_view__
83 #elif !defined(FORTRANUNDERSCORE)
84 #if defined(HPUX) || defined(SPPUX)
85 #pragma _HP_SECONDARY_DEF mpi_file_set_view mpi_file_set_view_
86 #endif
87 #define mpi_file_set_view_ mpi_file_set_view
88 #else
89 #if defined(HPUX) || defined(SPPUX)
90 #pragma _HP_SECONDARY_DEF mpi_file_set_view_ mpi_file_set_view
91 #endif
92 #endif
93 #endif
94
95 #if defined(MPIHP) || defined(MPILAM)
96
97 void mpi_file_set_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype,
98 MPI_Fint *filetype,char *datarep,MPI_Fint *info, MPI_Fint *ierr,
99 int str_len );
100
101 void mpi_file_set_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype,
102 MPI_Fint *filetype,char *datarep,MPI_Fint *info, MPI_Fint *ierr,
103 int str_len )
104 {
105 char *newstr;
106 MPI_File fh_c;
107 int i, real_len;
108 MPI_Datatype etype_c, filetype_c;
109 MPI_Info info_c;
110
111 etype_c = MPI_Type_f2c(*etype);
112 filetype_c = MPI_Type_f2c(*filetype);
113 info_c = MPI_Info_f2c(*info);
114
115
116 if (datarep <= (char *) 0) {
117 FPRINTF(stderr, "MPI_File_set_view: datarep is an invalid address\n");
118 MPI_Abort(MPI_COMM_WORLD, 1);
119 }
120 for (i=str_len-1; i>=0; i--) if (datarep[i] != ' ') break;
121 if (i < 0) {
122 FPRINTF(stderr, "MPI_File_set_view: datarep is a blank string\n");
123 MPI_Abort(MPI_COMM_WORLD, 1);
124 }
125 real_len = i + 1;
126
127 newstr = (char *) ADIOI_Malloc((real_len+1)*sizeof(char));
128 ADIOI_Strncpy(newstr, datarep, real_len);
129 newstr[real_len] = '\0';
130
131 fh_c = MPI_File_f2c(*fh);
132
133 *ierr = MPI_File_set_view(fh_c,*disp,etype_c,filetype_c,newstr,info_c);
134
135 ADIOI_Free(newstr);
136 }
137
138 #else
139
140 #ifdef _UNICOS
141 void mpi_file_set_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Datatype *etype,
142 MPI_Datatype *filetype,_fcd datarep_fcd,MPI_Fint *info, MPI_Fint *ierr)
143 {
144 char *datarep = _fcdtocp(datarep_fcd);
145 int str_len = _fcdlen(datarep_fcd);
146 #else
147
148 FORTRAN_API void FORT_CALL mpi_file_set_view_( MPI_Fint *fh, MPI_Offset *disp, MPI_Fint *etype, MPI_Fint *filetype, char *datarep FORT_MIXED_LEN_DECL, MPI_Fint *info, MPI_Fint *ierr FORT_END_LEN_DECL );
149
150 FORTRAN_API void FORT_CALL mpi_file_set_view_( MPI_Fint *fh, MPI_Offset *disp, MPI_Fint *etype, MPI_Fint *filetype, char *datarep FORT_MIXED_LEN(str_len), MPI_Fint *info, MPI_Fint *ierr FORT_END_LEN(str_len) )
151 {
152 #endif
153 char *newstr;
154 MPI_File fh_c;
155 int i, real_len;
156 MPI_Info info_c;
157
158 info_c = MPI_Info_f2c(*info);
159
160
161 if (datarep <= (char *) 0) {
162 FPRINTF(stderr, "MPI_File_set_view: datarep is an invalid address\n");
163 MPI_Abort(MPI_COMM_WORLD, 1);
164 }
165 for (i=str_len-1; i>=0; i--) if (datarep[i] != ' ') break;
166 if (i < 0) {
167 FPRINTF(stderr, "MPI_File_set_view: datarep is a blank string\n");
168 MPI_Abort(MPI_COMM_WORLD, 1);
169 }
170 real_len = i + 1;
171
172 newstr = (char *) ADIOI_Malloc((real_len+1)*sizeof(char));
173 ADIOI_Strncpy(newstr, datarep, real_len);
174 newstr[real_len] = '\0';
175
176 fh_c = MPI_File_f2c(*fh);
177
178 *ierr = MPI_File_set_view(fh_c,*disp,*etype,*filetype,newstr,info_c);
179
180 ADIOI_Free(newstr);
181 }
182 #endif