This source file includes following definitions.
- component_register
- component_open
- component_query
- component_close
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <src/include/pmix_config.h>
30 #include "pmix_common.h"
31
32 #include "src/util/argv.h"
33 #include "src/mca/pnet/pnet.h"
34 #include "pnet_opa.h"
35
36 static pmix_status_t component_open(void);
37 static pmix_status_t component_close(void);
38 static pmix_status_t component_query(pmix_mca_base_module_t **module, int *priority);
39 static pmix_status_t component_register(void);
40
41
42
43
44
45 pmix_pnet_opa_component_t mca_pnet_opa_component = {
46 .super = {
47 .base = {
48 PMIX_PNET_BASE_VERSION_1_0_0,
49
50
51 .pmix_mca_component_name = "opa",
52 PMIX_MCA_BASE_MAKE_VERSION(component,
53 PMIX_MAJOR_VERSION,
54 PMIX_MINOR_VERSION,
55 PMIX_RELEASE_VERSION),
56
57
58 .pmix_mca_open_component = component_open,
59 .pmix_mca_close_component = component_close,
60 .pmix_mca_register_component_params = component_register,
61 .pmix_mca_query_component = component_query,
62 },
63 .data = {
64
65 PMIX_MCA_BASE_METADATA_PARAM_CHECKPOINT
66 }
67 },
68 .include = NULL,
69 .exclude = NULL,
70 .radix = 64
71 };
72
73 static pmix_status_t component_register(void)
74 {
75 pmix_mca_base_component_t *component = &mca_pnet_opa_component.super.base;
76
77 mca_pnet_opa_component.incparms = "HFI_*,PSM2_*";
78 (void)pmix_mca_base_component_var_register(component, "include_envars",
79 "Comma-delimited list of envars to harvest (\'*\' and \'?\' supported)",
80 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
81 PMIX_INFO_LVL_2,
82 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
83 &mca_pnet_opa_component.incparms);
84 if (NULL != mca_pnet_opa_component.incparms) {
85 mca_pnet_opa_component.include = pmix_argv_split(mca_pnet_opa_component.incparms, ',');
86 }
87
88 mca_pnet_opa_component.excparms = NULL;
89 (void)pmix_mca_base_component_var_register(component, "exclude_envars",
90 "Comma-delimited list of envars to exclude (\'*\' and \'?\' supported)",
91 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
92 PMIX_INFO_LVL_2,
93 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
94 &mca_pnet_opa_component.excparms);
95 if (NULL != mca_pnet_opa_component.excparms) {
96 mca_pnet_opa_component.exclude = pmix_argv_split(mca_pnet_opa_component.excparms, ',');
97 }
98
99 (void)pmix_mca_base_component_var_register(component, "radix",
100 "Radix for simulating the network coordinates",
101 PMIX_MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
102 PMIX_INFO_LVL_2,
103 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
104 &mca_pnet_opa_component.radix);
105
106 return PMIX_SUCCESS;
107 }
108
109 static pmix_status_t component_open(void)
110 {
111 return PMIX_SUCCESS;
112 }
113
114
115 static pmix_status_t component_query(pmix_mca_base_module_t **module, int *priority)
116 {
117 *priority = 10;
118 *module = (pmix_mca_base_module_t *)&pmix_opa_module;
119 return PMIX_SUCCESS;
120 }
121
122
123 static pmix_status_t component_close(void)
124 {
125 return PMIX_SUCCESS;
126 }