1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef PMIX_PSEC_BASE_H_
25 #define PMIX_PSEC_BASE_H_
26
27 #include <src/include/pmix_config.h>
28
29
30 #ifdef HAVE_SYS_TIME_H
31 #include <sys/time.h>
32 #endif
33 #ifdef HAVE_STRING_H
34 #include <string.h>
35 #endif
36
37 #include "src/class/pmix_pointer_array.h"
38 #include "src/mca/mca.h"
39 #include "src/mca/base/pmix_mca_base_framework.h"
40
41 #include "src/mca/psec/psec.h"
42
43
44 BEGIN_C_DECLS
45
46
47
48
49 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_psec_base_framework;
50
51
52
53
54
55
56 PMIX_EXPORT pmix_status_t pmix_psec_base_select(void);
57
58
59
60
61 struct pmix_psec_base_active_module_t {
62 pmix_list_item_t super;
63 int pri;
64 pmix_psec_module_t *module;
65 pmix_psec_base_component_t *component;
66 };
67 typedef struct pmix_psec_base_active_module_t pmix_psec_base_active_module_t;
68 PMIX_CLASS_DECLARATION(pmix_psec_base_active_module_t);
69
70
71
72 struct pmix_psec_globals_t {
73 pmix_list_t actives;
74 bool initialized;
75 };
76 typedef struct pmix_psec_globals_t pmix_psec_globals_t;
77
78 extern pmix_psec_globals_t pmix_psec_globals;
79
80 PMIX_EXPORT char* pmix_psec_base_get_available_modules(void);
81 PMIX_EXPORT pmix_psec_module_t* pmix_psec_base_assign_module(const char *options);
82
83
84 END_C_DECLS
85
86 #endif