root/orte/mca/rtc/base/base.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2014-2018 Intel, Inc.  All rights reserved.
   3  * $COPYRIGHT$
   4  *
   5  * Additional copyrights may follow
   6  *
   7  * $HEADER$
   8  */
   9 /** @file:
  10  * rtc framework base functionality.
  11  */
  12 
  13 #ifndef ORTE_MCA_RTC_BASE_H
  14 #define ORTE_MCA_RTC_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/mca/rtc/rtc.h"
  27 
  28 BEGIN_C_DECLS
  29 
  30 /*
  31  * MCA Framework
  32  */
  33 ORTE_DECLSPEC extern mca_base_framework_t orte_rtc_base_framework;
  34 /* select a component */
  35 ORTE_DECLSPEC    int orte_rtc_base_select(void);
  36 
  37 /*
  38  * Global functions for MCA overall collective open and close
  39  */
  40 
  41 /**
  42  * Struct to hold data global to the rtc framework
  43  */
  44 typedef struct {
  45     /* list of selected modules */
  46     opal_list_t actives;
  47 } orte_rtc_base_t;
  48 
  49 /**
  50  * Global instance of rtc-wide framework data
  51  */
  52 ORTE_DECLSPEC extern orte_rtc_base_t orte_rtc_base;
  53 
  54 /**
  55  * Select an rtc component / module
  56  */
  57 typedef struct {
  58     opal_list_item_t super;
  59     int pri;
  60     orte_rtc_base_module_t *module;
  61     mca_base_component_t *component;
  62 } orte_rtc_base_selected_module_t;
  63 OBJ_CLASS_DECLARATION(orte_rtc_base_selected_module_t);
  64 
  65 ORTE_DECLSPEC void orte_rtc_base_assign(orte_job_t *jdata);
  66 ORTE_DECLSPEC void orte_rtc_base_set(orte_job_t *jdata, orte_proc_t *proc,
  67                                      char ***env, int error_fd);
  68 ORTE_DECLSPEC void orte_rtc_base_get_avail_vals(opal_list_t *vals);
  69 
  70 /* Called from the child to send a warning show_help message up the
  71    pipe to the waiting parent. */
  72 ORTE_DECLSPEC int orte_rtc_base_send_warn_show_help(int fd, const char *file,
  73                                                     const char *topic, ...);
  74 
  75 /* Called from the child to send an error message up the pipe to the
  76    waiting parent. */
  77 ORTE_DECLSPEC void orte_rtc_base_send_error_show_help(int fd, int exit_status,
  78                                                       const char *file,
  79                                                       const char *topic, ...);
  80 
  81 
  82 END_C_DECLS
  83 
  84 #endif

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