1
1
Ralph Castain bd8b4f7f1e Sorry for mid-day commit, but I had promised on the call to do this upon my return.
Roll in the ORTE state machine. Remove last traces of opal_sos. Remove UTK epoch code.

Please see the various emails about the state machine change for details. I'll send something out later with more info on the new arch.

This commit was SVN r26242.
2012-04-06 14:23:13 +00:00

98 строки
2.7 KiB
C

/*
* Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/** @file:
*/
#ifndef MCA_PLM_BASE_H
#define MCA_PLM_BASE_H
/*
* includes
*/
#include "orte_config.h"
#include "opal/mca/mca.h"
#include "opal/class/opal_list.h"
#include "orte/mca/plm/plm.h"
BEGIN_C_DECLS
/**
* Open the plm framework
*/
ORTE_DECLSPEC int orte_plm_base_open(void);
#if !ORTE_DISABLE_FULL_SUPPORT
/**
* Struct to hold data for public access
*/
typedef struct orte_plm_base_t {
/** List of opened components */
opal_list_t available_components;
/** indicate a component has been selected */
bool selected;
/** selected component */
orte_plm_base_component_t selected_component;
} orte_plm_base_t;
/**
* Global instance of publicly-accessible PLM framework data
*/
ORTE_DECLSPEC extern orte_plm_base_t orte_plm_base;
/*
* Global functions for MCA overall collective open and close
*/
/**
* Select a plm module
*/
ORTE_DECLSPEC int orte_plm_base_select(void);
/**
* Close the plm framework
*/
ORTE_DECLSPEC int orte_plm_base_finalize(void);
ORTE_DECLSPEC int orte_plm_base_close(void);
/**
* Functions that other frameworks may need to call directly
* Specifically, the ODLS needs to access some of these
* to avoid recursive callbacks
*/
ORTE_DECLSPEC void orte_plm_base_app_report_launch(int fd, short event, void *data);
ORTE_DECLSPEC void orte_plm_base_receive_process_msg(int fd, short event, void *data);
ORTE_DECLSPEC void orte_plm_base_setup_job(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_complete_setup(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_daemons_reported(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_daemons_launched(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_launch_apps(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_post_launch(int fd, short args, void *cbdata);
ORTE_DECLSPEC void orte_plm_base_registered(int fd, short args, void *cbdata);
#endif /* ORTE_DISABLE_FULL_SUPPORT */
END_C_DECLS
#endif