b68d66bb9b
This commit adds support for project_framework_component_* parameter matching. This is the first step in allowing the same framework name in multiple projects. This change also bumps the MCA component version to 2.1.0. All master frameworks have been updated to use the new component versioning macro. An mca.h has been added to each project to add a project specific versioning macro of the form PROJECT_MCA_VERSION_2_1_0. Signed-off-by: Nathan Hjelm <hjelmn@me.com>
96 строки
2.6 KiB
C
96 строки
2.6 KiB
C
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
|
/*
|
|
* Copyright (c) 2015 Intel, Inc. All rights reserved
|
|
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
|
* reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
/** @file:
|
|
*
|
|
* The Open RTE Personality Framework (schizo)
|
|
*
|
|
* Multi-select framework so that multiple personalities can be
|
|
* simultaneously supported
|
|
*
|
|
*/
|
|
|
|
#ifndef ORTE_MCA_SCHIZO_H
|
|
#define ORTE_MCA_SCHIZO_H
|
|
|
|
#include "orte_config.h"
|
|
#include "orte/types.h"
|
|
|
|
#include "orte/mca/mca.h"
|
|
|
|
#include "orte/runtime/orte_globals.h"
|
|
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/*
|
|
* schizo module functions
|
|
*/
|
|
|
|
/**
|
|
* SCHIZO module functions - the modules are accessed via
|
|
* the base stub functions
|
|
*/
|
|
typedef int (*orte_schizo_base_module_parse_cli_fn_t)(char *personality,
|
|
int argc, int start,
|
|
char **argv);
|
|
|
|
typedef int (*orte_schizo_base_module_parse_env_fn_t)(char *personality,
|
|
char *path,
|
|
opal_cmd_line_t *cmd_line,
|
|
char *server,
|
|
char **srcenv,
|
|
char ***dstenv);
|
|
|
|
typedef int (*orte_schizo_base_module_setup_fork_fn_t)(orte_job_t *jdata,
|
|
orte_app_context_t *context);
|
|
|
|
typedef int (*orte_schizo_base_module_setup_child_fn_t)(orte_job_t *jdata,
|
|
orte_proc_t *child,
|
|
orte_app_context_t *app);
|
|
|
|
/*
|
|
* schizo module version 1.3.0
|
|
*/
|
|
typedef struct {
|
|
orte_schizo_base_module_parse_cli_fn_t parse_cli;
|
|
orte_schizo_base_module_parse_env_fn_t parse_env;
|
|
orte_schizo_base_module_setup_fork_fn_t setup_fork;
|
|
orte_schizo_base_module_setup_child_fn_t setup_child;
|
|
} orte_schizo_base_module_t;
|
|
|
|
ORTE_DECLSPEC extern orte_schizo_base_module_t orte_schizo;
|
|
|
|
/*
|
|
* schizo component
|
|
*/
|
|
|
|
/**
|
|
* schizo component version 1.3.0
|
|
*/
|
|
typedef struct {
|
|
/** Base MCA structure */
|
|
mca_base_component_t base_version;
|
|
/** Base MCA data */
|
|
mca_base_component_data_t base_data;
|
|
} orte_schizo_base_component_t;
|
|
|
|
/**
|
|
* Macro for use in components that are of type schizo
|
|
*/
|
|
#define MCA_SCHIZO_BASE_VERSION_1_0_0 \
|
|
ORTE_MCA_BASE_VERSION_2_1_0("schizo", 1, 0, 0)
|
|
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|