1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 #ifndef __INCLUDE_VPROTOCOL_H_
  13 #define __INCLUDE_VPROTOCOL_H_
  14 
  15 #include "ompi_config.h"
  16 #include "ompi/mca/mca.h"
  17 #include "ompi/mca/pml/pml.h"
  18 #include "ompi/request/request.h"
  19 
  20 BEGIN_C_DECLS
  21 
  22 
  23 
  24 
  25 
  26 
  27 
  28 
  29 
  30 
  31 
  32 
  33 
  34 
  35 typedef struct mca_vprotocol_base_module_2_0_0_t *
  36     (*mca_vprotocol_base_component_init_fn_t)(int *priority,
  37                                               bool enable_progress_threads,
  38                                               bool enable_mpi_threads);
  39 
  40 
  41 
  42 typedef int (*mca_vprotocol_base_component_finalize_fn_t)(void);
  43 
  44 
  45 
  46 
  47 typedef struct mca_vprotocol_base_component_2_0_0_t {
  48     mca_base_component_t pmlm_version;
  49     mca_base_component_data_t pmlm_data;
  50     mca_vprotocol_base_component_init_fn_t pmlm_init;
  51     mca_vprotocol_base_component_finalize_fn_t pmlm_finalize;
  52 } mca_vprotocol_base_component_2_0_0_t;
  53 typedef mca_vprotocol_base_component_2_0_0_t mca_vprotocol_base_component_t;
  54 
  55 
  56 
  57 typedef struct mca_vprotocol_base_module_2_0_0_t
  58 {
  59     
  60     mca_pml_base_module_add_procs_fn_t      add_procs;
  61     mca_pml_base_module_del_procs_fn_t      del_procs;
  62     mca_pml_base_module_enable_fn_t         enable;
  63     mca_pml_base_module_progress_fn_t       progress;
  64     mca_pml_base_module_add_comm_fn_t       add_comm;
  65     mca_pml_base_module_del_comm_fn_t       del_comm;
  66     mca_pml_base_module_irecv_init_fn_t     irecv_init;
  67     mca_pml_base_module_irecv_fn_t          irecv;
  68     mca_pml_base_module_recv_fn_t           recv;
  69     mca_pml_base_module_isend_init_fn_t     isend_init;
  70     mca_pml_base_module_isend_fn_t          isend;
  71     mca_pml_base_module_send_fn_t           send;
  72     mca_pml_base_module_iprobe_fn_t         iprobe;
  73     mca_pml_base_module_probe_fn_t          probe;
  74     mca_pml_base_module_start_fn_t          start;
  75     mca_pml_base_module_dump_fn_t           dump;
  76     
  77     ompi_request_test_fn_t                  test;
  78     ompi_request_test_any_fn_t              test_any;
  79     ompi_request_test_all_fn_t              test_all;
  80     ompi_request_test_some_fn_t             test_some;
  81     ompi_request_wait_fn_t                  wait;
  82     ompi_request_wait_any_fn_t              wait_any;
  83     ompi_request_wait_all_fn_t              wait_all;
  84     ompi_request_wait_some_fn_t             wait_some;
  85 
  86     
  87     opal_class_t *                            req_recv_class;
  88     opal_class_t *                            req_send_class;
  89 } mca_vprotocol_base_module_2_0_0_t;
  90 typedef mca_vprotocol_base_module_2_0_0_t mca_vprotocol_base_module_t;
  91 
  92 END_C_DECLS
  93 
  94 
  95 
  96 
  97 #include "ompi/mca/pml/v/pml_v.h"
  98 #include "ompi/mca/vprotocol/base/base.h"
  99 
 100 #endif