Warning, file /include/pmix/src/mca/pmdl/base/base.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
0025 #ifndef PMIX_PMDL_BASE_H_
0026 #define PMIX_PMDL_BASE_H_
0027
0028 #include "src/include/pmix_config.h"
0029
0030 #ifdef HAVE_SYS_TIME_H
0031 # include <sys/time.h> /* for struct timeval */
0032 #endif
0033 #ifdef HAVE_STRING_H
0034 # include <string.h>
0035 #endif
0036
0037 #include "src/class/pmix_list.h"
0038 #include "src/class/pmix_pointer_array.h"
0039 #include "src/mca/base/pmix_mca_base_framework.h"
0040 #include "src/mca/mca.h"
0041
0042 #include "src/mca/pmdl/pmdl.h"
0043
0044 BEGIN_C_DECLS
0045
0046
0047
0048
0049 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_pmdl_base_framework;
0050
0051
0052
0053
0054
0055
0056 PMIX_EXPORT pmix_status_t pmix_pmdl_base_select(void);
0057
0058
0059
0060
0061 struct pmix_pmdl_base_active_module_t {
0062 pmix_list_item_t super;
0063 int pri;
0064 pmix_pmdl_module_t *module;
0065 pmix_pmdl_base_component_t *component;
0066 };
0067 typedef struct pmix_pmdl_base_active_module_t pmix_pmdl_base_active_module_t;
0068 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_pmdl_base_active_module_t);
0069
0070
0071 struct pmix_pmdl_globals_t {
0072 pmix_lock_t lock;
0073 pmix_list_t actives;
0074 bool initialized;
0075 bool selected;
0076 };
0077 typedef struct pmix_pmdl_globals_t pmix_pmdl_globals_t;
0078
0079 PMIX_EXPORT extern pmix_pmdl_globals_t pmix_pmdl_globals;
0080
0081 PMIX_EXPORT pmix_status_t pmix_pmdl_base_harvest_envars(char *nspace, const pmix_info_t info[],
0082 size_t ninfo, pmix_list_t *ilist);
0083 PMIX_EXPORT void pmix_pmdl_base_parse_file_envars(pmix_list_t *ilist);
0084 PMIX_EXPORT bool pmix_pmdl_base_check_prte_param(char *param);
0085 PMIX_EXPORT bool pmix_pmdl_base_check_pmix_param(char *param);
0086 PMIX_EXPORT pmix_status_t pmix_pmdl_base_setup_nspace(pmix_namespace_t *nptr, pmix_info_t *info);
0087 PMIX_EXPORT pmix_status_t pmix_pmdl_base_setup_nspace_kv(pmix_namespace_t *nptr, pmix_kval_t *kv);
0088 PMIX_EXPORT pmix_status_t pmix_pmdl_base_register_nspace(pmix_namespace_t *nptr);
0089 PMIX_EXPORT pmix_status_t pmix_pmdl_base_setup_client(pmix_namespace_t *nptr, pmix_rank_t rank,
0090 uint32_t appnum);
0091 PMIX_EXPORT pmix_status_t pmix_pmdl_base_setup_fork(const pmix_proc_t *peer, char ***env);
0092 PMIX_EXPORT void pmix_pmdl_base_deregister_nspace(const char *nptr);
0093
0094 END_C_DECLS
0095
0096 #endif