This source file includes following definitions.
- MPI_Info_get
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include "ompi_config.h"
26
27 #include "ompi/mpi/c/bindings.h"
28 #include "ompi/runtime/params.h"
29 #include "ompi/communicator/communicator.h"
30 #include "ompi/errhandler/errhandler.h"
31 #include "ompi/info/info.h"
32 #include <stdlib.h>
33 #include <string.h>
34
35 #if OMPI_BUILD_MPI_PROFILING
36 #if OPAL_HAVE_WEAK_SYMBOLS
37 #pragma weak MPI_Info_get = PMPI_Info_get
38 #endif
39 #define MPI_Info_get PMPI_Info_get
40 #endif
41
42 static const char FUNC_NAME[] = "MPI_Info_get";
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 int MPI_Info_get(MPI_Info info, const char *key, int valuelen,
64 char *value, int *flag)
65 {
66 int err;
67 int key_length;
68
69
70
71
72
73
74 if (MPI_PARAM_CHECK) {
75 OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
76 if (NULL == info || MPI_INFO_NULL == info ||
77 ompi_info_is_freed(info)) {
78 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO,
79 FUNC_NAME);
80 }
81 if (0 > valuelen){
82 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
83 FUNC_NAME);
84 }
85
86 key_length = (key) ? (int)strlen (key) : 0;
87 if ((NULL == key) || (0 == key_length) ||
88 (MPI_MAX_INFO_KEY <= key_length)) {
89 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO_KEY,
90 FUNC_NAME);
91 }
92 if (NULL == value) {
93 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO_VALUE,
94 FUNC_NAME);
95 }
96 if (NULL == flag) {
97 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
98 FUNC_NAME);
99 }
100 }
101
102 OPAL_CR_ENTER_LIBRARY();
103
104 err = ompi_info_get(info, key, valuelen, value, flag);
105 OMPI_ERRHANDLER_RETURN(err, MPI_COMM_WORLD, err, FUNC_NAME);
106 }