File indexing completed on 2026-05-10 08:48:09
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef PMIX_INFO_REGISTER_H
0017 #define PMIX_INFO_REGISTER_H
0018
0019 #include "src/include/pmix_config.h"
0020
0021 #include "src/class/pmix_list.h"
0022 #include "src/class/pmix_pointer_array.h"
0023 #include "src/mca/base/pmix_base.h"
0024 #include "src/mca/pinstalldirs/pinstalldirs_types.h"
0025 #include "src/util/pmix_cmd_line.h"
0026
0027 BEGIN_C_DECLS
0028
0029 PMIX_EXPORT extern const char *pmix_info_path_prefix;
0030
0031 PMIX_EXPORT extern const char *pmix_info_type_all;
0032 PMIX_EXPORT extern const char *pmix_info_type_pmix;
0033 PMIX_EXPORT extern const char *pmix_info_component_all;
0034 extern const char *pmix_info_param_all;
0035
0036 PMIX_EXPORT extern const char *pmix_info_ver_full;
0037 extern const char *pmix_info_ver_major;
0038 extern const char *pmix_info_ver_minor;
0039 extern const char *pmix_info_ver_release;
0040 extern const char *pmix_info_ver_greek;
0041 extern const char *pmix_info_ver_repo;
0042
0043 PMIX_EXPORT extern const char *pmix_info_ver_all;
0044 extern const char *pmix_info_ver_mca;
0045 extern const char *pmix_info_ver_type;
0046 extern const char *pmix_info_ver_component;
0047
0048 PMIX_EXPORT extern bool pmix_info_color;
0049 PMIX_EXPORT extern bool pmix_info_pretty;
0050 PMIX_EXPORT extern pmix_mca_base_register_flag_t pmix_info_register_flags;
0051
0052
0053
0054
0055
0056 typedef struct {
0057 pmix_list_item_t super;
0058 char *project;
0059 char *type;
0060 pmix_list_t *components;
0061 pmix_list_t *failed_components;
0062 } pmix_info_component_map_t;
0063 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_info_component_map_t);
0064
0065 PMIX_EXPORT int pmix_info_init(int argc, char **argv,
0066 pmix_cli_result_t *pmix_info_cmd_line,
0067 struct option poptions[], char *pshorts,
0068 char *helpfile);
0069
0070 PMIX_EXPORT void pmix_info_finalize(void);
0071
0072 PMIX_EXPORT void pmix_info_register_types(pmix_pointer_array_t *mca_types,
0073 bool frames_only);
0074
0075 PMIX_EXPORT int pmix_info_register_framework_params(pmix_pointer_array_t *component_map);
0076
0077 PMIX_EXPORT void pmix_info_close_components(void);
0078 PMIX_EXPORT void pmix_info_err_params(pmix_pointer_array_t *component_map);
0079
0080 PMIX_EXPORT void pmix_info_show_package(char *pkgstring);
0081 PMIX_EXPORT void pmix_info_show_pmix_package(void);
0082
0083 PMIX_EXPORT void pmix_info_do_pmix_config(bool want_all);
0084
0085 PMIX_EXPORT void pmix_info_do_config(bool want_all, char *user, char *date, char *host,
0086 char *cli, char *builduser, char *builddate,
0087 char *buildhost, char *ccline, char *ccabs,
0088 char *family, char *versionstr, char *cflags,
0089 char *ldflags, char *libs, bool enabledebug,
0090 bool havedl, bool havevi);
0091
0092 PMIX_EXPORT void pmix_info_do_params(const char *project,
0093 bool want_all_in, bool want_internal,
0094 pmix_pointer_array_t *mca_type,
0095 pmix_pointer_array_t *component_map,
0096 pmix_cli_result_t *pmix_info_cmd_line);
0097
0098 PMIX_EXPORT void pmix_info_show_path(const char *type, const char *value);
0099 PMIX_EXPORT void pmix_info_show_pmix_path(void);
0100
0101 PMIX_EXPORT void pmix_info_do_path(bool want_all, pmix_cli_result_t *cmd_line,
0102 pmix_pinstall_dirs_t *dirs);
0103 PMIX_EXPORT void pmix_info_do_pmix_path(bool wall, pmix_cli_result_t *cmd_line);
0104
0105 PMIX_EXPORT void pmix_info_show_mca_params(const char *type, const char *component,
0106 bool want_internal);
0107
0108 PMIX_EXPORT void pmix_info_show_mca_version(const pmix_mca_base_component_t *component,
0109 const char *scope, const char *ver_type);
0110
0111 PMIX_EXPORT void pmix_info_show_component_version(const char *project,
0112 pmix_pointer_array_t *mca_types,
0113 pmix_pointer_array_t *component_map,
0114 const char *type_name,
0115 const char *component_name, const char *scope,
0116 const char *ver_type);
0117
0118 PMIX_EXPORT char *pmix_info_make_version_str(const char *scope, int major, int minor, int release,
0119 const char *greek, const char *repo);
0120
0121 PMIX_EXPORT void pmix_info_show_version(const char *project, const char *scope, int major, int minor,
0122 int release, const char *greek, const char *repo,
0123 const char *rdate);
0124
0125 PMIX_EXPORT void pmix_info_show_pmix_version(void);
0126
0127 PMIX_EXPORT void pmix_info_do_arch(void);
0128
0129 PMIX_EXPORT void pmix_info_do_hostname(void);
0130
0131 PMIX_EXPORT void pmix_info_do_type(pmix_cli_result_t *pmix_info_cmd_line);
0132
0133 PMIX_EXPORT void pmix_info_out(const char *pretty_message, const char *plain_message,
0134 const char *value);
0135
0136 PMIX_EXPORT void pmix_info_out_int(const char *pretty_message, const char *plain_message,
0137 int value);
0138
0139 PMIX_EXPORT int pmix_info_register_project_frameworks(const char *project_name,
0140 pmix_mca_base_framework_t **frameworks,
0141 pmix_pointer_array_t *component_map);
0142
0143 END_C_DECLS
0144
0145 #endif