This source file includes following definitions.
- mpi_info_get_nthkey_
1
2
3
4
5
6
7
8 #include "mpio.h"
9 #include "adio.h"
10
11
12 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
13 #ifdef FORTRANCAPS
14 #define mpi_info_get_nthkey_ PMPI_INFO_GET_NTHKEY
15 #elif defined(FORTRANDOUBLEUNDERSCORE)
16 #define mpi_info_get_nthkey_ pmpi_info_get_nthkey__
17 #elif !defined(FORTRANUNDERSCORE)
18 #if defined(HPUX) || defined(SPPUX)
19 #pragma _HP_SECONDARY_DEF pmpi_info_get_nthkey pmpi_info_get_nthkey_
20 #endif
21 #define mpi_info_get_nthkey_ pmpi_info_get_nthkey
22 #else
23 #if defined(HPUX) || defined(SPPUX)
24 #pragma _HP_SECONDARY_DEF pmpi_info_get_nthkey_ pmpi_info_get_nthkey
25 #endif
26 #define mpi_info_get_nthkey_ pmpi_info_get_nthkey_
27 #endif
28
29 #if defined(HAVE_WEAK_SYMBOLS)
30 #if defined(HAVE_PRAGMA_WEAK)
31 #if defined(FORTRANCAPS)
32 #pragma weak MPI_INFO_GET_NTHKEY = PMPI_INFO_GET_NTHKEY
33 #elif defined(FORTRANDOUBLEUNDERSCORE)
34 #pragma weak mpi_info_get_nthkey__ = pmpi_info_get_nthkey__
35 #elif !defined(FORTRANUNDERSCORE)
36 #pragma weak mpi_info_get_nthkey = pmpi_info_get_nthkey
37 #else
38 #pragma weak mpi_info_get_nthkey_ = pmpi_info_get_nthkey_
39 #endif
40
41 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
42 #if defined(FORTRANCAPS)
43 #pragma _HP_SECONDARY_DEF PMPI_INFO_GET_NTHKEY MPI_INFO_GET_NTHKEY
44 #elif defined(FORTRANDOUBLEUNDERSCORE)
45 #pragma _HP_SECONDARY_DEF pmpi_info_get_nthkey__ mpi_info_get_nthkey__
46 #elif !defined(FORTRANUNDERSCORE)
47 #pragma _HP_SECONDARY_DEF pmpi_info_get_nthkey mpi_info_get_nthkey
48 #else
49 #pragma _HP_SECONDARY_DEF pmpi_info_get_nthkey_ mpi_info_get_nthkey_
50 #endif
51
52 #elif defined(HAVE_PRAGMA_CRI_DUP)
53 #if defined(FORTRANCAPS)
54 #pragma _CRI duplicate MPI_INFO_GET_NTHKEY as PMPI_INFO_GET_NTHKEY
55 #elif defined(FORTRANDOUBLEUNDERSCORE)
56 #pragma _CRI duplicate mpi_info_get_nthkey__ as pmpi_info_get_nthkey__
57 #elif !defined(FORTRANUNDERSCORE)
58 #pragma _CRI duplicate mpi_info_get_nthkey as pmpi_info_get_nthkey
59 #else
60 #pragma _CRI duplicate mpi_info_get_nthkey_ as pmpi_info_get_nthkey_
61 #endif
62
63
64 #endif
65
66 #include "mpioprof.h"
67 #endif
68
69 #else
70
71 #ifdef FORTRANCAPS
72 #define mpi_info_get_nthkey_ MPI_INFO_GET_NTHKEY
73 #elif defined(FORTRANDOUBLEUNDERSCORE)
74 #define mpi_info_get_nthkey_ mpi_info_get_nthkey__
75 #elif !defined(FORTRANUNDERSCORE)
76 #if defined(HPUX) || defined(SPPUX)
77 #pragma _HP_SECONDARY_DEF mpi_info_get_nthkey mpi_info_get_nthkey_
78 #endif
79 #define mpi_info_get_nthkey_ mpi_info_get_nthkey
80 #else
81 #if defined(HPUX) || defined(SPPUX)
82 #pragma _HP_SECONDARY_DEF mpi_info_get_nthkey_ mpi_info_get_nthkey
83 #endif
84 #endif
85 #endif
86
87 void mpi_info_get_nthkey_(MPI_Fint *info, int *n, char *key, int *ierr,
88 int keylen)
89 {
90 MPI_Info info_c;
91 int i, tmpkeylen;
92 char *tmpkey;
93
94 if (key <= (char *) 0) {
95 FPRINTF(stderr, "MPI_Info_get_nthkey: key is an invalid address\n");
96 MPI_Abort(MPI_COMM_WORLD, 1);
97 }
98
99 tmpkey = (char *) ADIOI_Malloc((MPI_MAX_INFO_KEY+1) * sizeof(char));
100 info_c = MPI_Info_f2c(*info);
101 *ierr = MPI_Info_get_nthkey(info_c, *n, tmpkey);
102
103 tmpkeylen = strlen(tmpkey);
104
105 if (tmpkeylen <= keylen) {
106 ADIOI_Strncpy(key, tmpkey, tmpkeylen);
107
108
109 for (i=tmpkeylen; i<keylen; i++) key[i] = ' ';
110 }
111 else {
112
113 ADIOI_Strncpy(key, tmpkey, keylen);
114
115 *ierr = MPI_ERR_UNKNOWN;
116 }
117
118 ADIOI_Free(tmpkey);
119 }
120