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