#include "src/include/pmix_config.h"
#include "pmix_common.h"
#include "pmdl_ompi.h"
#include "src/mca/pmdl/pmdl.h"
#include "src/util/pmix_argv.h"
static pmix_status_t component_register(void);
static pmix_status_t component_query(pmix_mca_base_module_t **module, int *priority);
pmix_pmdl_ompi_component_t pmix_mca_pmdl_ompi_component = {
.super = {
PMIX_PMDL_BASE_VERSION_1_0_0,
.pmix_mca_component_name = "ompi",
PMIX_MCA_BASE_MAKE_VERSION(component,
PMIX_MAJOR_VERSION,
PMIX_MINOR_VERSION,
PMIX_RELEASE_VERSION),
.pmix_mca_register_component_params = component_register,
.pmix_mca_query_component = component_query,
},
.include = NULL,
.exclude = NULL
};
static pmix_status_t component_register(void)
{
pmix_mca_base_component_t *component = &pmix_mca_pmdl_ompi_component.super;
pmix_mca_pmdl_ompi_component.incparms = "OMPI_*,OPAL_*";
(void) pmix_mca_base_component_var_register(
component, "include_envars",
"Comma-delimited list of envars to harvest (\'*\' and \'?\' supported)",
PMIX_MCA_BASE_VAR_TYPE_STRING,
&pmix_mca_pmdl_ompi_component.incparms);
if (NULL != pmix_mca_pmdl_ompi_component.incparms) {
pmix_mca_pmdl_ompi_component.include = PMIx_Argv_split(pmix_mca_pmdl_ompi_component.incparms, ',');
}
pmix_mca_pmdl_ompi_component.excparms = NULL;
(void) pmix_mca_base_component_var_register(
component, "exclude_envars",
"Comma-delimited list of envars to exclude (\'*\' and \'?\' supported)",
PMIX_MCA_BASE_VAR_TYPE_STRING,
&pmix_mca_pmdl_ompi_component.excparms);
if (NULL != pmix_mca_pmdl_ompi_component.excparms) {
pmix_mca_pmdl_ompi_component.exclude = PMIx_Argv_split(pmix_mca_pmdl_ompi_component.excparms, ',');
}
return PMIX_SUCCESS;
}
static pmix_status_t component_query(pmix_mca_base_module_t **module, int *priority)
{
*priority = 55;
*module = (pmix_mca_base_module_t *) &pmix_pmdl_ompi_module;
return PMIX_SUCCESS;
}