OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

base.h
1 /*
2 * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
3 * All rights reserved.
4 * Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
5 * $COPYRIGHT$
6 *
7 * Additional copyrights may follow
8 *
9 * $HEADER$
10 */
11
12 #ifndef __INCLUDE_VPROTOCOL_BASE_H_
13 #define __INCLUDE_VPROTOCOL_BASE_H_
14
15 #include "ompi_config.h"
16 #include "ompi/constants.h"
17 #include "opal/mca/mca.h"
18 #include "ompi/mca/vprotocol/vprotocol.h"
19
20 BEGIN_C_DECLS
21
22 struct mca_pml_v_t {
23 int output;
24 size_t host_pml_req_recv_size;
25 size_t host_pml_req_send_size;
26 mca_pml_base_component_t host_pml_component;
27 mca_pml_base_module_t host_pml;
28 ompi_request_fns_t host_request_fns;
29 };
30 typedef struct mca_pml_v_t mca_pml_v_t;
31
32 OMPI_DECLSPEC extern mca_pml_v_t mca_pml_v;
33
34 OMPI_DECLSPEC int mca_vprotocol_base_open(char *vprotocol_include_list);
35 OMPI_DECLSPEC int mca_vprotocol_base_select(bool enable_progress_threads,
36 bool enable_mpi_threads);
37 OMPI_DECLSPEC int mca_vprotocol_base_parasite(void);
38 OMPI_DECLSPEC int mca_vprotocol_base_close(void);
39
40 OMPI_DECLSPEC extern char *mca_vprotocol_base_include_list;
41 OMPI_DECLSPEC extern opal_list_t mca_vprotocol_base_components_available;
42 OMPI_DECLSPEC extern mca_vprotocol_base_component_t mca_vprotocol_component;
43 OMPI_DECLSPEC extern mca_vprotocol_base_module_t mca_vprotocol;
44
45
46 /* Macro for use in components that are of type vprotocol
47 */
48 #define MCA_VPROTOCOL_BASE_VERSION_2_0_0 \
49 MCA_BASE_VERSION_2_0_0, \
50 "vprotocol", 2, 0, 0
51
52 /* Macro to mark an invalid component version (0.0.0). Any component showing
53 * that version number will be ignored.
54 */
55 #define MCA_VPROTOCOL_BASE_VERSION_0_0_0 \
56 /* vprotocol v0.0 is chained to MCA v2.0 */ \
57 MCA_BASE_VERSION_2_0_0, \
58 /* vprotocol v0.0 */ \
59 "vprotocol", 0, 0, 0
60
61 #define mca_vprotocol_base_selected() ( \
62 0 != mca_vprotocol_component.pmlm_version.mca_type_major_version \
63 )
64
65 END_C_DECLS
66
67 #endif /* __INCLUDE_VPROTOCOL_BASE_H_ */
mca_vprotocol_base_component_2_0_0_t
Definition: vprotocol.h:47
mca_pml_v_t
Definition: base.h:22
mca_pml_base_component_2_0_0_t
PML component version and interface functions.
Definition: pml.h:131
mca.h
Top-level interface for all MCA components.
mca_vprotocol_base_module_2_0_0_t
Definition: vprotocol.h:57
mca_pml_base_module_1_0_0_t
PML instance.
Definition: pml.h:512
opal_list_t
Definition: opal_list.h:147
ompi_request_fns_t
Replaceable request functions.
Definition: request.h:313