Beispiel #1
0
static pmix_status_t component_register(void)
{
    pmix_mca_base_component_t *component = &mca_pnet_opa_component.super.base;

    includeparam = "HFI_*,PSM2_*";
    (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, NULL, 0, 0,
                                               PMIX_INFO_LVL_2,
                                               PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
                                               &includeparam);
    if (NULL != includeparam) {
        mca_pnet_opa_component.include = pmix_argv_split(includeparam, ',');
    }

    excludeparam = 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, NULL, 0, 0,
                                               PMIX_INFO_LVL_2,
                                               PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
                                               &excludeparam);
    if (NULL != excludeparam) {
        mca_pnet_opa_component.exclude = pmix_argv_split(excludeparam, ',');
    }

    return PMIX_SUCCESS;
}
Beispiel #2
0
static pmix_status_t syslog_register(void)
{
    pmix_status_t rc = PMIX_SUCCESS;

    (void) pmix_mca_base_component_var_register(&mca_plog_syslog_component.super.base, "console",
                                           "Write directly to system console if there is an error while sending to system logger",
                                           PMIX_MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
                                           PMIX_INFO_LVL_2,
                                           PMIX_MCA_BASE_VAR_SCOPE_READONLY,
                                           &mca_plog_syslog_component.console);

    (void) pmix_mca_base_component_var_register(&mca_plog_syslog_component.super.base, "level",
                                           "Default syslog logging level (err, alert, crit, emerg, warning, notice, info[default], or debug)",
                                           PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
                                           PMIX_INFO_LVL_2,
                                           PMIX_MCA_BASE_VAR_SCOPE_READONLY,
                                           &level);
    if (0 == strncasecmp(level, "err", 3)) {
        mca_plog_syslog_component.level = LOG_ERR;
    } else if (0 == strcasecmp(level, "alert")) {
        mca_plog_syslog_component.level = LOG_ALERT;
    } else if (0 == strncasecmp(level, "crit", 4)) {
        mca_plog_syslog_component.level = LOG_CRIT;
    } else if (0 == strncasecmp(level, "emerg", 5)) {
        mca_plog_syslog_component.level = LOG_EMERG;
    } else if (0 == strncasecmp(level, "warn", 4)) {
        mca_plog_syslog_component.level = LOG_WARNING;
    } else if (0 == strncasecmp(level, "not", 3)) {
        mca_plog_syslog_component.level = LOG_NOTICE;
    } else if (0 == strcasecmp(level, "info")) {
        mca_plog_syslog_component.level = LOG_INFO;
    } else if (0 == strcasecmp(level, "debug") || 0 == strcasecmp(level, "dbg")) {
        mca_plog_syslog_component.level = LOG_DEBUG;
    } else {
        pmix_show_help("help-pmix-plog.txt", "syslog:unrec-level", true, level);
        rc = PMIX_ERR_NOT_SUPPORTED;
    }

    (void) pmix_mca_base_component_var_register(&mca_plog_syslog_component.super.base, "facility",
                                           "Specify what type of program is logging the message "
                                           "(only \"auth\", \"priv\", \"daemon\", and \"user\" are supported)",
                                           PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
                                           PMIX_INFO_LVL_2,
                                           PMIX_MCA_BASE_VAR_SCOPE_READONLY,
                                           &facility);
    if (0 == strncasecmp(facility, "auth", 4)) {
        mca_plog_syslog_component.facility = LOG_AUTH;
    } else if (0 == strncasecmp(facility, "priv", 4)) {
        mca_plog_syslog_component.facility = LOG_AUTHPRIV;
    } else if (0 == strcasecmp(facility, "daemon")) {
        mca_plog_syslog_component.facility = LOG_DAEMON;
    } else if (0 == strcasecmp(facility, "user")) {
        mca_plog_syslog_component.facility = LOG_USER;
    } else {
        pmix_show_help("help-pmix-plog.txt", "syslog:unrec-facility", true, facility);
        rc = PMIX_ERR_NOT_SUPPORTED;
    }

    return rc;
}
Beispiel #3
0
static int pdlopen_component_register(void)
{
    int ret;

    mca_pdl_pdlopen_component.filename_suffixes_mca_storage = ".so,.dylib,.dll,.sl";
    ret =
        pmix_mca_base_component_var_register(&mca_pdl_pdlopen_component.base.base_version,
                                             "filename_suffixes",
                                             "Comma-delimited list of filename suffixes that the pdlopen component will try",
                                             PMIX_MCA_BASE_VAR_TYPE_STRING,
                                             NULL,
                                             0,
                                             PMIX_MCA_BASE_VAR_FLAG_SETTABLE,
                                             PMIX_INFO_LVL_5,
                                             PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
                                             &mca_pdl_pdlopen_component.filename_suffixes_mca_storage);
    if (ret < 0) {
        return ret;
    }
    mca_pdl_pdlopen_component.filename_suffixes =
        pmix_argv_split(mca_pdl_pdlopen_component.filename_suffixes_mca_storage,
                        ',');

    return PMIX_SUCCESS;
}