root/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v12/internal.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* -*- C -*-
   2  *
   3  * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
   4  *                         University Research and Technology
   5  *                         Corporation.  All rights reserved.
   6  * Copyright (c) 2004-2006 The University of Tennessee and The University
   7  *                         of Tennessee Research Foundation.  All rights
   8  *                         reserved.
   9  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
  10  *                         University of Stuttgart.  All rights reserved.
  11  * Copyright (c) 2004-2005 The Regents of the University of California.
  12  *                         All rights reserved.
  13  * Copyright (c) 2012      Los Alamos National Security, Inc.  All rights reserved.
  14  * Copyright (c) 2014-2018 Intel, Inc.  All rights reserved.
  15  * Copyright (c) 2015      Research Organization for Information Science
  16  *                         and Technology (RIST). All rights reserved.
  17  * Copyright (c) 2016      IBM Corporation.  All rights reserved.
  18  * Copyright (c) 2019      Mellanox Technologies, Inc.
  19  *                         All rights reserved.
  20  * $COPYRIGHT$
  21  *
  22  * Additional copyrights may follow
  23  *
  24  * $HEADER$
  25  *
  26  */
  27 #ifndef PMIX1_BFROP_INTERNAL_H_
  28 #define PMIX1_BFROP_INTERNAL_H_
  29 
  30 #include <src/include/pmix_config.h>
  31 
  32 
  33 #ifdef HAVE_SYS_TIME_H
  34 #include <sys/time.h> /* for struct timeval */
  35 #endif
  36 #ifdef HAVE_STRING_H
  37 #include <string.h>
  38 #endif
  39 
  40 #include "src/class/pmix_pointer_array.h"
  41 
  42 #include "src/mca/bfrops/base/base.h"
  43 
  44 BEGIN_C_DECLS
  45 
  46 /* DEPRECATED data type values */
  47 #define PMIX_MODEX        29
  48 #define PMIX_INFO_ARRAY   44
  49 
  50 /****    PMIX MODEX STRUCT  -  DEPRECATED    ****/
  51 typedef struct pmix_modex_data {
  52     char nspace[PMIX_MAX_NSLEN+1];
  53     int rank;
  54     uint8_t *blob;
  55     size_t size;
  56 } pmix_modex_data_t;
  57 /* utility macros for working with pmix_modex_t structs */
  58 #define PMIX_MODEX_CREATE(m, n)                                             \
  59     do {                                                                    \
  60         (m) = (pmix_modex_data_t*)calloc((n) , sizeof(pmix_modex_data_t));  \
  61     } while (0)
  62 
  63 #define PMIX_MODEX_RELEASE(m)                   \
  64     do {                                        \
  65         PMIX_MODEX_DESTRUCT((m));               \
  66         free((m));                              \
  67         (m) = NULL;                             \
  68     } while (0)
  69 
  70 #define PMIX_MODEX_CONSTRUCT(m)                         \
  71     do {                                                \
  72         memset((m), 0, sizeof(pmix_modex_data_t));      \
  73     } while (0)
  74 
  75 #define PMIX_MODEX_DESTRUCT(m)                  \
  76     do {                                        \
  77         if (NULL != (m)->blob) {                \
  78             free((m)->blob);                    \
  79             (m)->blob = NULL;                   \
  80         }                                       \
  81     } while (0)
  82 
  83 #define PMIX_MODEX_FREE(m, n)                           \
  84     do {                                                \
  85         size_t _s;                                      \
  86         if (NULL != (m)) {                              \
  87             for (_s=0; _s < (n); _s++) {                \
  88                 PMIX_MODEX_DESTRUCT(&((m)[_s]));        \
  89             }                                           \
  90             free((m));                                  \
  91             (m) = NULL;                                 \
  92         }                                               \
  93     } while (0)
  94 
  95 /*
  96  * Implementations of API functions
  97  */
  98 
  99 pmix_status_t pmix12_bfrop_pack(pmix_buffer_t *buffer, const void *src,
 100                                int32_t num_vals,
 101                                pmix_data_type_t type);
 102 pmix_status_t pmix12_bfrop_unpack(pmix_buffer_t *buffer, void *dest,
 103                                  int32_t *max_num_vals,
 104                                  pmix_data_type_t type);
 105 
 106 pmix_status_t pmix12_bfrop_copy(void **dest, void *src, pmix_data_type_t type);
 107 
 108 pmix_status_t pmix12_bfrop_print(char **output, char *prefix, void *src, pmix_data_type_t type);
 109 
 110 pmix_status_t pmix12_bfrop_copy_payload(pmix_buffer_t *dest, pmix_buffer_t *src);
 111 
 112 pmix_status_t pmix12_bfrop_value_xfer(pmix_value_t *p, const pmix_value_t *src);
 113 
 114 void pmix12_bfrop_value_load(pmix_value_t *v, const void *data,
 115                             pmix_data_type_t type);
 116 
 117 pmix_status_t pmix12_bfrop_value_unload(pmix_value_t *kv,
 118                                        void **data,
 119                                        size_t *sz);
 120 
 121 pmix_value_cmp_t pmix12_bfrop_value_cmp(pmix_value_t *p,
 122                                        pmix_value_t *p1);
 123 
 124 /*
 125  * Specialized functions
 126  */
 127 pmix_status_t pmix12_bfrop_pack_buffer(pmix_pointer_array_t *regtypes,
 128                                        pmix_buffer_t *buffer, const void *src,
 129                                        int32_t num_vals, pmix_data_type_t type);
 130 
 131 pmix_status_t pmix12_bfrop_unpack_buffer(pmix_pointer_array_t *regtypes,
 132                                          pmix_buffer_t *buffer, void *dst,
 133                                          int32_t *num_vals, pmix_data_type_t type);
 134 
 135 /*
 136  * Internal pack functions
 137  */
 138 
 139 pmix_status_t pmix12_bfrop_pack_bool(pmix_pointer_array_t *regtypes,
 140                                      pmix_buffer_t *buffer, const void *src,
 141                                      int32_t num_vals, pmix_data_type_t type);
 142 pmix_status_t pmix12_bfrop_pack_byte(pmix_pointer_array_t *regtypes,
 143                                      pmix_buffer_t *buffer, const void *src,
 144                                      int32_t num_vals, pmix_data_type_t type);
 145 pmix_status_t pmix12_bfrop_pack_string(pmix_pointer_array_t *regtypes,
 146                                        pmix_buffer_t *buffer, const void *src,
 147                                        int32_t num_vals, pmix_data_type_t type);
 148 pmix_status_t pmix12_bfrop_pack_sizet(pmix_pointer_array_t *regtypes,
 149                                       pmix_buffer_t *buffer, const void *src,
 150                                       int32_t num_vals, pmix_data_type_t type);
 151 pmix_status_t pmix12_bfrop_pack_pid(pmix_pointer_array_t *regtypes,
 152                                     pmix_buffer_t *buffer, const void *src,
 153                                     int32_t num_vals, pmix_data_type_t type);
 154 
 155 pmix_status_t pmix12_bfrop_pack_int(pmix_pointer_array_t *regtypes,
 156                                     pmix_buffer_t *buffer, const void *src,
 157                                     int32_t num_vals, pmix_data_type_t type);
 158 pmix_status_t pmix12_bfrop_pack_int16(pmix_pointer_array_t *regtypes,
 159                                       pmix_buffer_t *buffer, const void *src,
 160                                       int32_t num_vals, pmix_data_type_t type);
 161 pmix_status_t pmix12_bfrop_pack_int32(pmix_pointer_array_t *regtypes,
 162                                       pmix_buffer_t *buffer, const void *src,
 163                                       int32_t num_vals, pmix_data_type_t type);
 164 pmix_status_t pmix12_bfrop_pack_datatype(pmix_pointer_array_t *regtypes,
 165                                          pmix_buffer_t *buffer, const void *src,
 166                                          int32_t num_vals, pmix_data_type_t type);
 167 pmix_status_t pmix12_bfrop_pack_int64(pmix_pointer_array_t *regtypes,
 168                                       pmix_buffer_t *buffer, const void *src,
 169                                       int32_t num_vals, pmix_data_type_t type);
 170 
 171 pmix_status_t pmix12_bfrop_pack_float(pmix_pointer_array_t *regtypes,
 172                                       pmix_buffer_t *buffer, const void *src,
 173                                       int32_t num_vals, pmix_data_type_t type);
 174 pmix_status_t pmix12_bfrop_pack_double(pmix_pointer_array_t *regtypes,
 175                                        pmix_buffer_t *buffer, const void *src,
 176                                        int32_t num_vals, pmix_data_type_t type);
 177 
 178 pmix_status_t pmix12_bfrop_pack_timeval(pmix_pointer_array_t *regtypes,
 179                                         pmix_buffer_t *buffer, const void *src,
 180                                         int32_t num_vals, pmix_data_type_t type);
 181 pmix_status_t pmix12_bfrop_pack_time(pmix_pointer_array_t *regtypes,
 182                                      pmix_buffer_t *buffer, const void *src,
 183                                      int32_t num_vals, pmix_data_type_t type);
 184 
 185 pmix_status_t pmix12_bfrop_pack_value(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 pmix12_bfrop_pack_array(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 pmix12_bfrop_pack_proc(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 pmix12_bfrop_pack_app(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 pmix12_bfrop_pack_info(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 pmix12_bfrop_pack_buf(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 pmix12_bfrop_pack_kval(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 pmix12_bfrop_pack_modex(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 pmix12_bfrop_pack_persist(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 pmix12_bfrop_pack_bo(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 pmix12_bfrop_pack_pdata(pmix_pointer_array_t *regtypes,
 216                                       pmix_buffer_t *buffer, const void *src,
 217                                       int32_t num_vals, pmix_data_type_t type);
 218 /* compatibility functions - no corresponding PMIx v1.x definitions */
 219 pmix_status_t pmix12_bfrop_pack_ptr(pmix_pointer_array_t *regtypes,
 220                                     pmix_buffer_t *buffer, const void *src,
 221                                     int32_t num_vals, pmix_data_type_t type);
 222 pmix_status_t pmix12_bfrop_pack_scope(pmix_pointer_array_t *regtypes,
 223                                       pmix_buffer_t *buffer, const void *src,
 224                                       int32_t num_vals, pmix_data_type_t type);
 225 pmix_status_t pmix12_bfrop_pack_status(pmix_pointer_array_t *regtypes,
 226                                        pmix_buffer_t *buffer, const void *src,
 227                                        int32_t num_vals, pmix_data_type_t type);
 228 pmix_status_t pmix12_bfrop_pack_range(pmix_pointer_array_t *regtypes,
 229                                       pmix_buffer_t *buffer, const void *src,
 230                                       int32_t num_vals, pmix_data_type_t type);
 231 pmix_status_t pmix12_bfrop_pack_cmd(pmix_pointer_array_t *regtypes,
 232                                     pmix_buffer_t *buffer, const void *src,
 233                                     int32_t num_vals, pmix_data_type_t type);
 234 pmix_status_t pmix12_bfrop_pack_info_directives(pmix_pointer_array_t *regtypes,
 235                                                 pmix_buffer_t *buffer, const void *src,
 236                                                 int32_t num_vals, pmix_data_type_t type);
 237 pmix_status_t pmix12_bfrop_pack_proc_state(pmix_pointer_array_t *regtypes,
 238                                            pmix_buffer_t *buffer, const void *src,
 239                                            int32_t num_vals, pmix_data_type_t type);
 240 pmix_status_t pmix12_bfrop_pack_darray(pmix_pointer_array_t *regtypes,
 241                                        pmix_buffer_t *buffer, const void *src,
 242                                        int32_t num_vals, pmix_data_type_t type);
 243 pmix_status_t pmix12_bfrop_pack_proc_info(pmix_pointer_array_t *regtypes,
 244                                           pmix_buffer_t *buffer, const void *src,
 245                                           int32_t num_vals, pmix_data_type_t type);
 246 pmix_status_t pmix12_bfrop_pack_query(pmix_pointer_array_t *regtypes,
 247                                       pmix_buffer_t *buffer, const void *src,
 248                                       int32_t num_vals, pmix_data_type_t type);
 249 pmix_status_t pmix12_bfrop_pack_rank(pmix_pointer_array_t *regtypes,
 250                                      pmix_buffer_t *buffer, const void *src,
 251                                      int32_t num_vals, pmix_data_type_t type);
 252 
 253 
 254 /*
 255  * Internal unpack functions
 256  */
 257 pmix_status_t pmix12_bfrop_unpack_bool(pmix_pointer_array_t *regtypes,
 258                                        pmix_buffer_t *buffer, void *dest,
 259                                        int32_t *num_vals, pmix_data_type_t type);
 260 pmix_status_t pmix12_bfrop_unpack_byte(pmix_pointer_array_t *regtypes,
 261                                        pmix_buffer_t *buffer, void *dest,
 262                                        int32_t *num_vals, pmix_data_type_t type);
 263 pmix_status_t pmix12_bfrop_unpack_string(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 pmix12_bfrop_unpack_sizet(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 pmix12_bfrop_unpack_pid(pmix_pointer_array_t *regtypes,
 270                                       pmix_buffer_t *buffer, void *dest,
 271                                       int32_t *num_vals, pmix_data_type_t type);
 272 
 273 pmix_status_t pmix12_bfrop_unpack_int(pmix_pointer_array_t *regtypes,
 274                                       pmix_buffer_t *buffer, void *dest,
 275                                       int32_t *num_vals, pmix_data_type_t type);
 276 pmix_status_t pmix12_bfrop_unpack_int16(pmix_pointer_array_t *regtypes,
 277                                         pmix_buffer_t *buffer, void *dest,
 278                                         int32_t *num_vals, pmix_data_type_t type);
 279 pmix_status_t pmix12_bfrop_unpack_int32(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 pmix12_bfrop_unpack_datatype(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 pmix12_bfrop_unpack_int64(pmix_pointer_array_t *regtypes,
 286                                         pmix_buffer_t *buffer, void *dest,
 287                                         int32_t *num_vals, pmix_data_type_t type);
 288 
 289 pmix_status_t pmix12_bfrop_unpack_float(pmix_pointer_array_t *regtypes,
 290                                         pmix_buffer_t *buffer, void *dest,
 291                                         int32_t *num_vals, pmix_data_type_t type);
 292 pmix_status_t pmix12_bfrop_unpack_double(pmix_pointer_array_t *regtypes,
 293                                          pmix_buffer_t *buffer, void *dest,
 294                                          int32_t *num_vals, pmix_data_type_t type);
 295 
 296 pmix_status_t pmix12_bfrop_unpack_timeval(pmix_pointer_array_t *regtypes,
 297                                           pmix_buffer_t *buffer, void *dest,
 298                                           int32_t *num_vals, pmix_data_type_t type);
 299 pmix_status_t pmix12_bfrop_unpack_time(pmix_pointer_array_t *regtypes,
 300                                        pmix_buffer_t *buffer, void *dest,
 301                                        int32_t *num_vals, pmix_data_type_t type);
 302 
 303 pmix_status_t pmix12_bfrop_unpack_value(pmix_pointer_array_t *regtypes,
 304                                         pmix_buffer_t *buffer, void *dest,
 305                                         int32_t *num_vals, pmix_data_type_t type);
 306 pmix_status_t pmix12_bfrop_unpack_array(pmix_pointer_array_t *regtypes,
 307                                         pmix_buffer_t *buffer, void *dest,
 308                                         int32_t *num_vals, pmix_data_type_t type);
 309 pmix_status_t pmix12_bfrop_unpack_proc(pmix_pointer_array_t *regtypes,
 310                                        pmix_buffer_t *buffer, void *dest,
 311                                        int32_t *num_vals, pmix_data_type_t type);
 312 pmix_status_t pmix12_bfrop_unpack_app(pmix_pointer_array_t *regtypes,
 313                                       pmix_buffer_t *buffer, void *dest,
 314                                       int32_t *num_vals, pmix_data_type_t type);
 315 pmix_status_t pmix12_bfrop_unpack_info(pmix_pointer_array_t *regtypes,
 316                                        pmix_buffer_t *buffer, void *dest,
 317                                        int32_t *num_vals, pmix_data_type_t type);
 318 pmix_status_t pmix12_bfrop_unpack_buf(pmix_pointer_array_t *regtypes,
 319                                       pmix_buffer_t *buffer, void *dest,
 320                                       int32_t *num_vals, pmix_data_type_t type);
 321 pmix_status_t pmix12_bfrop_unpack_kval(pmix_pointer_array_t *regtypes,
 322                                        pmix_buffer_t *buffer, void *dest,
 323                                        int32_t *num_vals, pmix_data_type_t type);
 324 pmix_status_t pmix12_bfrop_unpack_modex(pmix_pointer_array_t *regtypes,
 325                                         pmix_buffer_t *buffer, void *dest,
 326                                         int32_t *num_vals, pmix_data_type_t type);
 327 pmix_status_t pmix12_bfrop_unpack_persist(pmix_pointer_array_t *regtypes,
 328                                           pmix_buffer_t *buffer, void *dest,
 329                                           int32_t *num_vals, pmix_data_type_t type);
 330 pmix_status_t pmix12_bfrop_unpack_bo(pmix_pointer_array_t *regtypes,
 331                                      pmix_buffer_t *buffer, void *dest,
 332                                      int32_t *num_vals, pmix_data_type_t type);
 333 pmix_status_t pmix12_bfrop_unpack_pdata(pmix_pointer_array_t *regtypes,
 334                                         pmix_buffer_t *buffer, void *dest,
 335                                         int32_t *num_vals, pmix_data_type_t type);
 336 /* compatibility functions - no corresponding PMIx v1.x definitions */
 337 pmix_status_t pmix12_bfrop_unpack_ptr(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 pmix12_bfrop_unpack_scope(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 pmix12_bfrop_unpack_status(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 pmix12_bfrop_unpack_range(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 pmix12_bfrop_unpack_cmd(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 pmix12_bfrop_unpack_info_directives(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 pmix12_bfrop_unpack_proc_state(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 pmix12_bfrop_unpack_darray(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 pmix12_bfrop_unpack_proc_info(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 pmix12_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 pmix12_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 
 371 
 372 /*
 373  * Internal copy functions
 374  */
 375 
 376 pmix_status_t pmix12_bfrop_std_copy(void **dest, void *src, pmix_data_type_t type);
 377 
 378 pmix_status_t pmix12_bfrop_copy_string(char **dest, char *src, pmix_data_type_t type);
 379 
 380 pmix_status_t pmix12_bfrop_copy_value(pmix_value_t **dest, pmix_value_t *src,
 381                                      pmix_data_type_t type);
 382 pmix_status_t pmix12_bfrop_copy_array(pmix_info_array_t **dest, pmix_info_array_t *src,
 383                                      pmix_data_type_t type);
 384 pmix_status_t pmix12_bfrop_copy_proc(pmix_proc_t **dest, pmix_proc_t *src,
 385                                     pmix_data_type_t type);
 386 pmix_status_t pmix12_bfrop_copy_app(pmix_app_t **dest, pmix_app_t *src,
 387                                    pmix_data_type_t type);
 388 pmix_status_t pmix12_bfrop_copy_info(pmix_info_t **dest, pmix_info_t *src,
 389                                     pmix_data_type_t type);
 390 pmix_status_t pmix12_bfrop_copy_buf(pmix_buffer_t **dest, pmix_buffer_t *src,
 391                                    pmix_data_type_t type);
 392 pmix_status_t pmix12_bfrop_copy_kval(pmix_kval_t **dest, pmix_kval_t *src,
 393                                     pmix_data_type_t type);
 394 pmix_status_t pmix12_bfrop_copy_modex(pmix_modex_data_t **dest, pmix_modex_data_t *src,
 395                                      pmix_data_type_t type);
 396 pmix_status_t pmix12_bfrop_copy_persist(pmix_persistence_t **dest, pmix_persistence_t *src,
 397                                        pmix_data_type_t type);
 398 pmix_status_t pmix12_bfrop_copy_bo(pmix_byte_object_t **dest, pmix_byte_object_t *src,
 399                                   pmix_data_type_t type);
 400 pmix_status_t pmix12_bfrop_copy_pdata(pmix_pdata_t **dest, pmix_pdata_t *src,
 401                                      pmix_data_type_t type);
 402 /* compatibility functions - no corresponding PMIx v1.x definitions */
 403 pmix_status_t pmix12_bfrop_copy_darray(pmix_pdata_t **dest, pmix_data_array_t *src,
 404                                       pmix_data_type_t type);
 405 pmix_status_t pmix12_bfrop_copy_proc_info(pmix_pdata_t **dest, pmix_proc_info_t *src,
 406                                       pmix_data_type_t type);
 407 pmix_status_t pmix12_bfrop_copy_query(pmix_pdata_t **dest, pmix_query_t *src,
 408                                       pmix_data_type_t type);
 409 
 410 
 411 /*
 412  * Internal print functions
 413  */
 414 pmix_status_t pmix12_bfrop_print_bool(char **output, char *prefix, bool *src, pmix_data_type_t type);
 415 pmix_status_t pmix12_bfrop_print_byte(char **output, char *prefix, uint8_t *src, pmix_data_type_t type);
 416 pmix_status_t pmix12_bfrop_print_string(char **output, char *prefix, char *src, pmix_data_type_t type);
 417 pmix_status_t pmix12_bfrop_print_size(char **output, char *prefix, size_t *src, pmix_data_type_t type);
 418 pmix_status_t pmix12_bfrop_print_pid(char **output, char *prefix, pid_t *src, pmix_data_type_t type);
 419 
 420 pmix_status_t pmix12_bfrop_print_int(char **output, char *prefix, int *src, pmix_data_type_t type);
 421 pmix_status_t pmix12_bfrop_print_int8(char **output, char *prefix, int8_t *src, pmix_data_type_t type);
 422 pmix_status_t pmix12_bfrop_print_int16(char **output, char *prefix, int16_t *src, pmix_data_type_t type);
 423 pmix_status_t pmix12_bfrop_print_int32(char **output, char *prefix, int32_t *src, pmix_data_type_t type);
 424 pmix_status_t pmix12_bfrop_print_int64(char **output, char *prefix, int64_t *src, pmix_data_type_t type);
 425 
 426 pmix_status_t pmix12_bfrop_print_uint(char **output, char *prefix, uint *src, pmix_data_type_t type);
 427 pmix_status_t pmix12_bfrop_print_uint8(char **output, char *prefix, uint8_t *src, pmix_data_type_t type);
 428 pmix_status_t pmix12_bfrop_print_uint16(char **output, char *prefix, uint16_t *src, pmix_data_type_t type);
 429 pmix_status_t pmix12_bfrop_print_uint32(char **output, char *prefix, uint32_t *src, pmix_data_type_t type);
 430 pmix_status_t pmix12_bfrop_print_uint64(char **output, char *prefix, uint64_t *src, pmix_data_type_t type);
 431 
 432 pmix_status_t pmix12_bfrop_print_float(char **output, char *prefix, float *src, pmix_data_type_t type);
 433 pmix_status_t pmix12_bfrop_print_double(char **output, char *prefix, double *src, pmix_data_type_t type);
 434 
 435 pmix_status_t pmix12_bfrop_print_timeval(char **output, char *prefix, struct timeval *src, pmix_data_type_t type);
 436 pmix_status_t pmix12_bfrop_print_time(char **output, char *prefix, time_t *src, pmix_data_type_t type);
 437 
 438 pmix_status_t pmix12_bfrop_print_value(char **output, char *prefix, pmix_value_t *src, pmix_data_type_t type);
 439 pmix_status_t pmix12_bfrop_print_array(char **output, char *prefix,
 440                                       pmix_info_array_t *src, pmix_data_type_t type);
 441 pmix_status_t pmix12_bfrop_print_proc(char **output, char *prefix,
 442                                      pmix_proc_t *src, pmix_data_type_t type);
 443 pmix_status_t pmix12_bfrop_print_app(char **output, char *prefix,
 444                                     pmix_app_t *src, pmix_data_type_t type);
 445 pmix_status_t pmix12_bfrop_print_info(char **output, char *prefix,
 446                                      pmix_info_t *src, pmix_data_type_t type);
 447 pmix_status_t pmix12_bfrop_print_buf(char **output, char *prefix,
 448                                     pmix_buffer_t *src, pmix_data_type_t type);
 449 pmix_status_t pmix12_bfrop_print_kval(char **output, char *prefix,
 450                                      pmix_kval_t *src, pmix_data_type_t type);
 451 pmix_status_t pmix12_bfrop_print_modex(char **output, char *prefix,
 452                                       pmix_modex_data_t *src, pmix_data_type_t type);
 453 pmix_status_t pmix12_bfrop_print_persist(char **output, char *prefix,
 454                                         pmix_persistence_t *src, pmix_data_type_t type);
 455 pmix_status_t pmix12_bfrop_print_bo(char **output, char *prefix,
 456                                    pmix_byte_object_t *src, pmix_data_type_t type);
 457 pmix_status_t pmix12_bfrop_print_pdata(char **output, char *prefix,
 458                                       pmix_pdata_t *src, pmix_data_type_t type);
 459 /* compatibility functions - no corresponding PMIx v1.x definitions */
 460 pmix_status_t pmix12_bfrop_print_scope(char **output, char *prefix,
 461                                       pmix_scope_t *src, pmix_data_type_t type);
 462 pmix_status_t pmix12_bfrop_print_status(char **output, char *prefix,
 463                                        pmix_status_t *src, pmix_data_type_t type);
 464 pmix_status_t pmix12_bfrop_print_ptr(char **output, char *prefix,
 465                                     void *src, pmix_data_type_t type);
 466 pmix_status_t pmix12_bfrop_print_cmd(char **output, char *prefix,
 467                                     void *src, pmix_data_type_t type);
 468 pmix_status_t pmix12_bfrop_print_info_directives(char **output, char *prefix,
 469                                                 void *src, pmix_data_type_t type);
 470 pmix_status_t pmix12_bfrop_print_datatype(char **output, char *prefix,
 471                                          pmix_data_type_t *src, pmix_data_type_t type);
 472 pmix_status_t pmix12_bfrop_print_proc_state(char **output, char *prefix,
 473                                            pmix_data_type_t *src, pmix_data_type_t type);
 474 pmix_status_t pmix12_bfrop_print_darray(char **output, char *prefix,
 475                                        pmix_data_array_t *src, pmix_data_type_t type);
 476 pmix_status_t pmix12_bfrop_print_proc_info(char **output, char *prefix,
 477                                           pmix_proc_info_t *src, pmix_data_type_t type);
 478 pmix_status_t pmix12_bfrop_print_query(char **output, char *prefix,
 479                                       pmix_query_t *src, pmix_data_type_t type);
 480 pmix_status_t pmix12_bfrop_print_rank(char **output, char *prefix,
 481                                      pmix_rank_t *src, pmix_data_type_t type);
 482 
 483 
 484 /*
 485  * Internal helper functions
 486  */
 487 pmix_status_t pmix12_bfrop_store_data_type(pmix_pointer_array_t *regtypes,
 488                                           pmix_buffer_t *buffer,
 489                                           pmix_data_type_t type);
 490 
 491 pmix_status_t pmix12_bfrop_get_data_type(pmix_pointer_array_t *regtypes,
 492                                          pmix_buffer_t *buffer, pmix_data_type_t *type);
 493 
 494 int pmix12_v2_to_v1_datatype(pmix_data_type_t v2type);
 495 
 496 pmix_data_type_t pmix12_v1_to_v2_datatype(int v1type);
 497 
 498 END_C_DECLS
 499 
 500 #endif

/* [<][>][^][v][top][bottom][index][help] */