root/opal/mca/pmix/pmix4x/pmix/src/mca/psquash/base/base.h

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

INCLUDED FROM


   1 /* -*- C -*-
   2  *
   3  * Copyright (c) 2019      IBM Corporation.  All rights reserved.
   4  * Copyright (c) 2019      Mellanox Technologies, Inc.
   5  *                         All rights reserved.
   6  *
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  12  *
  13  */
  14 #ifndef PMIX_PSQUASH_BASE_H_
  15 #define PMIX_PSQUASH_BASE_H_
  16 
  17 #include <src/include/pmix_config.h>
  18 
  19 #ifdef HAVE_STRING_H
  20 #include <string.h>
  21 #endif
  22 
  23 #include "src/class/pmix_pointer_array.h"
  24 #include "src/mca/mca.h"
  25 #include "src/mca/base/pmix_mca_base_framework.h"
  26 
  27 #include "src/mca/psquash/psquash.h"
  28 
  29 
  30 BEGIN_C_DECLS
  31 
  32 /**
  33  * Sizeof by PMIx type integer values.
  34  *
  35  * r - return status code
  36  * t - type (pmix_data_type_t) of integer value
  37  * s - size of type in bytes
  38  * (see a comment to `pmix_bfrops_pack_flex` for additional details)
  39  */
  40 #define PMIX_SQUASH_TYPE_SIZEOF(r, t, s)                    \
  41 do {                                                        \
  42     (r) = PMIX_SUCCESS;                                     \
  43     switch (t) {                                            \
  44         case PMIX_INT16:                                    \
  45         case PMIX_UINT16:                                   \
  46             (s) = SIZEOF_SHORT;                             \
  47             break;                                          \
  48         case PMIX_INT:                                      \
  49         case PMIX_INT32:                                    \
  50         case PMIX_UINT:                                     \
  51         case PMIX_UINT32:                                   \
  52             (s) = SIZEOF_INT;                               \
  53             break;                                          \
  54         case PMIX_INT64:                                    \
  55         case PMIX_UINT64:                                   \
  56             (s) = SIZEOF_LONG;                              \
  57             break;                                          \
  58         case PMIX_SIZE:                                     \
  59             (s) = SIZEOF_SIZE_T;                            \
  60             break;                                          \
  61         default:                                            \
  62             (r) = PMIX_ERR_BAD_PARAM;                       \
  63     }                                                       \
  64 } while (0)
  65 
  66 
  67 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_psquash_base_framework;
  68 
  69 PMIX_EXPORT pmix_status_t pmix_psquash_base_select(void);
  70 
  71 END_C_DECLS
  72 
  73 #endif

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