This source file includes following definitions.
- pdlopen_component_register
- pdlopen_component_open
- pdlopen_component_close
- pdlopen_component_query
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <src/include/pmix_config.h>
14
15 #include "pmix_common.h"
16 #include "src/mca/pdl/pdl.h"
17 #include "src/util/argv.h"
18
19 #include "pdl_pdlopen.h"
20
21
22
23
24
25 const char *pmix_pdl_pdlopen_component_version_string =
26 "PMIX pdl pdlopen MCA component version " PMIX_VERSION;
27
28
29
30
31
32 static int pdlopen_component_register(void);
33 static int pdlopen_component_open(void);
34 static int pdlopen_component_close(void);
35 static int pdlopen_component_query(pmix_mca_base_module_t **module, int *priority);
36
37
38
39
40
41
42 pmix_pdl_pdlopen_component_t mca_pdl_pdlopen_component = {
43
44
45 .base = {
46
47
48
49 .base_version = {
50 PMIX_PDL_BASE_VERSION_1_0_0,
51
52
53 .pmix_mca_component_name = "pdlopen",
54 PMIX_MCA_BASE_MAKE_VERSION(component, PMIX_MAJOR_VERSION, PMIX_MINOR_VERSION,
55 PMIX_RELEASE_VERSION),
56
57
58 .pmix_mca_register_component_params = pdlopen_component_register,
59 .pmix_mca_open_component = pdlopen_component_open,
60 .pmix_mca_close_component = pdlopen_component_close,
61 .pmix_mca_query_component = pdlopen_component_query,
62 },
63
64 .base_data = {
65
66 PMIX_MCA_BASE_METADATA_PARAM_CHECKPOINT
67 },
68
69
70 .priority = 80
71 },
72 };
73
74
75 static int pdlopen_component_register(void)
76 {
77 int ret;
78
79 mca_pdl_pdlopen_component.filename_suffixes_mca_storage = ".so,.dylib,.dll,.sl";
80 ret =
81 pmix_mca_base_component_var_register(&mca_pdl_pdlopen_component.base.base_version,
82 "filename_suffixes",
83 "Comma-delimited list of filename suffixes that the pdlopen component will try",
84 PMIX_MCA_BASE_VAR_TYPE_STRING,
85 NULL,
86 0,
87 PMIX_MCA_BASE_VAR_FLAG_SETTABLE,
88 PMIX_INFO_LVL_5,
89 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
90 &mca_pdl_pdlopen_component.filename_suffixes_mca_storage);
91 if (ret < 0) {
92 return ret;
93 }
94 mca_pdl_pdlopen_component.filename_suffixes =
95 pmix_argv_split(mca_pdl_pdlopen_component.filename_suffixes_mca_storage,
96 ',');
97
98 return PMIX_SUCCESS;
99 }
100
101 static int pdlopen_component_open(void)
102 {
103 return PMIX_SUCCESS;
104 }
105
106
107 static int pdlopen_component_close(void)
108 {
109 if (NULL != mca_pdl_pdlopen_component.filename_suffixes) {
110 pmix_argv_free(mca_pdl_pdlopen_component.filename_suffixes);
111 mca_pdl_pdlopen_component.filename_suffixes = NULL;
112 }
113
114 return PMIX_SUCCESS;
115 }
116
117
118 static int pdlopen_component_query(pmix_mca_base_module_t **module, int *priority)
119 {
120
121
122
123 *priority = mca_pdl_pdlopen_component.base.priority;
124 *module = &pmix_pdl_pdlopen_module.super;
125
126 return PMIX_SUCCESS;
127 }