root/orte/mca/iof/base/iof_base_setup.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2005 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2008      Cisco Systems, Inc.  All rights reserved.
  13  * Copyright (c) 2016-2017 Intel, Inc.  All rights reserved.
  14  * $COPYRIGHT$
  15  *
  16  * Additional copyrights may follow
  17  *
  18  * $HEADER$
  19  *
  20  */
  21 
  22 #ifndef IOF_BASE_SETUP_H_
  23 #define IOF_BASE_SETUP_H_
  24 
  25 #include "orte_config.h"
  26 #include "orte/types.h"
  27 
  28 #include "orte/mca/iof/base/base.h"
  29 
  30 struct orte_iof_base_io_conf_t {
  31     int usepty;
  32     bool connect_stdin;
  33 
  34     /* private - callers should not modify these fields */
  35     int p_stdin[2];
  36     int p_stdout[2];
  37     int p_stderr[2];
  38 #if OPAL_PMIX_V1
  39     int p_internal[2];
  40 #endif
  41 };
  42 typedef struct orte_iof_base_io_conf_t orte_iof_base_io_conf_t;
  43 
  44 
  45 /**
  46  * Do pre-fork IOF setup tasks
  47  *
  48  * Do all stdio forwarding that must be done before fork() is called.
  49  * This might include creating pipes or ptys or similar work.
  50  */
  51 ORTE_DECLSPEC int orte_iof_base_setup_prefork(orte_iof_base_io_conf_t *opts);
  52 
  53 ORTE_DECLSPEC int orte_iof_base_setup_child(orte_iof_base_io_conf_t *opts,
  54                                             char ***env);
  55 
  56 ORTE_DECLSPEC int orte_iof_base_setup_parent(const orte_process_name_t* name,
  57                                              orte_iof_base_io_conf_t *opts);
  58 
  59 /* setup output files */
  60 ORTE_DECLSPEC int orte_iof_base_setup_output_files(const orte_process_name_t* dst_name,
  61                                                    orte_job_t *jobdat,
  62                                                    orte_iof_proc_t *proct);
  63 
  64 #endif

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