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 #ifndef PMIX20_BFROP_INTERNAL_H_
28 #define PMIX20_BFROP_INTERNAL_H_
29
30 #include <src/include/pmix_config.h>
31
32
33 #ifdef HAVE_SYS_TIME_H
34 #include <sys/time.h>
35 #endif
36
37 #include "src/class/pmix_pointer_array.h"
38
39 #include "src/mca/bfrops/base/base.h"
40
41 #ifdef HAVE_STRING_H
42 #include <string.h>
43 #endif
44
45 BEGIN_C_DECLS
46
47
48 #define PMIX_MODEX 29
49 #define PMIX_INFO_ARRAY 44
50
51
52 typedef struct pmix_modex_data {
53 char nspace[PMIX_MAX_NSLEN+1];
54 int rank;
55 uint8_t *blob;
56 size_t size;
57 } pmix_modex_data_t;
58
59 #define PMIX_MODEX_CREATE(m, n) \
60 do { \
61 (m) = (pmix_modex_data_t*)calloc((n) , sizeof(pmix_modex_data_t)); \
62 } while (0)
63
64 #define PMIX_MODEX_RELEASE(m) \
65 do { \
66 PMIX_MODEX_DESTRUCT((m)); \
67 free((m)); \
68 (m) = NULL; \
69 } while (0)
70
71 #define PMIX_MODEX_CONSTRUCT(m) \
72 do { \
73 memset((m), 0, sizeof(pmix_modex_data_t)); \
74 } while (0)
75
76 #define PMIX_MODEX_DESTRUCT(m) \
77 do { \
78 if (NULL != (m)->blob) { \
79 free((m)->blob); \
80 (m)->blob = NULL; \
81 } \
82 } while (0)
83
84 #define PMIX_MODEX_FREE(m, n) \
85 do { \
86 size_t _s; \
87 if (NULL != (m)) { \
88 for (_s=0; _s < (n); _s++) { \
89 PMIX_MODEX_DESTRUCT(&((m)[_s])); \
90 } \
91 free((m)); \
92 (m) = NULL; \
93 } \
94 } while (0)
95
96
97
98
99
100 pmix_status_t pmix20_bfrop_pack(pmix_buffer_t *buffer, const void *src,
101 int32_t num_vals,
102 pmix_data_type_t type);
103 pmix_status_t pmix20_bfrop_unpack(pmix_buffer_t *buffer, void *dest,
104 int32_t *max_num_vals,
105 pmix_data_type_t type);
106
107 pmix_status_t pmix20_bfrop_copy(void **dest, void *src, pmix_data_type_t type);
108
109 pmix_status_t pmix20_bfrop_print(char **output, char *prefix, void *src, pmix_data_type_t type);
110
111 pmix_status_t pmix20_bfrop_copy_payload(pmix_buffer_t *dest, pmix_buffer_t *src);
112
113 pmix_status_t pmix20_bfrop_value_xfer(pmix_value_t *p, const pmix_value_t *src);
114
115 void pmix20_bfrop_value_load(pmix_value_t *v, const void *data,
116 pmix_data_type_t type);
117
118 pmix_status_t pmix20_bfrop_value_unload(pmix_value_t *kv,
119 void **data,
120 size_t *sz);
121
122 pmix_value_cmp_t pmix20_bfrop_value_cmp(pmix_value_t *p,
123 pmix_value_t *p1);
124
125
126
127
128 pmix_status_t pmix20_bfrop_pack_buffer(pmix_pointer_array_t *regtypes,
129 pmix_buffer_t *buffer,
130 const void *src, int32_t num_vals,
131 pmix_data_type_t type);
132
133 pmix_status_t pmix20_bfrop_unpack_buffer(pmix_pointer_array_t *regtypes,
134 pmix_buffer_t *buffer, void *dst,
135 int32_t *num_vals, pmix_data_type_t type);
136
137
138
139
140
141 pmix_status_t pmix20_bfrop_pack_bool(pmix_pointer_array_t *regtypes,
142 pmix_buffer_t *buffer, const void *src,
143 int32_t num_vals, pmix_data_type_t type);
144 pmix_status_t pmix20_bfrop_pack_byte(pmix_pointer_array_t *regtypes,
145 pmix_buffer_t *buffer, const void *src,
146 int32_t num_vals, pmix_data_type_t type);
147 pmix_status_t pmix20_bfrop_pack_string(pmix_pointer_array_t *regtypes,
148 pmix_buffer_t *buffer, const void *src,
149 int32_t num_vals, pmix_data_type_t type);
150 pmix_status_t pmix20_bfrop_pack_sizet(pmix_pointer_array_t *regtypes,
151 pmix_buffer_t *buffer, const void *src,
152 int32_t num_vals, pmix_data_type_t type);
153 pmix_status_t pmix20_bfrop_pack_pid(pmix_pointer_array_t *regtypes,
154 pmix_buffer_t *buffer, const void *src,
155 int32_t num_vals, pmix_data_type_t type);
156
157 pmix_status_t pmix20_bfrop_pack_int(pmix_pointer_array_t *regtypes,
158 pmix_buffer_t *buffer, const void *src,
159 int32_t num_vals, pmix_data_type_t type);
160 pmix_status_t pmix20_bfrop_pack_int16(pmix_pointer_array_t *regtypes,
161 pmix_buffer_t *buffer, const void *src,
162 int32_t num_vals, pmix_data_type_t type);
163 pmix_status_t pmix20_bfrop_pack_int32(pmix_pointer_array_t *regtypes,
164 pmix_buffer_t *buffer, const void *src,
165 int32_t num_vals, pmix_data_type_t type);
166 pmix_status_t pmix20_bfrop_pack_datatype(pmix_pointer_array_t *regtypes,
167 pmix_buffer_t *buffer, const void *src,
168 int32_t num_vals, pmix_data_type_t type);
169 pmix_status_t pmix20_bfrop_pack_int64(pmix_pointer_array_t *regtypes,
170 pmix_buffer_t *buffer, const void *src,
171 int32_t num_vals, pmix_data_type_t type);
172
173 pmix_status_t pmix20_bfrop_pack_float(pmix_pointer_array_t *regtypes,
174 pmix_buffer_t *buffer, const void *src,
175 int32_t num_vals, pmix_data_type_t type);
176 pmix_status_t pmix20_bfrop_pack_double(pmix_pointer_array_t *regtypes,
177 pmix_buffer_t *buffer, const void *src,
178 int32_t num_vals, pmix_data_type_t type);
179 pmix_status_t pmix20_bfrop_pack_time(pmix_pointer_array_t *regtypes,
180 pmix_buffer_t *buffer, const void *src,
181 int32_t num_vals, pmix_data_type_t type);
182 pmix_status_t pmix20_bfrop_pack_timeval(pmix_pointer_array_t *regtypes,
183 pmix_buffer_t *buffer, const void *src,
184 int32_t num_vals, pmix_data_type_t type);
185 pmix_status_t pmix20_bfrop_pack_time(pmix_pointer_array_t *regtypes,
186 pmix_buffer_t *buffer, const void *src,
187 int32_t num_vals, pmix_data_type_t type);
188 pmix_status_t pmix20_bfrop_pack_status(pmix_pointer_array_t *regtypes,
189 pmix_buffer_t *buffer, const void *src,
190 int32_t num_vals, pmix_data_type_t type);
191 pmix_status_t pmix20_bfrop_pack_value(pmix_pointer_array_t *regtypes,
192 pmix_buffer_t *buffer, const void *src,
193 int32_t num_vals, pmix_data_type_t type);
194 pmix_status_t pmix20_bfrop_pack_proc(pmix_pointer_array_t *regtypes,
195 pmix_buffer_t *buffer, const void *src,
196 int32_t num_vals, pmix_data_type_t type);
197 pmix_status_t pmix20_bfrop_pack_app(pmix_pointer_array_t *regtypes,
198 pmix_buffer_t *buffer, const void *src,
199 int32_t num_vals, pmix_data_type_t type);
200 pmix_status_t pmix20_bfrop_pack_info(pmix_pointer_array_t *regtypes,
201 pmix_buffer_t *buffer, const void *src,
202 int32_t num_vals, pmix_data_type_t type);
203 pmix_status_t pmix20_bfrop_pack_buf(pmix_pointer_array_t *regtypes,
204 pmix_buffer_t *buffer, const void *src,
205 int32_t num_vals, pmix_data_type_t type);
206 pmix_status_t pmix20_bfrop_pack_kval(pmix_pointer_array_t *regtypes,
207 pmix_buffer_t *buffer, const void *src,
208 int32_t num_vals, pmix_data_type_t type);
209 pmix_status_t pmix20_bfrop_pack_modex(pmix_pointer_array_t *regtypes,
210 pmix_buffer_t *buffer, const void *src,
211 int32_t num_vals, pmix_data_type_t type);
212 pmix_status_t pmix20_bfrop_pack_persist(pmix_pointer_array_t *regtypes,
213 pmix_buffer_t *buffer, const void *src,
214 int32_t num_vals, pmix_data_type_t type);
215 pmix_status_t pmix20_bfrop_pack_scope(pmix_pointer_array_t *regtypes,
216 pmix_buffer_t *buffer, const void *src,
217 int32_t num_vals, pmix_data_type_t type);
218 pmix_status_t pmix20_bfrop_pack_range(pmix_pointer_array_t *regtypes,
219 pmix_buffer_t *buffer, const void *src,
220 int32_t num_vals, pmix_data_type_t type);
221 pmix_status_t pmix20_bfrop_pack_cmd(pmix_pointer_array_t *regtypes,
222 pmix_buffer_t *buffer, const void *src,
223 int32_t num_vals, pmix_data_type_t type);
224 pmix_status_t pmix20_bfrop_pack_infodirs(pmix_pointer_array_t *regtypes,
225 pmix_buffer_t *buffer, const void *src,
226 int32_t num_vals, pmix_data_type_t type);
227 pmix_status_t pmix20_bfrop_pack_bo(pmix_pointer_array_t *regtypes,
228 pmix_buffer_t *buffer, const void *src,
229 int32_t num_vals, pmix_data_type_t type);
230 pmix_status_t pmix20_bfrop_pack_pdata(pmix_pointer_array_t *regtypes,
231 pmix_buffer_t *buffer, const void *src,
232 int32_t num_vals, pmix_data_type_t type);
233 pmix_status_t pmix20_bfrop_pack_ptr(pmix_pointer_array_t *regtypes,
234 pmix_buffer_t *buffer, const void *src,
235 int32_t num_vals, pmix_data_type_t type);
236 pmix_status_t pmix20_bfrop_pack_pstate(pmix_pointer_array_t *regtypes,
237 pmix_buffer_t *buffer, const void *src,
238 int32_t num_vals, pmix_data_type_t type);
239 pmix_status_t pmix20_bfrop_pack_pinfo(pmix_pointer_array_t *regtypes,
240 pmix_buffer_t *buffer, const void *src,
241 int32_t num_vals, pmix_data_type_t type);
242 pmix_status_t pmix20_bfrop_pack_darray(pmix_pointer_array_t *regtypes,
243 pmix_buffer_t *buffer, const void *src,
244 int32_t num_vals, pmix_data_type_t type);
245 pmix_status_t pmix20_bfrop_pack_query(pmix_pointer_array_t *regtypes,
246 pmix_buffer_t *buffer, const void *src,
247 int32_t num_vals, pmix_data_type_t type);
248 pmix_status_t pmix20_bfrop_pack_rank(pmix_pointer_array_t *regtypes,
249 pmix_buffer_t *buffer, const void *src,
250 int32_t num_vals, pmix_data_type_t type);
251 pmix_status_t pmix20_bfrop_pack_alloc_directive(pmix_pointer_array_t *regtypes,
252 pmix_buffer_t *buffer, const void *src,
253 int32_t num_vals, pmix_data_type_t type);
254
255 pmix_status_t pmix20_bfrop_pack_array(pmix_pointer_array_t *regtypes,
256 pmix_buffer_t *buffer, const void *src,
257 int32_t num_vals, pmix_data_type_t type);
258
259
260
261
262
263 pmix_status_t pmix20_bfrop_unpack_bool(pmix_pointer_array_t *regtypes,
264 pmix_buffer_t *buffer, void *dest,
265 int32_t *num_vals, pmix_data_type_t type);
266 pmix_status_t pmix20_bfrop_unpack_byte(pmix_pointer_array_t *regtypes,
267 pmix_buffer_t *buffer, void *dest,
268 int32_t *num_vals, pmix_data_type_t type);
269 pmix_status_t pmix20_bfrop_unpack_string(pmix_pointer_array_t *regtypes,
270 pmix_buffer_t *buffer, void *dest,
271 int32_t *num_vals, pmix_data_type_t type);
272 pmix_status_t pmix20_bfrop_unpack_sizet(pmix_pointer_array_t *regtypes,
273 pmix_buffer_t *buffer, void *dest,
274 int32_t *num_vals, pmix_data_type_t type);
275 pmix_status_t pmix20_bfrop_unpack_pid(pmix_pointer_array_t *regtypes,
276 pmix_buffer_t *buffer, void *dest,
277 int32_t *num_vals, pmix_data_type_t type);
278
279 pmix_status_t pmix20_bfrop_unpack_int(pmix_pointer_array_t *regtypes,
280 pmix_buffer_t *buffer, void *dest,
281 int32_t *num_vals, pmix_data_type_t type);
282 pmix_status_t pmix20_bfrop_unpack_int16(pmix_pointer_array_t *regtypes,
283 pmix_buffer_t *buffer, void *dest,
284 int32_t *num_vals, pmix_data_type_t type);
285 pmix_status_t pmix20_bfrop_unpack_int32(pmix_pointer_array_t *regtypes,
286 pmix_buffer_t *buffer, void *dest,
287 int32_t *num_vals, pmix_data_type_t type);
288 pmix_status_t pmix20_bfrop_unpack_datatype(pmix_pointer_array_t *regtypes,
289 pmix_buffer_t *buffer, void *dest,
290 int32_t *num_vals, pmix_data_type_t type);
291 pmix_status_t pmix20_bfrop_unpack_int64(pmix_pointer_array_t *regtypes,
292 pmix_buffer_t *buffer, void *dest,
293 int32_t *num_vals, pmix_data_type_t type);
294
295 pmix_status_t pmix20_bfrop_unpack_float(pmix_pointer_array_t *regtypes,
296 pmix_buffer_t *buffer, void *dest,
297 int32_t *num_vals, pmix_data_type_t type);
298 pmix_status_t pmix20_bfrop_unpack_double(pmix_pointer_array_t *regtypes,
299 pmix_buffer_t *buffer, void *dest,
300 int32_t *num_vals, pmix_data_type_t type);
301 pmix_status_t pmix20_bfrop_unpack_timeval(pmix_pointer_array_t *regtypes,
302 pmix_buffer_t *buffer, void *dest,
303 int32_t *num_vals, pmix_data_type_t type);
304 pmix_status_t pmix20_bfrop_unpack_time(pmix_pointer_array_t *regtypes,
305 pmix_buffer_t *buffer, void *dest,
306 int32_t *num_vals, pmix_data_type_t type);
307 pmix_status_t pmix20_bfrop_unpack_status(pmix_pointer_array_t *regtypes,
308 pmix_buffer_t *buffer, void *dest,
309 int32_t *num_vals, pmix_data_type_t type);
310 pmix_status_t pmix20_bfrop_unpack_value(pmix_pointer_array_t *regtypes,
311 pmix_buffer_t *buffer, void *dest,
312 int32_t *num_vals, pmix_data_type_t type);
313 pmix_status_t pmix20_bfrop_unpack_proc(pmix_pointer_array_t *regtypes,
314 pmix_buffer_t *buffer, void *dest,
315 int32_t *num_vals, pmix_data_type_t type);
316 pmix_status_t pmix20_bfrop_unpack_app(pmix_pointer_array_t *regtypes,
317 pmix_buffer_t *buffer, void *dest,
318 int32_t *num_vals, pmix_data_type_t type);
319 pmix_status_t pmix20_bfrop_unpack_info(pmix_pointer_array_t *regtypes,
320 pmix_buffer_t *buffer, void *dest,
321 int32_t *num_vals, pmix_data_type_t type);
322 pmix_status_t pmix20_bfrop_unpack_buf(pmix_pointer_array_t *regtypes,
323 pmix_buffer_t *buffer, void *dest,
324 int32_t *num_vals, pmix_data_type_t type);
325 pmix_status_t pmix20_bfrop_unpack_kval(pmix_pointer_array_t *regtypes,
326 pmix_buffer_t *buffer, void *dest,
327 int32_t *num_vals, pmix_data_type_t type);
328 pmix_status_t pmix20_bfrop_unpack_modex(pmix_pointer_array_t *regtypes,
329 pmix_buffer_t *buffer, void *dest,
330 int32_t *num_vals, pmix_data_type_t type);
331 pmix_status_t pmix20_bfrop_unpack_persist(pmix_pointer_array_t *regtypes,
332 pmix_buffer_t *buffer, void *dest,
333 int32_t *num_vals, pmix_data_type_t type);
334 pmix_status_t pmix20_bfrop_unpack_scope(pmix_pointer_array_t *regtypes,
335 pmix_buffer_t *buffer, void *dest,
336 int32_t *num_vals, pmix_data_type_t type);
337 pmix_status_t pmix20_bfrop_unpack_range(pmix_pointer_array_t *regtypes,
338 pmix_buffer_t *buffer, void *dest,
339 int32_t *num_vals, pmix_data_type_t type);
340 pmix_status_t pmix20_bfrop_unpack_cmd(pmix_pointer_array_t *regtypes,
341 pmix_buffer_t *buffer, void *dest,
342 int32_t *num_vals, pmix_data_type_t type);
343 pmix_status_t pmix20_bfrop_unpack_infodirs(pmix_pointer_array_t *regtypes,
344 pmix_buffer_t *buffer, void *dest,
345 int32_t *num_vals, pmix_data_type_t type);
346 pmix_status_t pmix20_bfrop_unpack_bo(pmix_pointer_array_t *regtypes,
347 pmix_buffer_t *buffer, void *dest,
348 int32_t *num_vals, pmix_data_type_t type);
349 pmix_status_t pmix20_bfrop_unpack_pdata(pmix_pointer_array_t *regtypes,
350 pmix_buffer_t *buffer, void *dest,
351 int32_t *num_vals, pmix_data_type_t type);
352 pmix_status_t pmix20_bfrop_unpack_ptr(pmix_pointer_array_t *regtypes,
353 pmix_buffer_t *buffer, void *dest,
354 int32_t *num_vals, pmix_data_type_t type);
355 pmix_status_t pmix20_bfrop_unpack_pstate(pmix_pointer_array_t *regtypes,
356 pmix_buffer_t *buffer, void *dest,
357 int32_t *num_vals, pmix_data_type_t type);
358 pmix_status_t pmix20_bfrop_unpack_pinfo(pmix_pointer_array_t *regtypes,
359 pmix_buffer_t *buffer, void *dest,
360 int32_t *num_vals, pmix_data_type_t type);
361 pmix_status_t pmix20_bfrop_unpack_darray(pmix_pointer_array_t *regtypes,
362 pmix_buffer_t *buffer, void *dest,
363 int32_t *num_vals, pmix_data_type_t type);
364 pmix_status_t pmix20_bfrop_unpack_query(pmix_pointer_array_t *regtypes,
365 pmix_buffer_t *buffer, void *dest,
366 int32_t *num_vals, pmix_data_type_t type);
367 pmix_status_t pmix20_bfrop_unpack_rank(pmix_pointer_array_t *regtypes,
368 pmix_buffer_t *buffer, void *dest,
369 int32_t *num_vals, pmix_data_type_t type);
370 pmix_status_t pmix20_bfrop_unpack_alloc_directive(pmix_pointer_array_t *regtypes,
371 pmix_buffer_t *buffer, void *dest,
372 int32_t *num_vals, pmix_data_type_t type);
373
374 pmix_status_t pmix20_bfrop_unpack_array(pmix_pointer_array_t *regtypes,
375 pmix_buffer_t *buffer, void *dest,
376 int32_t *num_vals, pmix_data_type_t type);
377
378
379
380
381
382
383 pmix_status_t pmix20_bfrop_std_copy(void **dest, void *src, pmix_data_type_t type);
384 pmix_status_t pmix20_bfrop_copy_string(char **dest, char *src, pmix_data_type_t type);
385 pmix_status_t pmix20_bfrop_copy_value(pmix_value_t **dest, pmix_value_t *src,
386 pmix_data_type_t type);
387 pmix_status_t pmix20_bfrop_copy_proc(pmix_proc_t **dest, pmix_proc_t *src,
388 pmix_data_type_t type);
389 pmix_status_t pmix20_bfrop_copy_app(pmix_app_t **dest, pmix_app_t *src,
390 pmix_data_type_t type);
391 pmix_status_t pmix20_bfrop_copy_info(pmix_info_t **dest, pmix_info_t *src,
392 pmix_data_type_t type);
393 pmix_status_t pmix20_bfrop_copy_buf(pmix_buffer_t **dest, pmix_buffer_t *src,
394 pmix_data_type_t type);
395 pmix_status_t pmix20_bfrop_copy_kval(pmix_kval_t **dest, pmix_kval_t *src,
396 pmix_data_type_t type);
397 pmix_status_t pmix20_bfrop_copy_modex(pmix_modex_data_t **dest, pmix_modex_data_t *src,
398 pmix_data_type_t type);
399 pmix_status_t pmix20_bfrop_copy_persist(pmix_persistence_t **dest, pmix_persistence_t *src,
400 pmix_data_type_t type);
401 pmix_status_t pmix20_bfrop_copy_bo(pmix_byte_object_t **dest, pmix_byte_object_t *src,
402 pmix_data_type_t type);
403 pmix_status_t pmix20_bfrop_copy_pdata(pmix_pdata_t **dest, pmix_pdata_t *src,
404 pmix_data_type_t type);
405 pmix_status_t pmix20_bfrop_copy_pinfo(pmix_proc_info_t **dest, pmix_proc_info_t *src,
406 pmix_data_type_t type);
407 pmix_status_t pmix20_bfrop_copy_darray(pmix_data_array_t **dest, pmix_data_array_t *src,
408 pmix_data_type_t type);
409 pmix_status_t pmix20_bfrop_copy_query(pmix_query_t **dest, pmix_query_t *src,
410 pmix_data_type_t type);
411
412 pmix_status_t pmix20_bfrop_copy_array(pmix_info_array_t **dest,
413 pmix_info_array_t *src,
414 pmix_data_type_t type);
415
416
417
418
419
420
421 pmix_status_t pmix20_bfrop_print_bool(char **output, char *prefix, bool *src, pmix_data_type_t type);
422 pmix_status_t pmix20_bfrop_print_byte(char **output, char *prefix, uint8_t *src, pmix_data_type_t type);
423 pmix_status_t pmix20_bfrop_print_string(char **output, char *prefix, char *src, pmix_data_type_t type);
424 pmix_status_t pmix20_bfrop_print_size(char **output, char *prefix, size_t *src, pmix_data_type_t type);
425 pmix_status_t pmix20_bfrop_print_pid(char **output, char *prefix, pid_t *src, pmix_data_type_t type);
426
427 pmix_status_t pmix20_bfrop_print_int(char **output, char *prefix, int *src, pmix_data_type_t type);
428 pmix_status_t pmix20_bfrop_print_int8(char **output, char *prefix, int8_t *src, pmix_data_type_t type);
429 pmix_status_t pmix20_bfrop_print_int16(char **output, char *prefix, int16_t *src, pmix_data_type_t type);
430 pmix_status_t pmix20_bfrop_print_int32(char **output, char *prefix, int32_t *src, pmix_data_type_t type);
431 pmix_status_t pmix20_bfrop_print_int64(char **output, char *prefix, int64_t *src, pmix_data_type_t type);
432
433 pmix_status_t pmix20_bfrop_print_uint(char **output, char *prefix, uint *src, pmix_data_type_t type);
434 pmix_status_t pmix20_bfrop_print_uint8(char **output, char *prefix, uint8_t *src, pmix_data_type_t type);
435 pmix_status_t pmix20_bfrop_print_uint16(char **output, char *prefix, uint16_t *src, pmix_data_type_t type);
436 pmix_status_t pmix20_bfrop_print_uint32(char **output, char *prefix, uint32_t *src, pmix_data_type_t type);
437 pmix_status_t pmix20_bfrop_print_uint64(char **output, char *prefix, uint64_t *src, pmix_data_type_t type);
438
439 pmix_status_t pmix20_bfrop_print_float(char **output, char *prefix, float *src, pmix_data_type_t type);
440 pmix_status_t pmix20_bfrop_print_double(char **output, char *prefix, double *src, pmix_data_type_t type);
441
442 pmix_status_t pmix20_bfrop_print_timeval(char **output, char *prefix, struct timeval *src, pmix_data_type_t type);
443 pmix_status_t pmix20_bfrop_print_time(char **output, char *prefix, time_t *src, pmix_data_type_t type);
444 pmix_status_t pmix20_bfrop_print_status(char **output, char *prefix, pmix_status_t *src, pmix_data_type_t type);
445 pmix_status_t pmix20_bfrop_print_value(char **output, char *prefix, pmix_value_t *src, pmix_data_type_t type);
446 pmix_status_t pmix20_bfrop_print_proc(char **output, char *prefix,
447 pmix_proc_t *src, pmix_data_type_t type);
448 pmix_status_t pmix20_bfrop_print_app(char **output, char *prefix,
449 pmix_app_t *src, pmix_data_type_t type);
450 pmix_status_t pmix20_bfrop_print_info(char **output, char *prefix,
451 pmix_info_t *src, pmix_data_type_t type);
452 pmix_status_t pmix20_bfrop_print_buf(char **output, char *prefix,
453 pmix_buffer_t *src, pmix_data_type_t type);
454 pmix_status_t pmix20_bfrop_print_kval(char **output, char *prefix,
455 pmix_kval_t *src, pmix_data_type_t type);
456 pmix_status_t pmix20_bfrop_print_modex(char **output, char *prefix,
457 pmix_modex_data_t *src, pmix_data_type_t type);
458 pmix_status_t pmix20_bfrop_print_persist(char **output, char *prefix,
459 pmix_persistence_t *src, pmix_data_type_t type);
460 pmix_status_t pmix20_bfrop_print_scope(char **output, char *prefix,
461 pmix_scope_t *src, pmix_data_type_t type);
462 pmix_status_t pmix20_bfrop_print_range(char **output, char *prefix,
463 pmix_data_range_t *src, pmix_data_type_t type);
464 pmix_status_t pmix20_bfrop_print_cmd(char **output, char *prefix,
465 pmix_cmd_t *src, pmix_data_type_t type);
466 pmix_status_t pmix20_bfrop_print_infodirs(char **output, char *prefix,
467 pmix_info_directives_t *src, pmix_data_type_t type);
468 pmix_status_t pmix20_bfrop_print_bo(char **output, char *prefix,
469 pmix_byte_object_t *src, pmix_data_type_t type);
470 pmix_status_t pmix20_bfrop_print_pdata(char **output, char *prefix,
471 pmix_pdata_t *src, pmix_data_type_t type);
472 pmix_status_t pmix20_bfrop_print_ptr(char **output, char *prefix,
473 void *src, pmix_data_type_t type);
474 pmix_status_t pmix20_bfrop_print_pstate(char **output, char *prefix,
475 pmix_proc_state_t *src, pmix_data_type_t type);
476 pmix_status_t pmix20_bfrop_print_pinfo(char **output, char *prefix,
477 pmix_proc_info_t *src, pmix_data_type_t type);
478 pmix_status_t pmix20_bfrop_print_darray(char **output, char *prefix,
479 pmix_data_array_t *src, pmix_data_type_t type);
480 pmix_status_t pmix20_bfrop_print_query(char **output, char *prefix,
481 pmix_query_t *src, pmix_data_type_t type);
482 pmix_status_t pmix20_bfrop_print_rank(char **output, char *prefix,
483 pmix_rank_t *src, pmix_data_type_t type);
484 pmix_status_t pmix20_bfrop_print_alloc_directive(char **output, char *prefix,
485 pmix_alloc_directive_t *src,
486 pmix_data_type_t type);
487
488 pmix_status_t pmix20_bfrop_print_array(char **output, char *prefix,
489 pmix_info_array_t *src,
490 pmix_data_type_t type);
491
492
493
494
495
496
497 pmix_status_t pmix20_bfrop_store_data_type(pmix_pointer_array_t *regtypes,
498 pmix_buffer_t *buffer, pmix_data_type_t type);
499
500 pmix_status_t pmix20_bfrop_get_data_type(pmix_pointer_array_t *regtypes,
501 pmix_buffer_t *buffer, pmix_data_type_t *type);
502
503 pmix_data_type_t pmix20_v21_to_v20_datatype(pmix_data_type_t v21type);
504
505 END_C_DECLS
506
507 #endif