1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #ifndef MCA_BTL_BASE_H
  24 #define MCA_BTL_BASE_H
  25 
  26 #include "opal_config.h"
  27 #include "opal/class/opal_list.h"
  28 #include "opal/mca/mca.h"
  29 #include "opal/mca/btl/btl.h"
  30 
  31 BEGIN_C_DECLS
  32 
  33 struct mca_btl_base_selected_module_t {
  34   opal_list_item_t super;
  35   mca_btl_base_component_t *btl_component;
  36   mca_btl_base_module_t *btl_module;
  37 };
  38 typedef struct mca_btl_base_selected_module_t mca_btl_base_selected_module_t;
  39 
  40 
  41 
  42 
  43 
  44 struct mca_btl_base_recv_reg_t {
  45     mca_btl_base_module_recv_cb_fn_t cbfunc;
  46     void* cbdata;
  47 };
  48 typedef struct mca_btl_base_recv_reg_t mca_btl_base_recv_reg_t;
  49 
  50 
  51 OPAL_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_base_selected_module_t);
  52 
  53 
  54 
  55 
  56 
  57 OPAL_DECLSPEC  int mca_btl_base_select(bool enable_progress_threads, bool enable_mpi_threads);
  58 OPAL_DECLSPEC  void mca_btl_base_dump(
  59     struct mca_btl_base_module_t*,
  60     struct mca_btl_base_endpoint_t*,
  61     int verbose);
  62 OPAL_DECLSPEC  int mca_btl_base_param_register(mca_base_component_t *version,
  63         mca_btl_base_module_t *module);
  64 OPAL_DECLSPEC  int mca_btl_base_param_verify(mca_btl_base_module_t *module);
  65 
  66 
  67 
  68 
  69 extern char* mca_btl_base_include;
  70 extern char* mca_btl_base_exclude;
  71 extern int mca_btl_base_warn_component_unused;
  72 extern int mca_btl_base_already_opened;
  73 OPAL_DECLSPEC extern opal_list_t mca_btl_base_modules_initialized;
  74 OPAL_DECLSPEC extern bool mca_btl_base_thread_multiple_override;
  75 
  76 OPAL_DECLSPEC extern mca_base_framework_t opal_btl_base_framework;
  77 
  78 extern mca_base_var_enum_flag_t *mca_btl_base_flag_enum;
  79 extern mca_base_var_enum_flag_t *mca_btl_base_atomic_enum;
  80 
  81 END_C_DECLS
  82 
  83 #endif