File indexing completed on 2025-02-23 10:12:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef PMIX_BFROP_BASE_H_
0028 #define PMIX_BFROP_BASE_H_
0029
0030 #include "src/include/pmix_config.h"
0031
0032 #ifdef HAVE_SYS_TIME_H
0033 # include <sys/time.h> /* for struct timeval */
0034 #endif
0035 #ifdef HAVE_STRING_H
0036 # include <string.h>
0037 #endif
0038
0039 #include "src/class/pmix_pointer_array.h"
0040 #include "src/include/pmix_globals.h"
0041 #include "src/mca/base/pmix_mca_base_framework.h"
0042 #include "src/mca/bfrops/bfrops.h"
0043 #include "src/mca/mca.h"
0044
0045 BEGIN_C_DECLS
0046
0047
0048
0049
0050 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_bfrops_base_framework;
0051
0052
0053
0054
0055
0056
0057 PMIX_EXPORT pmix_status_t pmix_bfrop_base_select(void);
0058
0059
0060
0061
0062 struct pmix_bfrops_base_active_module_t {
0063 pmix_list_item_t super;
0064 pmix_status_t pri;
0065 pmix_bfrops_module_t *module;
0066 pmix_bfrops_base_component_t *component;
0067 };
0068 typedef struct pmix_bfrops_base_active_module_t pmix_bfrops_base_active_module_t;
0069 PMIX_CLASS_DECLARATION(pmix_bfrops_base_active_module_t);
0070
0071
0072 struct pmix_bfrops_globals_t {
0073 pmix_list_t actives;
0074 bool initialized;
0075 bool selected;
0076 size_t initial_size;
0077 size_t threshold_size;
0078 pmix_bfrop_buffer_type_t default_type;
0079 };
0080 typedef struct pmix_bfrops_globals_t pmix_bfrops_globals_t;
0081
0082 PMIX_EXPORT extern pmix_bfrops_globals_t pmix_bfrops_globals;
0083
0084
0085
0086
0087 #define PMIX_BFROP_DEFAULT_INITIAL_SIZE 128
0088
0089
0090
0091
0092 #define PMIX_BFROP_DEFAULT_THRESHOLD_SIZE 1024
0093
0094
0095
0096
0097
0098 #if SIZEOF_SIZE_T == 1
0099 # define BFROP_TYPE_SIZE_T PMIX_UINT8
0100 #elif SIZEOF_SIZE_T == 2
0101 # define BFROP_TYPE_SIZE_T PMIX_UINT16
0102 #elif SIZEOF_SIZE_T == 4
0103 # define BFROP_TYPE_SIZE_T PMIX_UINT32
0104 #elif SIZEOF_SIZE_T == 8
0105 # define BFROP_TYPE_SIZE_T PMIX_UINT64
0106 #else
0107 # error Unsupported size_t size!
0108 #endif
0109
0110
0111
0112
0113
0114 #if SIZEOF__BOOL == 1
0115 # define BFROP_TYPE_BOOL PMIX_UINT8
0116 #elif SIZEOF__BOOL == 2
0117 # define BFROP_TYPE_BOOL PMIX_UINT16
0118 #elif SIZEOF__BOOL == 4
0119 # define BFROP_TYPE_BOOL PMIX_UINT32
0120 #elif SIZEOF__BOOL == 8
0121 # define BFROP_TYPE_BOOL PMIX_UINT64
0122 #else
0123 # error Unsupported bool size!
0124 #endif
0125
0126
0127
0128
0129
0130 #if SIZEOF_INT == 1
0131 # define BFROP_TYPE_INT PMIX_INT8
0132 # define BFROP_TYPE_UINT PMIX_UINT8
0133 #elif SIZEOF_INT == 2
0134 # define BFROP_TYPE_INT PMIX_INT16
0135 # define BFROP_TYPE_UINT PMIX_UINT16
0136 #elif SIZEOF_INT == 4
0137 # define BFROP_TYPE_INT PMIX_INT32
0138 # define BFROP_TYPE_UINT PMIX_UINT32
0139 #elif SIZEOF_INT == 8
0140 # define BFROP_TYPE_INT PMIX_INT64
0141 # define BFROP_TYPE_UINT PMIX_UINT64
0142 #else
0143 # error Unsupported INT size!
0144 #endif
0145
0146
0147
0148
0149
0150 #if SIZEOF_PID_T == 1
0151 # define BFROP_TYPE_PID_T PMIX_UINT8
0152 #elif SIZEOF_PID_T == 2
0153 # define BFROP_TYPE_PID_T PMIX_UINT16
0154 #elif SIZEOF_PID_T == 4
0155 # define BFROP_TYPE_PID_T PMIX_UINT32
0156 #elif SIZEOF_PID_T == 8
0157 # define BFROP_TYPE_PID_T PMIX_UINT64
0158 #else
0159 # error Unsupported pid_t size!
0160 #endif
0161
0162
0163 #define PMIX_BFROP_UNPACK_SIZE_MISMATCH(reg_types, unpack_type, remote_type, ret) \
0164 do { \
0165 switch (remote_type) { \
0166 case PMIX_UINT8: \
0167 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, uint8_t, remote_type); \
0168 break; \
0169 case PMIX_INT8: \
0170 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, int8_t, remote_type); \
0171 break; \
0172 case PMIX_UINT16: \
0173 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, uint16_t, remote_type); \
0174 break; \
0175 case PMIX_INT16: \
0176 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, int16_t, remote_type); \
0177 break; \
0178 case PMIX_UINT32: \
0179 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, uint32_t, remote_type); \
0180 break; \
0181 case PMIX_INT32: \
0182 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, int32_t, remote_type); \
0183 break; \
0184 case PMIX_UINT64: \
0185 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, uint64_t, remote_type); \
0186 break; \
0187 case PMIX_INT64: \
0188 PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, int64_t, remote_type); \
0189 break; \
0190 default: \
0191 ret = PMIX_ERR_NOT_FOUND; \
0192 } \
0193 } while (0)
0194
0195 #define PMIX_BFROPS_PACK_TYPE(r, b, s, n, t, arr) \
0196 do { \
0197 pmix_bfrop_type_info_t *__info; \
0198 \
0199 __info = (pmix_bfrop_type_info_t *) pmix_pointer_array_get_item((arr), (t)); \
0200 if (NULL == __info) { \
0201 (r) = PMIX_ERR_UNKNOWN_DATA_TYPE; \
0202 } else { \
0203 (r) = __info->odti_pack_fn(arr, b, s, n, t); \
0204 } \
0205 } while (0)
0206
0207 #define PMIX_BFROPS_UNPACK_TYPE(r, b, d, n, t, arr) \
0208 do { \
0209 pmix_bfrop_type_info_t *__info; \
0210 \
0211 __info = (pmix_bfrop_type_info_t *) pmix_pointer_array_get_item((arr), (t)); \
0212 if (NULL == __info) { \
0213 (r) = PMIX_ERR_UNKNOWN_DATA_TYPE; \
0214 } else { \
0215 (r) = __info->odti_unpack_fn(arr, b, d, n, t); \
0216 } \
0217 } while (0)
0218
0219
0220
0221
0222 #define PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND(reg_types, unpack_type, tmptype, tmpbfroptype) \
0223 do { \
0224 int32_t i; \
0225 tmptype *tmpbuf = (tmptype *) calloc(*num_vals, sizeof(tmptype)); \
0226 PMIX_BFROPS_UNPACK_TYPE(ret, buffer, tmpbuf, num_vals, tmpbfroptype, reg_types); \
0227 if (PMIX_ERR_UNKNOWN_DATA_TYPE != ret) { \
0228 for (i = 0; i < *num_vals; ++i) { \
0229 ((unpack_type *) dest)[i] = (unpack_type)(tmpbuf[i]); \
0230 } \
0231 } \
0232 free(tmpbuf); \
0233 } while (0)
0234
0235
0236 typedef struct pmix_info_array {
0237 size_t size;
0238 pmix_info_t *array;
0239 } pmix_info_array_t;
0240
0241 typedef pmix_status_t (*pmix_bfrop_internal_pack_fn_t)(pmix_pointer_array_t *regtypes,
0242 pmix_buffer_t *buffer, const void *src,
0243 int32_t num_values, pmix_data_type_t type);
0244
0245 typedef pmix_status_t (*pmix_bfrop_internal_unpack_fn_t)(pmix_pointer_array_t *regtypes,
0246 pmix_buffer_t *buffer, void *dest,
0247 int32_t *max_num_values,
0248 pmix_data_type_t type);
0249
0250
0251
0252
0253 typedef struct {
0254 pmix_object_t super;
0255
0256 pmix_data_type_t odti_type;
0257
0258 char *odti_name;
0259
0260 pmix_bfrop_internal_pack_fn_t odti_pack_fn;
0261
0262 pmix_bfrop_internal_unpack_fn_t odti_unpack_fn;
0263
0264 pmix_bfrop_copy_fn_t odti_copy_fn;
0265
0266 pmix_bfrop_print_fn_t odti_print_fn;
0267 } pmix_bfrop_type_info_t;
0268 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_bfrop_type_info_t);
0269
0270
0271
0272 #define PMIX_REGISTER_TYPE(n, t, p, u, c, pr, arr) \
0273 do { \
0274 pmix_bfrop_type_info_t *_info; \
0275 _info = PMIX_NEW(pmix_bfrop_type_info_t); \
0276 _info->odti_name = strdup((n)); \
0277 _info->odti_type = (t); \
0278 _info->odti_pack_fn = (pmix_bfrop_internal_pack_fn_t)(p); \
0279 _info->odti_unpack_fn = (pmix_bfrop_internal_unpack_fn_t)(u); \
0280 _info->odti_copy_fn = (pmix_bfrop_copy_fn_t)(c); \
0281 _info->odti_print_fn = (pmix_bfrop_print_fn_t)(pr); \
0282 pmix_pointer_array_set_item((arr), (t), _info); \
0283 } while (0)
0284
0285
0286 PMIX_EXPORT char *pmix_bfrops_stub_get_available_modules(void);
0287 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_assign_module(struct pmix_peer_t *peer,
0288 const char *version);
0289 PMIX_EXPORT pmix_buffer_t *pmix_bfrops_stub_create_buffer(struct pmix_peer_t *pr);
0290 PMIX_EXPORT void pmix_bfrops_construct_buffer(struct pmix_peer_t *pr, pmix_buffer_t *buf);
0291 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_pack(struct pmix_peer_t *peer, pmix_buffer_t *buffer,
0292 const void *src, int32_t num_values,
0293 pmix_data_type_t type);
0294 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_unpack(struct pmix_peer_t *peer, pmix_buffer_t *buffer,
0295 void *dest, int32_t *max_num_values,
0296 pmix_data_type_t type);
0297 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_copy(struct pmix_peer_t *peer, void **dest, void *src,
0298 pmix_data_type_t type);
0299 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_print(struct pmix_peer_t *peer, char **output,
0300 char *prefix, void *src, pmix_data_type_t type);
0301 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_copy_payload(struct pmix_peer_t *peer,
0302 pmix_buffer_t *dest, pmix_buffer_t *src);
0303 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_value_xfer(struct pmix_peer_t *peer, pmix_value_t *dest,
0304 const pmix_value_t *src);
0305 PMIX_EXPORT void pmix_bfrops_stub_value_load(struct pmix_peer_t *peer, pmix_value_t *v, void *data,
0306 pmix_data_type_t type);
0307 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_value_unload(struct pmix_peer_t *peer, pmix_value_t *kv,
0308 void **data, size_t *sz);
0309 PMIX_EXPORT pmix_value_cmp_t pmix_bfrops_stub_value_cmp(struct pmix_peer_t *peer, pmix_value_t *p1,
0310 pmix_value_t *p2);
0311 PMIX_EXPORT pmix_status_t pmix_bfrops_stub_register_type(
0312 struct pmix_peer_t *peer, const char *name, pmix_data_type_t type, pmix_bfrop_pack_fn_t pack,
0313 pmix_bfrop_unpack_fn_t unpack, pmix_bfrop_copy_fn_t copy, pmix_bfrop_print_fn_t print);
0314
0315
0316 PMIX_EXPORT const char *pmix_bfrops_base_data_type_string(pmix_pointer_array_t *regtypes,
0317 pmix_data_type_t type);
0318
0319
0320
0321
0322 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack(pmix_pointer_array_t *regtypes,
0323 pmix_buffer_t *buffer, const void *src,
0324 int num_vals, pmix_data_type_t type);
0325 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_buffer(pmix_pointer_array_t *regtypes,
0326 pmix_buffer_t *buffer, const void *src,
0327 int32_t num_vals, pmix_data_type_t type);
0328
0329 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_bool(pmix_pointer_array_t *regtypes,
0330 pmix_buffer_t *buffer, const void *src,
0331 int32_t num_vals, pmix_data_type_t type);
0332 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_int(pmix_pointer_array_t *regtypes,
0333 pmix_buffer_t *buffer, const void *src,
0334 int32_t num_vals, pmix_data_type_t type);
0335 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_sizet(pmix_pointer_array_t *regtypes,
0336 pmix_buffer_t *buffer, const void *src,
0337 int32_t num_vals, pmix_data_type_t type);
0338 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_byte(pmix_pointer_array_t *regtypes,
0339 pmix_buffer_t *buffer, const void *src,
0340 int32_t num_vals, pmix_data_type_t type);
0341 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_string(pmix_pointer_array_t *regtypes,
0342 pmix_buffer_t *buffer, const void *src,
0343 int32_t num_vals, pmix_data_type_t type);
0344 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_pid(pmix_pointer_array_t *regtypes,
0345 pmix_buffer_t *buffer, const void *src,
0346 int32_t num_vals, pmix_data_type_t type);
0347
0348 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_int16(pmix_pointer_array_t *regtypes,
0349 pmix_buffer_t *buffer, const void *src,
0350 int32_t num_vals, pmix_data_type_t type);
0351 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_int32(pmix_pointer_array_t *regtypes,
0352 pmix_buffer_t *buffer, const void *src,
0353 int32_t num_vals, pmix_data_type_t type);
0354 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_int64(pmix_pointer_array_t *regtypes,
0355 pmix_buffer_t *buffer, const void *src,
0356 int32_t num_vals, pmix_data_type_t type);
0357 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_string(pmix_pointer_array_t *regtypes,
0358 pmix_buffer_t *buffer, const void *src,
0359 int32_t num_vals, pmix_data_type_t type);
0360 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_float(pmix_pointer_array_t *regtypes,
0361 pmix_buffer_t *buffer, const void *src,
0362 int32_t num_vals, pmix_data_type_t type);
0363 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_double(pmix_pointer_array_t *regtypes,
0364 pmix_buffer_t *buffer, const void *src,
0365 int32_t num_vals, pmix_data_type_t type);
0366 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_timeval(pmix_pointer_array_t *regtypes,
0367 pmix_buffer_t *buffer, const void *src,
0368 int32_t num_vals, pmix_data_type_t type);
0369 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_time(pmix_pointer_array_t *regtypes,
0370 pmix_buffer_t *buffer, const void *src,
0371 int32_t num_vals, pmix_data_type_t type);
0372 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_status(pmix_pointer_array_t *regtypes,
0373 pmix_buffer_t *buffer, const void *src,
0374 int32_t num_vals, pmix_data_type_t type);
0375 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_buf(pmix_pointer_array_t *regtypes,
0376 pmix_buffer_t *buffer, const void *src,
0377 int32_t num_vals, pmix_data_type_t type);
0378 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_bo(pmix_pointer_array_t *regtypes,
0379 pmix_buffer_t *buffer, const void *src,
0380 int32_t num_vals, pmix_data_type_t type);
0381 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_proc(pmix_pointer_array_t *regtypes,
0382 pmix_buffer_t *buffer, const void *src,
0383 int32_t num_vals, pmix_data_type_t type);
0384 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_value(pmix_pointer_array_t *regtypes,
0385 pmix_buffer_t *buffer, const void *src,
0386 int32_t num_vals, pmix_data_type_t type);
0387 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_info(pmix_pointer_array_t *regtypes,
0388 pmix_buffer_t *buffer, const void *src,
0389 int32_t num_vals, pmix_data_type_t type);
0390 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_pdata(pmix_pointer_array_t *regtypes,
0391 pmix_buffer_t *buffer, const void *src,
0392 int32_t num_vals, pmix_data_type_t type);
0393 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_app(pmix_pointer_array_t *regtypes,
0394 pmix_buffer_t *buffer, const void *src,
0395 int32_t num_vals, pmix_data_type_t type);
0396 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_kval(pmix_pointer_array_t *regtypes,
0397 pmix_buffer_t *buffer, const void *src,
0398 int32_t num_vals, pmix_data_type_t type);
0399 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_array(pmix_pointer_array_t *regtypes,
0400 pmix_buffer_t *buffer, const void *src,
0401 int32_t num_vals, pmix_data_type_t type);
0402 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_modex(pmix_buffer_t *buffer, const void *src,
0403 int32_t num_vals, pmix_data_type_t type);
0404 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_persist(pmix_pointer_array_t *regtypes,
0405 pmix_buffer_t *buffer, const void *src,
0406 int32_t num_vals, pmix_data_type_t type);
0407 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_datatype(pmix_pointer_array_t *regtypes,
0408 pmix_buffer_t *buffer, const void *src,
0409 int32_t num_vals, pmix_data_type_t type);
0410 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_ptr(pmix_pointer_array_t *regtypes,
0411 pmix_buffer_t *buffer, const void *src,
0412 int32_t num_vals, pmix_data_type_t type);
0413 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_scope(pmix_pointer_array_t *regtypes,
0414 pmix_buffer_t *buffer, const void *src,
0415 int32_t num_vals, pmix_data_type_t type);
0416 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_range(pmix_pointer_array_t *regtypes,
0417 pmix_buffer_t *buffer, const void *src,
0418 int32_t num_vals, pmix_data_type_t type);
0419 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_cmd(pmix_pointer_array_t *regtypes,
0420 pmix_buffer_t *buffer, const void *src,
0421 int32_t num_vals, pmix_data_type_t type);
0422 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_info_directives(pmix_pointer_array_t *regtypes,
0423 pmix_buffer_t *buffer,
0424 const void *src, int32_t num_vals,
0425 pmix_data_type_t type);
0426 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_pstate(pmix_pointer_array_t *regtypes,
0427 pmix_buffer_t *buffer, const void *src,
0428 int32_t num_vals, pmix_data_type_t type);
0429 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_pinfo(pmix_pointer_array_t *regtypes,
0430 pmix_buffer_t *buffer, const void *src,
0431 int32_t num_vals, pmix_data_type_t type);
0432 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_darray(pmix_pointer_array_t *regtypes,
0433 pmix_buffer_t *buffer, const void *src,
0434 int32_t num_vals, pmix_data_type_t type);
0435 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_rank(pmix_pointer_array_t *regtypes,
0436 pmix_buffer_t *buffer, const void *src,
0437 int32_t num_vals, pmix_data_type_t type);
0438 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_query(pmix_pointer_array_t *regtypes,
0439 pmix_buffer_t *buffer, const void *src,
0440 int32_t num_vals, pmix_data_type_t type);
0441 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_val(pmix_pointer_array_t *regtypes,
0442 pmix_buffer_t *buffer, pmix_value_t *p);
0443 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_alloc_directive(pmix_pointer_array_t *regtypes,
0444 pmix_buffer_t *buffer,
0445 const void *src, int32_t num_vals,
0446 pmix_data_type_t type);
0447 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_iof_channel(pmix_pointer_array_t *regtypes,
0448 pmix_buffer_t *buffer, const void *src,
0449 int32_t num_vals,
0450 pmix_data_type_t type);
0451 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_envar(pmix_pointer_array_t *regtypes,
0452 pmix_buffer_t *buffer, const void *src,
0453 int32_t num_vals, pmix_data_type_t type);
0454 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_coord(pmix_pointer_array_t *regtypes,
0455 pmix_buffer_t *buffer, const void *src,
0456 int32_t num_vals, pmix_data_type_t type);
0457 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_regattr(pmix_pointer_array_t *regtypes,
0458 pmix_buffer_t *buffer, const void *src,
0459 int32_t num_vals, pmix_data_type_t type);
0460 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_regex(pmix_pointer_array_t *regtypes,
0461 pmix_buffer_t *buffer, const void *src,
0462 int32_t num_vals, pmix_data_type_t type);
0463 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_jobstate(pmix_pointer_array_t *regtypes,
0464 pmix_buffer_t *buffer, const void *src,
0465 int32_t num_vals, pmix_data_type_t type);
0466 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_linkstate(pmix_pointer_array_t *regtypes,
0467 pmix_buffer_t *buffer, const void *src,
0468 int32_t num_vals, pmix_data_type_t type);
0469 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_cpuset(pmix_pointer_array_t *regtypes,
0470 pmix_buffer_t *buffer, const void *src,
0471 int32_t num_vals, pmix_data_type_t type);
0472 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_geometry(pmix_pointer_array_t *regtypes,
0473 pmix_buffer_t *buffer, const void *src,
0474 int32_t num_vals, pmix_data_type_t type);
0475 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_devdist(pmix_pointer_array_t *regtypes,
0476 pmix_buffer_t *buffer, const void *src,
0477 int32_t num_vals, pmix_data_type_t type);
0478 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_endpoint(pmix_pointer_array_t *regtypes,
0479 pmix_buffer_t *buffer, const void *src,
0480 int32_t num_vals, pmix_data_type_t type);
0481 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_topology(pmix_pointer_array_t *regtypes,
0482 pmix_buffer_t *buffer, const void *src,
0483 int32_t num_vals, pmix_data_type_t type);
0484 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_devtype(pmix_pointer_array_t *regtypes,
0485 pmix_buffer_t *buffer, const void *src,
0486 int32_t num_vals, pmix_data_type_t type);
0487 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_locality(pmix_pointer_array_t *regtypes,
0488 pmix_buffer_t *buffer, const void *src,
0489 int32_t num_vals, pmix_data_type_t type);
0490 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_nspace(pmix_pointer_array_t *regtypes,
0491 pmix_buffer_t *buffer, const void *src,
0492 int32_t num_vals, pmix_data_type_t type);
0493 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_pstats(pmix_pointer_array_t *regtypes,
0494 pmix_buffer_t *buffer, const void *src,
0495 int32_t num_vals, pmix_data_type_t type);
0496 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_dkstats(pmix_pointer_array_t *regtypes,
0497 pmix_buffer_t *buffer, const void *src,
0498 int32_t num_vals, pmix_data_type_t type);
0499 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_netstats(pmix_pointer_array_t *regtypes,
0500 pmix_buffer_t *buffer, const void *src,
0501 int32_t num_vals, pmix_data_type_t type);
0502 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_ndstats(pmix_pointer_array_t *regtypes,
0503 pmix_buffer_t *buffer, const void *src,
0504 int32_t num_vals, pmix_data_type_t type);
0505 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_dbuf(pmix_pointer_array_t *regtypes,
0506 pmix_buffer_t *buffer, const void *src,
0507 int32_t num_vals, pmix_data_type_t type);
0508 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_smed(pmix_pointer_array_t *regtypes,
0509 pmix_buffer_t *buffer, const void *src,
0510 int32_t num_vals, pmix_data_type_t type);
0511 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_sacc(pmix_pointer_array_t *regtypes,
0512 pmix_buffer_t *buffer, const void *src,
0513 int32_t num_vals, pmix_data_type_t type);
0514 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_spers(pmix_pointer_array_t *regtypes,
0515 pmix_buffer_t *buffer, const void *src,
0516 int32_t num_vals, pmix_data_type_t type);
0517 PMIX_EXPORT pmix_status_t pmix_bfrops_base_pack_satyp(pmix_pointer_array_t *regtypes,
0518 pmix_buffer_t *buffer, const void *src,
0519 int32_t num_vals, pmix_data_type_t type);
0520
0521
0522
0523
0524 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack(pmix_pointer_array_t *regtypes,
0525 pmix_buffer_t *buffer, void *dst,
0526 int32_t *num_vals, pmix_data_type_t type);
0527
0528 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_bool(pmix_pointer_array_t *regtypes,
0529 pmix_buffer_t *buffer, void *dest,
0530 int32_t *num_vals, pmix_data_type_t type);
0531 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_byte(pmix_pointer_array_t *regtypes,
0532 pmix_buffer_t *buffer, void *dest,
0533 int32_t *num_vals, pmix_data_type_t type);
0534 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_string(pmix_pointer_array_t *regtypes,
0535 pmix_buffer_t *buffer, void *dest,
0536 int32_t *num_vals, pmix_data_type_t type);
0537 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_int(pmix_pointer_array_t *regtypes,
0538 pmix_buffer_t *buffer, void *dest,
0539 int32_t *num_vals, pmix_data_type_t type);
0540 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_sizet(pmix_pointer_array_t *regtypes,
0541 pmix_buffer_t *buffer, void *dest,
0542 int32_t *num_vals, pmix_data_type_t type);
0543 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_pid(pmix_pointer_array_t *regtypes,
0544 pmix_buffer_t *buffer, void *dest,
0545 int32_t *num_vals, pmix_data_type_t type);
0546 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_int16(pmix_pointer_array_t *regtypes,
0547 pmix_buffer_t *buffer, void *dest,
0548 int32_t *num_vals, pmix_data_type_t type);
0549 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_int32(pmix_pointer_array_t *regtypes,
0550 pmix_buffer_t *buffer, void *dest,
0551 int32_t *num_vals, pmix_data_type_t type);
0552 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_datatype(pmix_pointer_array_t *regtypes,
0553 pmix_buffer_t *buffer, void *dest,
0554 int32_t *num_vals,
0555 pmix_data_type_t type);
0556 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_int64(pmix_pointer_array_t *regtypes,
0557 pmix_buffer_t *buffer, void *dest,
0558 int32_t *num_vals, pmix_data_type_t type);
0559
0560 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_float(pmix_pointer_array_t *regtypes,
0561 pmix_buffer_t *buffer, void *dest,
0562 int32_t *num_vals, pmix_data_type_t type);
0563 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_double(pmix_pointer_array_t *regtypes,
0564 pmix_buffer_t *buffer, void *dest,
0565 int32_t *num_vals, pmix_data_type_t type);
0566 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_timeval(pmix_pointer_array_t *regtypes,
0567 pmix_buffer_t *buffer, void *dest,
0568 int32_t *num_vals, pmix_data_type_t type);
0569 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_time(pmix_pointer_array_t *regtypes,
0570 pmix_buffer_t *buffer, void *dest,
0571 int32_t *num_vals, pmix_data_type_t type);
0572 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_status(pmix_pointer_array_t *regtypes,
0573 pmix_buffer_t *buffer, void *dest,
0574 int32_t *num_vals, pmix_data_type_t type);
0575
0576 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_val(pmix_pointer_array_t *regtypes,
0577 pmix_buffer_t *buffer, pmix_value_t *val);
0578 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_value(pmix_pointer_array_t *regtypes,
0579 pmix_buffer_t *buffer, void *dest,
0580 int32_t *num_vals, pmix_data_type_t type);
0581 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_info(pmix_pointer_array_t *regtypes,
0582 pmix_buffer_t *buffer, void *dest,
0583 int32_t *num_vals, pmix_data_type_t type);
0584 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_pdata(pmix_pointer_array_t *regtypes,
0585 pmix_buffer_t *buffer, void *dest,
0586 int32_t *num_vals, pmix_data_type_t type);
0587 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_buf(pmix_pointer_array_t *regtypes,
0588 pmix_buffer_t *buffer, void *dest,
0589 int32_t *num_vals, pmix_data_type_t type);
0590 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_proc(pmix_pointer_array_t *regtypes,
0591 pmix_buffer_t *buffer, void *dest,
0592 int32_t *num_vals, pmix_data_type_t type);
0593 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_app(pmix_pointer_array_t *regtypes,
0594 pmix_buffer_t *buffer, void *dest,
0595 int32_t *num_vals, pmix_data_type_t type);
0596 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_kval(pmix_pointer_array_t *regtypes,
0597 pmix_buffer_t *buffer, void *dest,
0598 int32_t *num_vals, pmix_data_type_t type);
0599 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_modex(pmix_pointer_array_t *regtypes,
0600 pmix_buffer_t *buffer, void *dest,
0601 int32_t *num_vals, pmix_data_type_t type);
0602 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_persist(pmix_pointer_array_t *regtypes,
0603 pmix_buffer_t *buffer, void *dest,
0604 int32_t *num_vals, pmix_data_type_t type);
0605 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_bo(pmix_pointer_array_t *regtypes,
0606 pmix_buffer_t *buffer, void *dest,
0607 int32_t *num_vals, pmix_data_type_t type);
0608 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_ptr(pmix_pointer_array_t *regtypes,
0609 pmix_buffer_t *buffer, void *dest,
0610 int32_t *num_vals, pmix_data_type_t type);
0611 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_scope(pmix_pointer_array_t *regtypes,
0612 pmix_buffer_t *buffer, void *dest,
0613 int32_t *num_vals, pmix_data_type_t type);
0614 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_range(pmix_pointer_array_t *regtypes,
0615 pmix_buffer_t *buffer, void *dest,
0616 int32_t *num_vals, pmix_data_type_t type);
0617 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_cmd(pmix_pointer_array_t *regtypes,
0618 pmix_buffer_t *buffer, void *dest,
0619 int32_t *num_vals, pmix_data_type_t type);
0620 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_info_directives(pmix_pointer_array_t *regtypes,
0621 pmix_buffer_t *buffer, void *dest,
0622 int32_t *num_vals,
0623 pmix_data_type_t type);
0624 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_datatype(pmix_pointer_array_t *regtypes,
0625 pmix_buffer_t *buffer, void *dest,
0626 int32_t *num_vals,
0627 pmix_data_type_t type);
0628 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_pstate(pmix_pointer_array_t *regtypes,
0629 pmix_buffer_t *buffer, void *dest,
0630 int32_t *num_vals, pmix_data_type_t type);
0631 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_pinfo(pmix_pointer_array_t *regtypes,
0632 pmix_buffer_t *buffer, void *dest,
0633 int32_t *num_vals, pmix_data_type_t type);
0634 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_darray(pmix_pointer_array_t *regtypes,
0635 pmix_buffer_t *buffer, void *dest,
0636 int32_t *num_vals, pmix_data_type_t type);
0637 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_rank(pmix_pointer_array_t *regtypes,
0638 pmix_buffer_t *buffer, void *dest,
0639 int32_t *num_vals, pmix_data_type_t type);
0640 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_query(pmix_pointer_array_t *regtypes,
0641 pmix_buffer_t *buffer, void *dest,
0642 int32_t *num_vals, pmix_data_type_t type);
0643 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_alloc_directive(pmix_pointer_array_t *regtypes,
0644 pmix_buffer_t *buffer, void *dest,
0645 int32_t *num_vals,
0646 pmix_data_type_t type);
0647 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_iof_channel(pmix_pointer_array_t *regtypes,
0648 pmix_buffer_t *buffer, void *dest,
0649 int32_t *num_vals,
0650 pmix_data_type_t type);
0651 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_envar(pmix_pointer_array_t *regtypes,
0652 pmix_buffer_t *buffer, void *dest,
0653 int32_t *num_vals, pmix_data_type_t type);
0654 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_coord(pmix_pointer_array_t *regtypes,
0655 pmix_buffer_t *buffer, void *dest,
0656 int32_t *num_vals, pmix_data_type_t type);
0657 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_regattr(pmix_pointer_array_t *regtypes,
0658 pmix_buffer_t *buffer, void *dest,
0659 int32_t *num_vals, pmix_data_type_t type);
0660 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_regex(pmix_pointer_array_t *regtypes,
0661 pmix_buffer_t *buffer, void *dest,
0662 int32_t *num_vals, pmix_data_type_t type);
0663 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_jobstate(pmix_pointer_array_t *regtypes,
0664 pmix_buffer_t *buffer, void *dest,
0665 int32_t *num_vals,
0666 pmix_data_type_t type);
0667 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_linkstate(pmix_pointer_array_t *regtypes,
0668 pmix_buffer_t *buffer, void *dest,
0669 int32_t *num_vals,
0670 pmix_data_type_t type);
0671 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_cpuset(pmix_pointer_array_t *regtypes,
0672 pmix_buffer_t *buffer, void *dest,
0673 int32_t *num_vals, pmix_data_type_t type);
0674 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_geometry(pmix_pointer_array_t *regtypes,
0675 pmix_buffer_t *buffer, void *dest,
0676 int32_t *num_vals,
0677 pmix_data_type_t type);
0678 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_devdist(pmix_pointer_array_t *regtypes,
0679 pmix_buffer_t *buffer, void *dest,
0680 int32_t *num_vals, pmix_data_type_t type);
0681 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_endpoint(pmix_pointer_array_t *regtypes,
0682 pmix_buffer_t *buffer, void *dest,
0683 int32_t *num_vals,
0684 pmix_data_type_t type);
0685 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_topology(pmix_pointer_array_t *regtypes,
0686 pmix_buffer_t *buffer, void *dest,
0687 int32_t *num_vals,
0688 pmix_data_type_t type);
0689 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_devtype(pmix_pointer_array_t *regtypes,
0690 pmix_buffer_t *buffer, void *dest,
0691 int32_t *num_vals, pmix_data_type_t type);
0692 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_locality(pmix_pointer_array_t *regtypes,
0693 pmix_buffer_t *buffer, void *dest,
0694 int32_t *num_vals,
0695 pmix_data_type_t type);
0696 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_nspace(pmix_pointer_array_t *regtypes,
0697 pmix_buffer_t *buffer, void *dest,
0698 int32_t *num_vals, pmix_data_type_t type);
0699 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_pstats(pmix_pointer_array_t *regtypes,
0700 pmix_buffer_t *buffer, void *dest,
0701 int32_t *num_vals, pmix_data_type_t type);
0702 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_dkstats(pmix_pointer_array_t *regtypes,
0703 pmix_buffer_t *buffer, void *dest,
0704 int32_t *num_vals, pmix_data_type_t type);
0705 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_netstats(pmix_pointer_array_t *regtypes,
0706 pmix_buffer_t *buffer, void *dest,
0707 int32_t *num_vals,
0708 pmix_data_type_t type);
0709 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_ndstats(pmix_pointer_array_t *regtypes,
0710 pmix_buffer_t *buffer, void *dest,
0711 int32_t *num_vals, pmix_data_type_t type);
0712 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_dbuf(pmix_pointer_array_t *regtypes,
0713 pmix_buffer_t *buffer, void *dest,
0714 int32_t *num_vals, pmix_data_type_t type);
0715 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_smed(pmix_pointer_array_t *regtypes,
0716 pmix_buffer_t *buffer, void *dest,
0717 int32_t *num_vals, pmix_data_type_t type);
0718 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_sacc(pmix_pointer_array_t *regtypes,
0719 pmix_buffer_t *buffer, void *dest,
0720 int32_t *num_vals, pmix_data_type_t type);
0721 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_spers(pmix_pointer_array_t *regtypes,
0722 pmix_buffer_t *buffer, void *dest,
0723 int32_t *num_vals, pmix_data_type_t type);
0724 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_satyp(pmix_pointer_array_t *regtypes,
0725 pmix_buffer_t *buffer, void *dest,
0726 int32_t *num_vals, pmix_data_type_t type);
0727
0728
0729 PMIX_EXPORT pmix_status_t pmix_bfrops_base_unpack_array(pmix_pointer_array_t *regtypes,
0730 pmix_buffer_t *buffer, void *dest,
0731 int32_t *num_vals, pmix_data_type_t type);
0732
0733
0734
0735
0736 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy(pmix_pointer_array_t *regtypes, void **dest,
0737 void *src, pmix_data_type_t type);
0738 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_payload(pmix_buffer_t *dest, pmix_buffer_t *src);
0739
0740 PMIX_EXPORT pmix_status_t pmix_bfrops_base_std_copy(void **dest, void *src, pmix_data_type_t type);
0741
0742 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_string(char **dest, char *src,
0743 pmix_data_type_t type);
0744
0745 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_value(pmix_value_t **dest, pmix_value_t *src,
0746 pmix_data_type_t type);
0747 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_proc(pmix_proc_t **dest, pmix_proc_t *src,
0748 pmix_data_type_t type);
0749 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_app(pmix_app_t **dest, pmix_app_t *src,
0750 pmix_data_type_t type);
0751 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_info(pmix_info_t **dest, pmix_info_t *src,
0752 pmix_data_type_t type);
0753 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_buf(pmix_buffer_t **dest, pmix_buffer_t *src,
0754 pmix_data_type_t type);
0755 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_kval(pmix_kval_t **dest, pmix_kval_t *src,
0756 pmix_data_type_t type);
0757 PMIX_EXPORT pmix_status_t pmix_bfrop_base_copy_persist(pmix_persistence_t **dest,
0758 pmix_persistence_t *src,
0759 pmix_data_type_t type);
0760 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_bo(pmix_byte_object_t **dest,
0761 pmix_byte_object_t *src, pmix_data_type_t type);
0762 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_pdata(pmix_pdata_t **dest, pmix_pdata_t *src,
0763 pmix_data_type_t type);
0764 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_pinfo(pmix_proc_info_t **dest,
0765 pmix_proc_info_t *src, pmix_data_type_t type);
0766 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_darray(pmix_data_array_t **dest,
0767 pmix_data_array_t *src,
0768 pmix_data_type_t type);
0769 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_query(pmix_query_t **dest, pmix_query_t *src,
0770 pmix_data_type_t type);
0771 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_envar(pmix_envar_t **dest, pmix_envar_t *src,
0772 pmix_data_type_t type);
0773 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_coord(pmix_coord_t **dest, pmix_coord_t *src,
0774 pmix_data_type_t type);
0775 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_regattr(pmix_regattr_t **dest, pmix_regattr_t *src,
0776 pmix_data_type_t type);
0777 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_regex(char **dest, char *src,
0778 pmix_data_type_t type);
0779 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_cpuset(pmix_cpuset_t **dest, pmix_cpuset_t *src,
0780 pmix_data_type_t type);
0781 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_geometry(pmix_geometry_t **dest,
0782 pmix_geometry_t *src,
0783 pmix_data_type_t type);
0784 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_devdist(pmix_device_distance_t **dest,
0785 pmix_device_distance_t *src,
0786 pmix_data_type_t type);
0787 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_endpoint(pmix_endpoint_t **dest,
0788 pmix_endpoint_t *src,
0789 pmix_data_type_t type);
0790 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_topology(pmix_topology_t **dest,
0791 pmix_topology_t *src,
0792 pmix_data_type_t type);
0793 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_nspace(pmix_nspace_t **dest, pmix_nspace_t *src,
0794 pmix_data_type_t type);
0795 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_pstats(pmix_proc_stats_t **dest,
0796 pmix_proc_stats_t *src,
0797 pmix_data_type_t type);
0798 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_dkstats(pmix_disk_stats_t **dest,
0799 pmix_disk_stats_t *src,
0800 pmix_data_type_t type);
0801 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_netstats(pmix_net_stats_t **dest,
0802 pmix_net_stats_t *src,
0803 pmix_data_type_t type);
0804 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_ndstats(pmix_node_stats_t **dest,
0805 pmix_node_stats_t *src,
0806 pmix_data_type_t type);
0807 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_dbuf(pmix_data_buffer_t **dest,
0808 pmix_data_buffer_t *src,
0809 pmix_data_type_t type);
0810
0811
0812
0813
0814 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print(pmix_pointer_array_t *regtypes, char **output,
0815 char *prefix, void *src, pmix_data_type_t type);
0816 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_bool(char **output, char *prefix, bool *src,
0817 pmix_data_type_t type);
0818 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_byte(char **output, char *prefix, uint8_t *src,
0819 pmix_data_type_t type);
0820 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_string(char **output, char *prefix, char *src,
0821 pmix_data_type_t type);
0822 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_size(char **output, char *prefix, size_t *src,
0823 pmix_data_type_t type);
0824 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_pid(char **output, char *prefix, pid_t *src,
0825 pmix_data_type_t type);
0826
0827 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_int(char **output, char *prefix, int *src,
0828 pmix_data_type_t type);
0829 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_int8(char **output, char *prefix, int8_t *src,
0830 pmix_data_type_t type);
0831 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_int16(char **output, char *prefix, int16_t *src,
0832 pmix_data_type_t type);
0833 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_int32(char **output, char *prefix, int32_t *src,
0834 pmix_data_type_t type);
0835 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_int64(char **output, char *prefix, int64_t *src,
0836 pmix_data_type_t type);
0837
0838 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_uint(char **output, char *prefix, uint *src,
0839 pmix_data_type_t type);
0840 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_uint8(char **output, char *prefix, uint8_t *src,
0841 pmix_data_type_t type);
0842 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_uint16(char **output, char *prefix, uint16_t *src,
0843 pmix_data_type_t type);
0844 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_uint32(char **output, char *prefix, uint32_t *src,
0845 pmix_data_type_t type);
0846 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_uint64(char **output, char *prefix, uint64_t *src,
0847 pmix_data_type_t type);
0848
0849 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_float(char **output, char *prefix, float *src,
0850 pmix_data_type_t type);
0851 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_double(char **output, char *prefix, double *src,
0852 pmix_data_type_t type);
0853
0854 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_timeval(char **output, char *prefix,
0855 struct timeval *src,
0856 pmix_data_type_t type);
0857 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_time(char **output, char *prefix, time_t *src,
0858 pmix_data_type_t type);
0859 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_status(char **output, char *prefix,
0860 pmix_status_t *src, pmix_data_type_t type);
0861
0862 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_value(char **output, char *prefix,
0863 pmix_value_t *src, pmix_data_type_t type);
0864 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_proc(char **output, char *prefix, pmix_proc_t *src,
0865 pmix_data_type_t type);
0866 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_app(char **output, char *prefix, pmix_app_t *src,
0867 pmix_data_type_t type);
0868 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_info(char **output, char *prefix, pmix_info_t *src,
0869 pmix_data_type_t type);
0870 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_buf(char **output, char *prefix,
0871 pmix_buffer_t *src, pmix_data_type_t type);
0872 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_kval(char **output, char *prefix, pmix_kval_t *src,
0873 pmix_data_type_t type);
0874 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_persist(char **output, char *prefix,
0875 pmix_persistence_t *src,
0876 pmix_data_type_t type);
0877 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_bo(char **output, char *prefix,
0878 pmix_byte_object_t *src, pmix_data_type_t type);
0879 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_pdata(char **output, char *prefix,
0880 pmix_pdata_t *src, pmix_data_type_t type);
0881 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_ptr(char **output, char *prefix, void *src,
0882 pmix_data_type_t type);
0883 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_scope(char **output, char *prefix,
0884 pmix_scope_t *src, pmix_data_type_t type);
0885 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_range(char **output, char *prefix,
0886 pmix_data_range_t *src,
0887 pmix_data_type_t type);
0888 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_cmd(char **output, char *prefix, pmix_cmd_t *src,
0889 pmix_data_type_t type);
0890 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_info_directives(char **output, char *prefix,
0891 pmix_info_directives_t *src,
0892 pmix_data_type_t type);
0893 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_datatype(char **output, char *prefix,
0894 pmix_data_type_t *src,
0895 pmix_data_type_t type);
0896 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_pstate(char **output, char *prefix,
0897 pmix_proc_state_t *src,
0898 pmix_data_type_t type);
0899 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_pinfo(char **output, char *prefix,
0900 pmix_proc_info_t *src,
0901 pmix_data_type_t type);
0902 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_darray(char **output, char *prefix,
0903 pmix_data_array_t *src,
0904 pmix_data_type_t type);
0905 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_query(char **output, char *prefix,
0906 pmix_query_t *src, pmix_data_type_t type);
0907 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_rank(char **output, char *prefix, pmix_rank_t *src,
0908 pmix_data_type_t type);
0909 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_alloc_directive(char **output, char *prefix,
0910 pmix_alloc_directive_t *src,
0911 pmix_data_type_t type);
0912 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_iof_channel(char **output, char *prefix,
0913 pmix_iof_channel_t *src,
0914 pmix_data_type_t type);
0915 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_envar(char **output, char *prefix,
0916 pmix_envar_t *src, pmix_data_type_t type);
0917 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_coord(char **output, char *prefix,
0918 pmix_coord_t *src, pmix_data_type_t type);
0919 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_regattr(char **output, char *prefix,
0920 pmix_regattr_t *src,
0921 pmix_data_type_t type);
0922 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_regex(char **output, char *prefix, char *src,
0923 pmix_data_type_t type);
0924 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_jobstate(char **output, char *prefix,
0925 pmix_job_state_t *src,
0926 pmix_data_type_t type);
0927 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_linkstate(char **output, char *prefix,
0928 pmix_link_state_t *src,
0929 pmix_data_type_t type);
0930 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_cpuset(char **output, char *prefix,
0931 pmix_cpuset_t *src, pmix_data_type_t type);
0932 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_geometry(char **output, char *prefix,
0933 pmix_geometry_t *src,
0934 pmix_data_type_t type);
0935 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_devdist(char **output, char *prefix,
0936 pmix_device_distance_t *src,
0937 pmix_data_type_t type);
0938 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_endpoint(char **output, char *prefix,
0939 pmix_endpoint_t *src,
0940 pmix_data_type_t type);
0941 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_topology(char **output, char *prefix,
0942 pmix_topology_t *src,
0943 pmix_data_type_t type);
0944 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_devtype(char **output, char *prefix,
0945 pmix_device_type_t *src,
0946 pmix_data_type_t type);
0947 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_locality(char **output, char *prefix,
0948 pmix_locality_t *src,
0949 pmix_data_type_t type);
0950 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_nspace(char **output, char *prefix,
0951 pmix_nspace_t *src, pmix_data_type_t type);
0952 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_pstats(char **output, char *prefix,
0953 pmix_proc_stats_t *src,
0954 pmix_data_type_t type);
0955 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_dkstats(char **output, char *prefix,
0956 pmix_disk_stats_t *src,
0957 pmix_data_type_t type);
0958 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_netstats(char **output, char *prefix,
0959 pmix_net_stats_t *src,
0960 pmix_data_type_t type);
0961 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_ndstats(char **output, char *prefix,
0962 pmix_node_stats_t *src,
0963 pmix_data_type_t type);
0964 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_dbuf(char **output, char *prefix,
0965 pmix_data_buffer_t *src,
0966 pmix_data_type_t type);
0967 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_smed(char **output, char *prefix,
0968 pmix_storage_medium_t *src,
0969 pmix_data_type_t type);
0970 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_sacc(char **output, char *prefix,
0971 pmix_storage_accessibility_t *src,
0972 pmix_data_type_t type);
0973 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_spers(char **output, char *prefix,
0974 pmix_storage_persistence_t *src,
0975 pmix_data_type_t type);
0976 PMIX_EXPORT pmix_status_t pmix_bfrops_base_print_satyp(char **output, char *prefix,
0977 pmix_storage_access_type_t *src,
0978 pmix_data_type_t type);
0979
0980
0981
0982
0983
0984 PMIX_EXPORT char *pmix_bfrop_buffer_extend(pmix_buffer_t *bptr, size_t bytes_to_add);
0985
0986 PMIX_EXPORT bool pmix_bfrop_too_small(pmix_buffer_t *buffer, size_t bytes_reqd);
0987
0988 PMIX_EXPORT pmix_status_t pmix_bfrop_store_data_type(pmix_pointer_array_t *regtypes,
0989 pmix_buffer_t *buffer, pmix_data_type_t type);
0990
0991 PMIX_EXPORT pmix_status_t pmix_bfrop_get_data_type(pmix_pointer_array_t *regtypes,
0992 pmix_buffer_t *buffer, pmix_data_type_t *type);
0993
0994 PMIX_EXPORT pmix_status_t pmix_bfrops_base_copy_payload(pmix_buffer_t *dest, pmix_buffer_t *src);
0995
0996 PMIX_EXPORT pmix_status_t pmix_bfrops_base_embed_payload(pmix_buffer_t *dest, pmix_byte_object_t *src);
0997
0998 PMIX_EXPORT void pmix_bfrops_base_value_load(pmix_value_t *v, const void *data,
0999 pmix_data_type_t type);
1000
1001 PMIX_EXPORT pmix_status_t pmix_bfrops_base_value_unload(pmix_value_t *kv, void **data, size_t *sz);
1002
1003 PMIX_EXPORT pmix_status_t pmix_bfrops_base_value_xfer(pmix_value_t *p, const pmix_value_t *src);
1004
1005 PMIX_EXPORT pmix_value_cmp_t pmix_bfrops_base_value_cmp(pmix_value_t *p, pmix_value_t *p1);
1006
1007 PMIX_EXPORT void pmix_bfrops_base_value_destruct(pmix_value_t *v);
1008
1009 PMIX_EXPORT void pmix_bfrops_base_darray_destruct(pmix_data_array_t *d);
1010
1011 END_C_DECLS
1012
1013 #endif