This source file includes following definitions.
- MPI_T_category_get_cvars
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "ompi/mpi/tool/mpit-internal.h"
15
16 #if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
17 #pragma weak MPI_T_category_get_cvars = PMPI_T_category_get_cvars
18 #endif
19
20 #if OMPI_PROFILING_DEFINES
21 #include "ompi/mpi/tool/profile/defines.h"
22 #endif
23
24
25 int MPI_T_category_get_cvars(int cat_index, int len, int indices[])
26 {
27 const mca_base_var_group_t *group;
28 int rc = MPI_SUCCESS;
29 const int *vars;
30 int i, size;
31
32 if (!mpit_is_initialized ()) {
33 return MPI_T_ERR_NOT_INITIALIZED;
34 }
35
36 ompi_mpit_lock ();
37
38 do {
39 rc = mca_base_var_group_get (cat_index, &group);
40 if (0 > rc) {
41 rc = (OPAL_ERR_NOT_FOUND == rc) ? MPI_T_ERR_INVALID_INDEX : MPI_ERR_OTHER;
42 break;
43 }
44
45 size = opal_value_array_get_size((opal_value_array_t *) &group->group_vars);
46 vars = OPAL_VALUE_ARRAY_GET_BASE(&group->group_vars, int);
47
48 for (i = 0 ; i < len && i < size ; ++i) {
49 indices[i] = vars[i];
50 }
51 } while (0);
52
53 ompi_mpit_unlock ();
54
55 return rc;
56 }