root/opal/mca/pmix/pmix4x/pmix/src/mca/bfrops/v20/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 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> /* for struct timeval */
  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 /* DEPRECATED data type values */
  48 #define PMIX_MODEX        29
  49 #define PMIX_INFO_ARRAY   44
  50 
  51 /****    PMIX MODEX STRUCT  -  DEPRECATED    ****/
  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 /* utility macros for working with pmix_modex_t structs */
  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  * Implementations of API functions
  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  * Specialized functions
 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  * Internal pack functions
 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 /**** DEPRECATED ****/
 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  * Internal unpack functions
 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 /**** DEPRECATED ****/
 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  * Internal copy functions
 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 /**** DEPRECATED ****/
 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  * Internal print functions
 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 /**** DEPRECATED ****/
 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  * Internal helper functions
 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

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