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