File indexing completed on 2025-02-22 10:47:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef PRTE_MCA_SCHIZO_H
0027 #define PRTE_MCA_SCHIZO_H
0028
0029 #include "prte_config.h"
0030 #include "types.h"
0031
0032 #include "src/class/pmix_list.h"
0033 #include "src/hwloc/hwloc-internal.h"
0034 #include "src/mca/rmaps/rmaps_types.h"
0035 #include "src/pmix/pmix-internal.h"
0036 #include "src/util/pmix_cmd_line.h"
0037
0038 #include "src/mca/mca.h"
0039
0040 #include "src/runtime/prte_globals.h"
0041
0042 BEGIN_C_DECLS
0043
0044 typedef int (*prte_schizo_convertor_fn_t)(char *option, char ***argv, int idx);
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 typedef int (*prte_schizo_base_module_init_fn_t)(void);
0058
0059
0060 typedef int (*prte_schizo_base_module_parse_cli_fn_t)(char **argv,
0061 pmix_cli_result_t *results,
0062 bool silent);
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072 typedef int (*prte_schizo_base_detect_proxy_fn_t)(char *cmdpath);
0073
0074
0075
0076
0077 typedef int (*prte_schizo_base_module_parse_env_fn_t)(char **srcenv,
0078 char ***dstenv,
0079 pmix_cli_result_t *cli);
0080
0081
0082 typedef void (*prte_schizo_base_module_allow_run_as_root_fn_t)(pmix_cli_result_t *results);
0083
0084
0085 typedef int (*prte_schizo_base_module_set_default_mapping_fn_t)(prte_job_t *jdata,
0086 prte_rmaps_options_t *options);
0087
0088 typedef int (*prte_schizo_base_module_set_default_ranking_fn_t)(prte_job_t *jdata,
0089 prte_rmaps_options_t *options);
0090
0091 typedef int (*prte_schizo_base_module_set_default_binding_fn_t)(prte_job_t *jdata,
0092 prte_rmaps_options_t *options);
0093
0094 typedef int (*prte_schizo_base_module_set_default_rto_fn_t)(prte_job_t *jdata,
0095 prte_rmaps_options_t *options);
0096
0097
0098
0099
0100
0101
0102
0103 typedef int (*prte_schizo_base_module_setup_app_fn_t)(prte_pmix_app_t *app);
0104
0105
0106
0107 typedef int (*prte_schizo_base_module_setup_fork_fn_t)(prte_job_t *jdata,
0108 prte_app_context_t *context);
0109
0110
0111 typedef void (*prte_schizo_base_module_finalize_fn_t)(void);
0112
0113
0114 typedef void (*prte_schizo_base_module_job_info_fn_t)(pmix_cli_result_t *results,
0115 void *jobinfo);
0116
0117
0118 typedef int (*prte_schizo_base_module_check_sanity_fn_t)(pmix_cli_result_t *cmd_line);
0119
0120
0121
0122
0123 typedef struct {
0124 char *name;
0125 prte_schizo_base_module_init_fn_t init;
0126 prte_schizo_base_module_parse_cli_fn_t parse_cli;
0127 prte_schizo_base_module_parse_env_fn_t parse_env;
0128 prte_schizo_base_detect_proxy_fn_t detect_proxy;
0129 prte_schizo_base_module_allow_run_as_root_fn_t allow_run_as_root;
0130 prte_schizo_base_module_set_default_mapping_fn_t set_default_mapping;
0131 prte_schizo_base_module_set_default_ranking_fn_t set_default_ranking;
0132 prte_schizo_base_module_set_default_binding_fn_t set_default_binding;
0133 prte_schizo_base_module_set_default_rto_fn_t set_default_rto;
0134 prte_schizo_base_module_setup_app_fn_t setup_app;
0135 prte_schizo_base_module_setup_fork_fn_t setup_fork;
0136 prte_schizo_base_module_job_info_fn_t job_info;
0137 prte_schizo_base_module_check_sanity_fn_t check_sanity;
0138 prte_schizo_base_module_finalize_fn_t finalize;
0139 } prte_schizo_base_module_t;
0140
0141
0142
0143
0144
0145
0146
0147
0148 typedef pmix_mca_base_component_t prte_schizo_base_component_t;
0149
0150
0151
0152
0153 #define PRTE_MCA_SCHIZO_BASE_VERSION_1_0_0 PRTE_MCA_BASE_VERSION_3_0_0("schizo", 1, 0, 0)
0154
0155 END_C_DECLS
0156
0157 #endif