1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 #ifndef MCA_PLM_PRIVATE_H
  27 #define MCA_PLM_PRIVATE_H
  28 
  29 
  30 
  31 
  32 #include "orte_config.h"
  33 #include "orte/types.h"
  34 
  35 #ifdef HAVE_SYS_TIME_H
  36 #include <sys/time.h>
  37 #endif  
  38 
  39 #include "opal/class/opal_list.h"
  40 #include "opal/class/opal_pointer_array.h"
  41 #include "opal/dss/dss_types.h"
  42 
  43 #include "opal/dss/dss_types.h"
  44 #include "orte/mca/plm/plm_types.h"
  45 #include "orte/mca/rml/rml_types.h"
  46 #include "orte/mca/odls/odls_types.h"
  47 #include "orte/runtime/orte_globals.h"
  48 
  49 
  50 BEGIN_C_DECLS
  51 
  52 ORTE_DECLSPEC extern mca_base_framework_t orte_plm_base_framework;
  53 
  54 
  55 typedef struct {
  56     
  57     uint16_t next_jobid;
  58     
  59     struct timeval daemonlaunchstart;
  60     
  61     opal_buffer_t tree_spawn_cmd;
  62     
  63     bool daemon_nodes_assigned_at_launch;
  64     size_t node_regex_threshold;
  65 } orte_plm_globals_t;
  66 
  67 
  68 
  69 ORTE_DECLSPEC extern orte_plm_globals_t orte_plm_globals;
  70 
  71 
  72 
  73 
  74 
  75 ORTE_DECLSPEC int orte_plm_base_set_progress_sched(int sched);
  76 
  77 
  78 
  79 
  80 ORTE_DECLSPEC void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
  81                                                  opal_buffer_t *buffer,
  82                                                  orte_rml_tag_t tag, void *cbdata);
  83 ORTE_DECLSPEC void orte_plm_base_daemon_failed(int status, orte_process_name_t* sender,
  84                                                opal_buffer_t *buffer,
  85                                                orte_rml_tag_t tag, void *cbdata);
  86 ORTE_DECLSPEC void orte_plm_base_daemon_topology(int status, orte_process_name_t* sender,
  87                                                  opal_buffer_t *buffer,
  88                                                  orte_rml_tag_t tag, void *cbdata);
  89 
  90 ORTE_DECLSPEC int orte_plm_base_create_jobid(orte_job_t *jdata);
  91 ORTE_DECLSPEC int orte_plm_base_set_hnp_name(void);
  92 ORTE_DECLSPEC void orte_plm_base_reset_job(orte_job_t *jdata);
  93 ORTE_DECLSPEC int orte_plm_base_setup_orted_cmd(int *argc, char ***argv);
  94 ORTE_DECLSPEC void orte_plm_base_check_all_complete(int fd, short args, void *cbdata);
  95 ORTE_DECLSPEC int orte_plm_base_setup_virtual_machine(orte_job_t *jdata);
  96 
  97 
  98 
  99 
 100 ORTE_DECLSPEC int orte_plm_base_orted_exit(orte_daemon_cmd_flag_t command);
 101 ORTE_DECLSPEC int orte_plm_base_orted_terminate_job(orte_jobid_t jobid);
 102 ORTE_DECLSPEC int orte_plm_base_orted_kill_local_procs(opal_pointer_array_t *procs);
 103 ORTE_DECLSPEC int orte_plm_base_orted_signal_local_procs(orte_jobid_t job, int32_t signal);
 104 
 105 
 106 
 107 
 108 ORTE_DECLSPEC int orte_plm_base_comm_start(void);
 109 ORTE_DECLSPEC int orte_plm_base_comm_stop(void);
 110 ORTE_DECLSPEC void orte_plm_base_recv(int status, orte_process_name_t* sender,
 111                                       opal_buffer_t* buffer, orte_rml_tag_t tag,
 112                                       void* cbdata);
 113 
 114 
 115 
 116 
 117 
 118 ORTE_DECLSPEC int orte_plm_base_orted_append_basic_args(int *argc, char ***argv,
 119                                                         char *ess_module,
 120                                                         int *proc_vpid_index);
 121 
 122 
 123 
 124 
 125 
 126 ORTE_DECLSPEC int orte_plm_proxy_init(void);
 127 ORTE_DECLSPEC int orte_plm_proxy_spawn(orte_job_t *jdata);
 128 ORTE_DECLSPEC int orte_plm_proxy_finalize(void);
 129 
 130 END_C_DECLS
 131 
 132 #endif