1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #ifndef OPAL_MCA_BASE_VAR_INTERNAL_H
40 #define OPAL_MCA_BASE_VAR_INTERNAL_H
41
42 #include "opal_config.h"
43
44 #include "opal/class/opal_object.h"
45 #include "opal/class/opal_list.h"
46 #include "opal/class/opal_value_array.h"
47 #include "opal/class/opal_pointer_array.h"
48 #include "opal/class/opal_hash_table.h"
49 #include "opal/mca/base/mca_base_var.h"
50 #include "opal/mca/base/mca_base_pvar.h"
51
52 BEGIN_C_DECLS
53
54
55 #define MCA_BASE_VAR_FLAG_EXTERNAL_MASK 0x0000ffff
56
57 typedef enum {
58
59 MCA_BASE_VAR_FLAG_VALID = 0x00010000,
60
61 MCA_BASE_VAR_FLAG_SYNONYM = 0x00020000,
62
63 MCA_BASE_VAR_FLAG_SOURCE_FILE_NEEDS_FREE = 0x00040000
64 } mca_base_var_flag_internal_t;
65
66 #define VAR_FLAG_ISSET(var, flag) (!!((var).mbp_flags & (flag)))
67
68 #define VAR_IS_VALID(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_VALID))
69 #define VAR_IS_SYNONYM(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_SYNONYM))
70 #define VAR_IS_INTERNAL(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_INTERNAL))
71 #define VAR_IS_DEFAULT_ONLY(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_DEFAULT_ONLY))
72 #define VAR_IS_SETTABLE(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_SETTABLE))
73 #define VAR_IS_DEPRECATED(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_DEPRECATED))
74
75 extern const char *ompi_var_type_names[];
76 extern const size_t ompi_var_type_sizes[];
77 extern bool mca_base_var_initialized;
78
79
80
81
82
83
84 struct mca_base_var_file_value_t {
85
86 opal_list_item_t super;
87
88
89 char *mbvfv_var;
90
91 char *mbvfv_value;
92
93 char *mbvfv_file;
94
95 int mbvfv_lineno;
96 };
97
98
99
100
101
102
103 typedef struct mca_base_var_file_value_t mca_base_var_file_value_t;
104
105
106
107
108 OPAL_DECLSPEC OBJ_CLASS_DECLARATION(mca_base_var_file_value_t);
109
110
111
112
113
114
115
116
117
118
119 OPAL_DECLSPEC int mca_base_var_group_get_internal (const int group_index, mca_base_var_group_t **group, bool invalidok);
120
121
122
123
124
125
126 OPAL_DECLSPEC int mca_base_parse_paramfile(const char *paramfile, opal_list_t *list);
127
128
129
130
131
132
133 OPAL_DECLSPEC int mca_base_var_group_add_var (const int group_index, const int param_index);
134
135
136
137
138
139
140 OPAL_DECLSPEC int mca_base_var_group_add_pvar (const int group_index, const int param_index);
141
142
143
144
145
146
147 OPAL_DECLSPEC int mca_base_var_group_add_enum (const int group_index, const void *storage);
148
149
150
151
152
153
154 OPAL_DECLSPEC int mca_base_var_generate_full_name4 (const char *project, const char *framework,
155 const char *component, const char *variable,
156 char **full_name);
157
158
159
160
161
162
163 OPAL_DECLSPEC int mca_base_internal_env_store(void);
164
165
166
167
168
169
170 OPAL_DECLSPEC int mca_base_var_group_init (void);
171 OPAL_DECLSPEC int mca_base_var_group_finalize (void);
172
173
174
175
176
177
178 OPAL_DECLSPEC int mca_base_pvar_init (void);
179 OPAL_DECLSPEC int mca_base_pvar_finalize (void);
180
181 END_C_DECLS
182
183 #endif