1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef PMIX_INFO_REGISTER_H
17 #define PMIX_INFO_REGISTER_H
18
19 #include "pmix_config.h"
20
21 #include "src/class/pmix_list.h"
22 #include "src/class/pmix_pointer_array.h"
23 #include "src/util/cmd_line.h"
24 #include "src/mca/base/base.h"
25
26 BEGIN_C_DECLS
27
28 PMIX_EXPORT extern const char *pmix_info_path_prefix;
29
30 PMIX_EXPORT extern const char *pmix_info_type_all;
31 PMIX_EXPORT extern const char *pmix_info_type_pmix;
32 PMIX_EXPORT extern const char *pmix_info_component_all;
33 extern const char *pmix_info_param_all;
34
35 PMIX_EXPORT extern const char *pmix_info_ver_full;
36 extern const char *pmix_info_ver_major;
37 extern const char *pmix_info_ver_minor;
38 extern const char *pmix_info_ver_release;
39 extern const char *pmix_info_ver_greek;
40 extern const char *pmix_info_ver_repo;
41
42 PMIX_EXPORT extern const char *pmix_info_ver_all;
43 extern const char *pmix_info_ver_mca;
44 extern const char *pmix_info_ver_type;
45 extern const char *pmix_info_ver_component;
46
47
48
49
50
51 typedef struct {
52 pmix_list_item_t super;
53 char *type;
54 pmix_list_t *components;
55 pmix_list_t *failed_components;
56 } pmix_info_component_map_t;
57 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_info_component_map_t);
58
59
60 PMIX_EXPORT int pmix_info_init(int argc, char **argv,
61 pmix_cmd_line_t *pmix_info_cmd_line);
62
63 PMIX_EXPORT void pmix_info_finalize(void);
64
65 PMIX_EXPORT void pmix_info_register_types(pmix_pointer_array_t *mca_types);
66
67 PMIX_EXPORT int pmix_info_register_framework_params(pmix_pointer_array_t *component_map);
68
69 PMIX_EXPORT void pmix_info_close_components(void);
70 PMIX_EXPORT void pmix_info_err_params(pmix_pointer_array_t *component_map);
71
72 PMIX_EXPORT void pmix_info_do_params(bool want_all_in, bool want_internal,
73 pmix_pointer_array_t *mca_type,
74 pmix_pointer_array_t *component_map,
75 pmix_cmd_line_t *pmix_info_cmd_line);
76
77 PMIX_EXPORT void pmix_info_show_path(const char *type, const char *value);
78
79 PMIX_EXPORT void pmix_info_do_path(bool want_all, pmix_cmd_line_t *cmd_line);
80
81 PMIX_EXPORT void pmix_info_show_mca_params(const char *type,
82 const char *component,
83 pmix_mca_base_var_info_lvl_t max_level,
84 bool want_internal);
85
86 PMIX_EXPORT void pmix_info_show_mca_version(const pmix_mca_base_component_t *component,
87 const char *scope, const char *ver_type);
88
89 PMIX_EXPORT void pmix_info_show_component_version(pmix_pointer_array_t *mca_types,
90 pmix_pointer_array_t *component_map,
91 const char *type_name,
92 const char *component_name,
93 const char *scope, const char *ver_type);
94
95 PMIX_EXPORT char *pmix_info_make_version_str(const char *scope,
96 int major, int minor, int release,
97 const char *greek,
98 const char *repo);
99
100 PMIX_EXPORT void pmix_info_show_pmix_version(const char *scope);
101
102 PMIX_EXPORT void pmix_info_do_arch(void);
103
104 PMIX_EXPORT void pmix_info_do_hostname(void);
105
106 PMIX_EXPORT void pmix_info_do_type(pmix_cmd_line_t *pmix_info_cmd_line);
107
108 PMIX_EXPORT void pmix_info_out(const char *pretty_message, const char *plain_message, const char *value);
109
110 PMIX_EXPORT void pmix_info_out_int(const char *pretty_message,
111 const char *plain_message,
112 int value);
113
114 PMIX_EXPORT int pmix_info_register_project_frameworks (const char *project_name,
115 pmix_mca_base_framework_t **frameworks,
116 pmix_pointer_array_t *component_map);
117
118 END_C_DECLS
119
120 #endif