1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 #ifndef __INCLUDE_VPROTOCOL_BASE_H_
  15 #define __INCLUDE_VPROTOCOL_BASE_H_
  16 
  17 #include "ompi_config.h"
  18 #include "ompi/constants.h"
  19 #include "ompi/mca/mca.h"
  20 #include "ompi/mca/vprotocol/vprotocol.h"
  21 
  22 BEGIN_C_DECLS
  23 
  24 struct mca_pml_v_t {
  25     int                                 output;
  26     size_t                              host_pml_req_recv_size;
  27     size_t                              host_pml_req_send_size;
  28     mca_pml_base_component_t            host_pml_component;
  29     mca_pml_base_module_t               host_pml;
  30     ompi_request_fns_t                  host_request_fns;
  31 };
  32 typedef struct mca_pml_v_t mca_pml_v_t;
  33 
  34 OMPI_DECLSPEC extern mca_pml_v_t mca_pml_v;
  35 
  36 
  37 
  38 
  39 OMPI_DECLSPEC extern mca_base_framework_t ompi_vprotocol_base_framework;
  40 
  41 
  42 
  43 void mca_vprotocol_base_set_include_list(char *vprotocol_include_list);
  44 
  45 
  46 OMPI_DECLSPEC int mca_vprotocol_base_select(bool enable_progress_threads,
  47                                             bool enable_mpi_threads);
  48 
  49 OMPI_DECLSPEC int mca_vprotocol_base_parasite(void);
  50 
  51 OMPI_DECLSPEC extern char *mca_vprotocol_base_include_list;
  52 OMPI_DECLSPEC extern mca_vprotocol_base_component_t mca_vprotocol_component;
  53 OMPI_DECLSPEC extern mca_vprotocol_base_module_t mca_vprotocol;
  54 
  55 
  56 
  57 
  58 #define MCA_VPROTOCOL_BASE_VERSION_2_0_0 \
  59     OMPI_MCA_BASE_VERSION_2_1_0("vprotocol", 2, 0, 0)
  60 
  61 
  62 
  63 
  64 #define MCA_VPROTOCOL_BASE_VERSION_0_0_0 \
  65      \
  66     OMPI_MCA_BASE_VERSION_2_1_0("vprotocol", 0, 0, 0)
  67 
  68 #define mca_vprotocol_base_selected() (                                        \
  69     0 != mca_vprotocol_component.pmlm_version.mca_type_major_version           \
  70 )
  71 
  72 END_C_DECLS
  73 
  74 #endif