1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef ORTE_MCA_RTC_H
19 #define ORTE_MCA_RTC_H
20
21 #include "orte_config.h"
22 #include "orte/types.h"
23
24 #include "orte/mca/mca.h"
25 #include "opal/class/opal_list.h"
26
27 #include "orte/runtime/orte_globals.h"
28
29 BEGIN_C_DECLS
30
31 typedef struct {
32 opal_list_item_t super;
33 char *component;
34 char *category;
35 opal_value_t control;
36 } orte_rtc_resource_t;
37 ORTE_DECLSPEC OBJ_CLASS_DECLARATION(orte_rtc_resource_t);
38
39
40
41
42
43
44
45
46
47 typedef void (*orte_rtc_base_module_assign_fn_t)(orte_job_t *jdata);
48
49
50
51
52
53
54
55
56
57 typedef void (*orte_rtc_base_module_set_fn_t)(orte_job_t *jdata,
58 orte_proc_t *proc,
59 char ***env,
60 int error_fd);
61
62
63
64
65
66 typedef void (*orte_rtc_base_module_get_avail_vals_fn_t)(opal_list_t *vals);
67
68
69 typedef int (*orte_rtc_base_module_init_fn_t)(void);
70
71
72 typedef void (*orte_rtc_base_module_fini_fn_t)(void);
73
74
75
76
77 typedef struct {
78 orte_rtc_base_module_init_fn_t init;
79 orte_rtc_base_module_fini_fn_t finalize;
80 orte_rtc_base_module_assign_fn_t assign;
81 orte_rtc_base_module_set_fn_t set;
82 orte_rtc_base_module_get_avail_vals_fn_t get_available_values;
83 } orte_rtc_base_module_t;
84
85
86
87 typedef struct {
88 orte_rtc_base_module_assign_fn_t assign;
89 orte_rtc_base_module_set_fn_t set;
90 orte_rtc_base_module_get_avail_vals_fn_t get_available_values;
91 } orte_rtc_API_module_t;
92
93
94
95
96
97 typedef struct orte_rtc_base_component_1_0_0_t {
98
99 mca_base_component_t base_version;
100
101 mca_base_component_data_t base_data;
102 } orte_rtc_base_component_t;
103
104
105 ORTE_DECLSPEC extern orte_rtc_API_module_t orte_rtc;
106
107
108
109
110 #define ORTE_RTC_BASE_VERSION_1_0_0 \
111 ORTE_MCA_BASE_VERSION_2_1_0("rtc", 1, 0, 0)
112
113
114 END_C_DECLS
115
116 #endif