1
1
openmpi/orte/mca/schizo/schizo.h
Nathan Hjelm b68d66bb9b MCA: Add the project/project version to the MCA base component
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>
2015-03-27 10:59:04 -06:00

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