root/orte/mca/schizo/base/base.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2015-2018 Intel, Inc.  All rights reserved.
   3  * $COPYRIGHT$
   4  *
   5  * Additional copyrights may follow
   6  *
   7  * $HEADER$
   8  */
   9 /** @file:
  10  * schizo framework base functionality.
  11  */
  12 
  13 #ifndef ORTE_MCA_SCHIZO_BASE_H
  14 #define ORTE_MCA_SCHIZO_BASE_H
  15 
  16 /*
  17  * includes
  18  */
  19 #include "orte_config.h"
  20 #include "orte/types.h"
  21 
  22 #include "opal/class/opal_list.h"
  23 #include "opal/util/printf.h"
  24 #include "orte/mca/mca.h"
  25 
  26 #include "orte/runtime/orte_globals.h"
  27 
  28 #include "orte/mca/schizo/schizo.h"
  29 
  30 BEGIN_C_DECLS
  31 
  32 /*
  33  * MCA Framework
  34  */
  35 ORTE_DECLSPEC extern mca_base_framework_t orte_schizo_base_framework;
  36 /* select all components */
  37 ORTE_DECLSPEC    int orte_schizo_base_select(void);
  38 
  39 /**
  40  * Struct to hold data global to the schizo framework
  41  */
  42 typedef struct {
  43     /* list of active modules */
  44     opal_list_t active_modules;
  45     char **personalities;
  46 } orte_schizo_base_t;
  47 
  48 /**
  49  * Global instance of schizo-wide framework data
  50  */
  51 ORTE_DECLSPEC extern orte_schizo_base_t orte_schizo_base;
  52 
  53 /**
  54  * Active schizo component / module
  55  */
  56 typedef struct {
  57     opal_list_item_t super;
  58     int pri;
  59     orte_schizo_base_module_t *module;
  60     mca_base_component_t *component;
  61 } orte_schizo_base_active_module_t;
  62 OBJ_CLASS_DECLARATION(orte_schizo_base_active_module_t);
  63 
  64 /* the base stub functions */
  65 ORTE_DECLSPEC const char* orte_schizo_base_print_env(orte_schizo_launch_environ_t env);
  66 ORTE_DECLSPEC int orte_schizo_base_define_cli(opal_cmd_line_t *cli);
  67 ORTE_DECLSPEC int orte_schizo_base_parse_cli(int argc, int start, char **argv);
  68 ORTE_DECLSPEC int orte_schizo_base_parse_env(char *path,
  69                                              opal_cmd_line_t *cmd_line,
  70                                              char **srcenv,
  71                                              char ***dstenv);
  72 ORTE_DECLSPEC int orte_schizo_base_setup_app(orte_app_context_t *app);
  73 ORTE_DECLSPEC int orte_schizo_base_setup_fork(orte_job_t *jdata,
  74                                               orte_app_context_t *context);
  75 ORTE_DECLSPEC int orte_schizo_base_setup_child(orte_job_t *jobdat,
  76                                                orte_proc_t *child,
  77                                                orte_app_context_t *app,
  78                                                char ***env);
  79 ORTE_DECLSPEC orte_schizo_launch_environ_t orte_schizo_base_check_launch_environment(void);
  80 ORTE_DECLSPEC int orte_schizo_base_get_remaining_time(uint32_t *timeleft);
  81 ORTE_DECLSPEC void orte_schizo_base_finalize(void);
  82 
  83 END_C_DECLS
  84 
  85 #endif

/* [<][>][^][v][top][bottom][index][help] */