OpenMPI  0.1.1
sensor.h
1 /*
2  * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
3  *
4  * $COPYRIGHT$
5  *
6  * Additional copyrights may follow
7  *
8  * $HEADER$
9  *
10  * @file:
11  *
12  */
13 
14 #ifndef MCA_SENSOR_H
15 #define MCA_SENSOR_H
16 
17 /*
18  * includes
19  */
20 
21 #include "orte_config.h"
22 #include "orte/types.h"
23 
24 #include "opal/mca/mca.h"
25 
26 BEGIN_C_DECLS
27 
28 /*
29  * Component functions - all MUST be provided!
30  */
31 
32 /* initialize the selected module */
33 typedef int (*orte_sensor_base_module_init_fn_t)(void);
34 
35 /* finalize the selected module */
36 typedef void (*orte_sensor_base_module_finalize_fn_t)(void);
37 
38 /* start collecting data */
39 typedef void (*orte_sensor_base_module_start_fn_t)(orte_jobid_t jobid);
40 
41 /* stop collecting data */
42 typedef void (*orte_sensor_base_module_stop_fn_t)(orte_jobid_t jobid);
43 
44 /* API module */
45 /*
46  * Ver 1.0
47  */
49  orte_sensor_base_module_start_fn_t start;
50  orte_sensor_base_module_stop_fn_t stop;
51 };
52 
55 
56 
57 /*
58  * Component modules Ver 1.0
59  */
61  orte_sensor_base_module_init_fn_t init;
62  orte_sensor_base_module_finalize_fn_t finalize;
63  orte_sensor_base_module_start_fn_t start;
64  orte_sensor_base_module_stop_fn_t stop;
65 };
66 
69 
70 /*
71  * the standard component data structure
72  */
74  mca_base_component_t base_version;
75  mca_base_component_data_t base_data;
76 };
79 
80 
81 
82 /*
83  * Macro for use in components that are of type sensor v1.0.0
84  */
85 #define ORTE_SENSOR_BASE_VERSION_1_0_0 \
86  /* sensor v1.0 is chained to MCA v2.0 */ \
87  MCA_BASE_VERSION_2_0_0, \
88  /* sensor v1.0 */ \
89  "sensor", 1, 0, 0
90 
91 /* Global structure for accessing sensor functions
92  */
93 ORTE_DECLSPEC extern orte_sensor_base_API_module_t orte_sensor; /* holds API function pointers */
94 
95 END_C_DECLS
96 
97 #endif /* MCA_SENSOR_H */
Common type for all MCA components.
Definition: mca.h:250
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
Definition: sensor.h:73
Top-level interface for all MCA components.
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
Definition: sensor.h:60