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 (c) 2013      Los Alamos National Security, LLC.  All rights reserved.
13  * Copyright (c) 2015-2016 Intel, Inc. All rights reserved.
14  * $COPYRIGHT$
15  *
16  * Additional copyrights may follow
17  *
18  * $HEADER$
19  */
20 /** @file:
21  */
22 
23 #ifndef MCA_PLM_BASE_H
24 #define MCA_PLM_BASE_H
25 
26 /*
27  * includes
28  */
29 #include "orte_config.h"
30 
31 #include "orte/mca/mca.h"
32 #include "opal/class/opal_list.h"
33 
34 #include "orte/mca/plm/plm.h"
35 
36 
37 BEGIN_C_DECLS
38 
39 /*
40  * MCA framework
41  */
42 ORTE_DECLSPEC extern mca_base_framework_t orte_plm_base_framework;
43 /*
44  * Select an available component.
45  */
46 ORTE_DECLSPEC int orte_plm_base_select(void);
47 
48 /**
49  * Functions that other frameworks may need to call directly
50  * Specifically, the ODLS needs to access some of these
51  * to avoid recursive callbacks
52  */
53 ORTE_DECLSPEC void orte_plm_base_app_report_launch(int fd, short event, void *data);
54 ORTE_DECLSPEC void orte_plm_base_receive_process_msg(int fd, short event, void *data);
55 
56 ORTE_DECLSPEC void orte_plm_base_set_slots(orte_node_t *node);
57 ORTE_DECLSPEC void orte_plm_base_setup_job(int fd, short args, void *cbdata);
58 ORTE_DECLSPEC void orte_plm_base_setup_job_complete(int fd, short args, void *cbdata);
59 ORTE_DECLSPEC void orte_plm_base_complete_setup(int fd, short args, void *cbdata);
60 ORTE_DECLSPEC void orte_plm_base_daemons_reported(int fd, short args, void *cbdata);
61 ORTE_DECLSPEC void orte_plm_base_allocation_complete(int fd, short args, void *cbdata);
62 ORTE_DECLSPEC void orte_plm_base_daemons_launched(int fd, short args, void *cbdata);
63 ORTE_DECLSPEC void orte_plm_base_vm_ready(int fd, short args, void *cbdata);
64 ORTE_DECLSPEC void orte_plm_base_mapping_complete(int fd, short args, void *cbdata);
65 ORTE_DECLSPEC void orte_plm_base_launch_apps(int fd, short args, void *cbdata);
66 ORTE_DECLSPEC void orte_plm_base_post_launch(int fd, short args, void *cbdata);
67 ORTE_DECLSPEC void orte_plm_base_registered(int fd, short args, void *cbdata);
68 
69 END_C_DECLS
70 
71 #endif
72