OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

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 */
48 struct orte_sensor_base_API_module_1_0_0_t {
49 orte_sensor_base_module_start_fn_t start;
50 orte_sensor_base_module_stop_fn_t stop;
51 };
52
53 typedef struct orte_sensor_base_API_module_1_0_0_t orte_sensor_base_API_module_1_0_0_t;
54 typedef orte_sensor_base_API_module_1_0_0_t orte_sensor_base_API_module_t;
55
56
57 /*
58 * Component modules Ver 1.0
59 */
60 struct orte_sensor_base_module_1_0_0_t {
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
67 typedef struct orte_sensor_base_module_1_0_0_t orte_sensor_base_module_1_0_0_t;
68 typedef orte_sensor_base_module_1_0_0_t orte_sensor_base_module_t;
69
70 /*
71 * the standard component data structure
72 */
73 struct orte_sensor_base_component_1_0_0_t {
74 mca_base_component_t base_version;
75 mca_base_component_data_t base_data;
76 };
77 typedef struct orte_sensor_base_component_1_0_0_t orte_sensor_base_component_1_0_0_t;
78 typedef orte_sensor_base_component_1_0_0_t orte_sensor_base_component_t;
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 */
mca_base_component_2_0_0_t
Common type for all MCA components.
Definition: mca.h:250
orte_jobid_t
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
orte_sensor_base_component_1_0_0_t
Definition: sensor.h:73
mca.h
Top-level interface for all MCA components.
types.h
orte_sensor_base_API_module_1_0_0_t
Definition: sensor.h:48
mca_base_component_data_2_0_0_t
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
orte_sensor_base_module_1_0_0_t
Definition: sensor.h:60