This source file includes following definitions.
- ompi_errcode_get_mpi_code
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 #ifndef OMPI_ERRCODE_INTERN_H
26 #define OMPI_ERRCODE_INTERN_H
27
28 #include "ompi_config.h"
29
30 #include "mpi.h"
31 #include "ompi/constants.h"
32 #include "opal/class/opal_object.h"
33 #include "opal/class/opal_pointer_array.h"
34
35 #define OMPI_MAX_ERROR_STRING 64
36
37 BEGIN_C_DECLS
38
39
40
41
42 struct ompi_errcode_intern_t {
43 opal_object_t super;
44 int code;
45 int mpi_code;
46 int index;
47 char errstring[OMPI_MAX_ERROR_STRING];
48 };
49 typedef struct ompi_errcode_intern_t ompi_errcode_intern_t;
50
51 OMPI_DECLSPEC extern opal_pointer_array_t ompi_errcodes_intern;
52 OMPI_DECLSPEC extern int ompi_errcode_intern_lastused;
53
54
55
56 static inline int ompi_errcode_get_mpi_code(int errcode)
57 {
58 int ret = MPI_ERR_UNKNOWN;
59 int i;
60 ompi_errcode_intern_t *errc;
61
62
63
64 if (errcode >= 0) {
65 return errcode;
66 }
67
68
69
70 for (i = 0; i < ompi_errcode_intern_lastused; i++) {
71 errc = (ompi_errcode_intern_t *)opal_pointer_array_get_item(&ompi_errcodes_intern, i);
72 if (errc->code == errcode) {
73 ret = errc->mpi_code;
74 break;
75 }
76 }
77 return ret;
78 }
79
80
81
82
83
84
85
86
87
88 int ompi_errcode_intern_init(void);
89
90
91
92
93
94
95
96
97 int ompi_errcode_intern_finalize(void);
98
99 END_C_DECLS
100
101 #endif