OpenMPI  0.1.1
base.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2006 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * $COPYRIGHT$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 /** @file:
19  */
20 
21 #ifndef MCA_PLM_BASE_H
22 #define MCA_PLM_BASE_H
23 
24 /*
25  * includes
26  */
27 #include "orte_config.h"
28 
29 #include "opal/mca/mca.h"
30 #include "opal/class/opal_list.h"
31 
32 #include "orte/mca/plm/plm.h"
33 
34 
35 BEGIN_C_DECLS
36 
37 /**
38  * Open the plm framework
39  */
40 ORTE_DECLSPEC int orte_plm_base_open(void);
41 
42 #if !ORTE_DISABLE_FULL_SUPPORT
43 
44 /**
45  * Struct to hold data for public access
46  */
47 typedef struct orte_plm_base_t {
48  /** List of opened components */
50  /** indicate a component has been selected */
51  bool selected;
52  /** selected component */
55 
56 /**
57  * Global instance of publicly-accessible PLM framework data
58  */
59 ORTE_DECLSPEC extern orte_plm_base_t orte_plm_base;
60 
61 /*
62  * Global functions for MCA overall collective open and close
63  */
64 
65 /**
66  * Select a plm module
67  */
68 ORTE_DECLSPEC int orte_plm_base_select(void);
69 
70 /**
71  * Close the plm framework
72  */
73 ORTE_DECLSPEC int orte_plm_base_finalize(void);
74 ORTE_DECLSPEC int orte_plm_base_close(void);
75 
76 
77 /**
78  * Functions that other frameworks may need to call directly
79  * Specifically, the ODLS needs to access some of these
80  * to avoid recursive callbacks
81  */
82 ORTE_DECLSPEC void orte_plm_base_app_report_launch(int fd, short event, void *data);
83 ORTE_DECLSPEC void orte_plm_base_receive_process_msg(int fd, short event, void *data);
84 
85 #endif /* ORTE_DISABLE_FULL_SUPPORT */
86 
87 END_C_DECLS
88 
89 #endif
struct orte_plm_base_t orte_plm_base_t
Struct to hold data for public access.
opal_list_t available_components
List of opened components.
Definition: base.h:49
ORTE_DECLSPEC int orte_plm_base_select(void)
Select a plm module.
Definition: plm_base_select.c:37
orte_plm_base_component_t selected_component
selected component
Definition: base.h:53
Structure to represent a single event.
Definition: event_struct.h:87
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
Top-level interface for all MCA components.
The Process Lifecycle Management (PLM) subsystem serves as the central switchyard for all process man...
bool selected
indicate a component has been selected
Definition: base.h:51
plm component
Definition: plm.h:122
Struct to hold data for public access.
Definition: base.h:47
Definition: opal_list.h:147
ORTE_DECLSPEC int orte_plm_base_finalize(void)
Close the plm framework.
Definition: plm_base_close.c:36
BEGIN_C_DECLS ORTE_DECLSPEC int orte_plm_base_open(void)
Open the plm framework.
Definition: plm_base_open.c:90
ORTE_DECLSPEC orte_plm_base_t orte_plm_base
Global instance of publicly-accessible PLM framework data.
Definition: plm_base_open.c:63
ORTE_DECLSPEC void orte_plm_base_app_report_launch(int fd, short event, void *data)
Functions that other frameworks may need to call directly Specifically, the ODLS needs to access some...