Warning, file /include/pmix/src/mca/preg/preg.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef PMIX_PREG_H
0025 #define PMIX_PREG_H
0026
0027 #include "src/include/pmix_config.h"
0028
0029 #include "src/mca/base/pmix_mca_base_framework.h"
0030 #include "src/mca/base/pmix_mca_base_var.h"
0031 #include "src/mca/bfrops/bfrops_types.h"
0032 #include "src/mca/mca.h"
0033
0034 #include "src/mca/preg/preg_types.h"
0035
0036 BEGIN_C_DECLS
0037
0038
0039
0040 #define PMIX_MAX_NODE_PREFIX 50
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059 typedef pmix_status_t (*pmix_preg_base_module_generate_node_regex_fn_t)(const char *input,
0060 char **regex);
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073 typedef pmix_status_t (*pmix_preg_base_module_generate_ppn_fn_t)(const char *input, char **ppn);
0074
0075 typedef pmix_status_t (*pmix_preg_base_module_parse_nodes_fn_t)(const char *regexp, char ***names);
0076
0077 typedef pmix_status_t (*pmix_preg_base_module_parse_procs_fn_t)(const char *regexp, char ***procs);
0078
0079 typedef pmix_status_t (*pmix_preg_base_module_copy_fn_t)(char **dest, size_t *len,
0080 const char *input);
0081
0082 typedef pmix_status_t (*pmix_preg_base_module_pack_fn_t)(pmix_buffer_t *buffer, const char *regex);
0083
0084 typedef pmix_status_t (*pmix_preg_base_module_unpack_fn_t)(pmix_buffer_t *buffer, char **regex);
0085
0086 typedef pmix_status_t (*pmix_preg_base_module_release_fn_t)(char *regexp);
0087
0088
0089
0090
0091 typedef struct {
0092 char *name;
0093 pmix_preg_base_module_generate_node_regex_fn_t generate_node_regex;
0094 pmix_preg_base_module_generate_ppn_fn_t generate_ppn;
0095 pmix_preg_base_module_parse_nodes_fn_t parse_nodes;
0096 pmix_preg_base_module_parse_procs_fn_t parse_procs;
0097 pmix_preg_base_module_copy_fn_t copy;
0098 pmix_preg_base_module_pack_fn_t pack;
0099 pmix_preg_base_module_unpack_fn_t unpack;
0100 pmix_preg_base_module_release_fn_t release;
0101 } pmix_preg_module_t;
0102
0103
0104
0105 PMIX_EXPORT extern pmix_preg_module_t pmix_preg;
0106
0107
0108
0109
0110 #define PMIX_PREG_BASE_VERSION_1_0_0 PMIX_MCA_BASE_VERSION_1_0_0("preg", 1, 0, 0)
0111
0112 END_C_DECLS
0113
0114 #endif