root/ompi/mpi/tool/category_get_cvars.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. MPI_T_category_get_cvars

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
   4  *                         reserved.
   5  * Copyright (c) 2014 Cisco Systems, Inc.  All rights reserved.
   6  * Copyright (c) 2017      IBM Corporation. All rights reserved.
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  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 }

/* [<][>][^][v][top][bottom][index][help] */