File indexing completed on 2025-02-23 10:12:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef PRTE_MCA_SCHIZO_BASE_H
0017 #define PRTE_MCA_SCHIZO_BASE_H
0018
0019
0020
0021
0022 #include "prte_config.h"
0023 #include "types.h"
0024
0025 #include "src/class/pmix_list.h"
0026 #include "src/mca/base/pmix_mca_base_framework.h"
0027 #include "src/mca/mca.h"
0028 #include "src/util/pmix_cmd_line.h"
0029 #include "src/util/pmix_printf.h"
0030
0031 #include "src/runtime/prte_globals.h"
0032
0033 #include "src/mca/schizo/schizo.h"
0034
0035 BEGIN_C_DECLS
0036
0037
0038
0039
0040 PRTE_EXPORT extern pmix_mca_base_framework_t prte_schizo_base_framework;
0041
0042 PRTE_EXPORT int prte_schizo_base_select(void);
0043
0044
0045
0046
0047 typedef struct {
0048
0049 pmix_list_t active_modules;
0050 bool test_proxy_launch;
0051 } prte_schizo_base_t;
0052
0053
0054
0055
0056 PRTE_EXPORT extern prte_schizo_base_t prte_schizo_base;
0057
0058
0059
0060
0061 typedef struct {
0062 pmix_list_item_t super;
0063 int pri;
0064 prte_schizo_base_module_t *module;
0065 pmix_mca_base_component_t *component;
0066 } prte_schizo_base_active_module_t;
0067 PMIX_CLASS_DECLARATION(prte_schizo_base_active_module_t);
0068
0069 typedef struct {
0070 char *name;
0071 char **conflicts;
0072 } prte_schizo_conflicts_t;
0073
0074
0075 PRTE_EXPORT int prte_schizo_base_convert(pmix_cli_result_t *results,
0076 char *deprecated,
0077 char *key, char *option,
0078 prte_schizo_conflicts_t *conflicts,
0079 bool report);
0080
0081
0082
0083 PRTE_EXPORT prte_schizo_base_module_t *prte_schizo_base_detect_proxy(char *cmdpath);
0084
0085 PRTE_EXPORT void prte_schizo_base_root_error_msg(void);
0086 PRTE_EXPORT char *prte_schizo_base_getline(FILE *fp);
0087 PRTE_EXPORT char *prte_schizo_base_strip_quotes(char *p);
0088 PRTE_EXPORT int prte_schizo_base_parse_prte(int argc, int start, char **argv, char ***target);
0089 PRTE_EXPORT int prte_schizo_base_parse_pmix(int argc, int start, char **argv, char ***target);
0090 PRTE_EXPORT int prte_schizo_base_sanity(pmix_cli_result_t *cmd_line);
0091 PRTE_EXPORT bool prte_schizo_base_check_directives(char *directive,
0092 char **valid,
0093 char **quals,
0094 char *dir);
0095 PRTE_EXPORT bool prte_schizo_base_check_qualifiers(char *directive,
0096 char **valid,
0097 char *qual);
0098 PRTE_EXPORT bool prte_schizo_base_check_prte_param(char *param);
0099 PRTE_EXPORT bool prte_schizo_base_check_pmix_param(char *param);
0100 PRTE_EXPORT void prte_schizo_base_expose(char *param, char *prefix);
0101 PRTE_EXPORT int prte_schizo_base_add_directive(pmix_cli_result_t *results,
0102 const char *deprecated, const char *target,
0103 char *directive, bool report);
0104 PRTE_EXPORT int prte_schizo_base_add_qualifier(pmix_cli_result_t *results,
0105 char *deprecated, char *target,
0106 char *qualifier, bool report);
0107 PRTE_EXPORT int prte_schizo_base_parse_output(pmix_cli_item_t *opt, void *jinfo);
0108 PRTE_EXPORT int prte_schizo_base_parse_display(pmix_cli_item_t *opt, void *jinfo);
0109
0110 PRTE_EXPORT int prte_schizo_base_setup_fork(prte_job_t *jdata, prte_app_context_t *app);
0111
0112
0113 END_C_DECLS
0114
0115 #endif