1 /*
2  * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
3  *                         University Research and Technology
4  *                         Corporation.  All rights reserved.
5  * Copyright (c) 2004-2009 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) 2011      Los Alamos National Security, LLC.  All rights
13  *                         reserved.
14  * Copyright (c) 2008      Sun Microsystems, Inc.  All rights reserved.
15  * Copyright (c) 2011-2019 IBM Corporation.  All rights reserved.
16  * Copyright (c) 2015      Intel, Inc. All rights reserved.
17  * $COPYRIGHT$
18  *
19  * Additional copyrights may follow
20  *
21  * $HEADER$
22  */
23 /**
24  * @file:
25  * Part of the rsh launcher. See plm_rsh.h for an overview of how it works.
26  */
27 
28 #ifndef ORTE_PLM_RSH_EXPORT_H
29 #define ORTE_PLM_RSH_EXPORT_H
30 
31 #include "orte_config.h"
32 
33 #ifdef HAVE_SYS_TIME_H
34 #include <sys/time.h>
35 #endif
36 #include <time.h>
37 
38 #include "opal/threads/condition.h"
39 #include "orte/mca/mca.h"
40 
41 #include "orte/mca/plm/plm.h"
42 
43 BEGIN_C_DECLS
44 
45 /**
46  * PLS Component
47  */
48 struct orte_plm_rsh_component_t {
49     orte_plm_base_component_t super;
50     bool force_rsh;
51     bool disable_qrsh;
52     bool using_qrsh;
53     bool daemonize_qrsh;
54     bool disable_llspawn;
55     bool using_llspawn;
56     bool daemonize_llspawn;
57     struct timespec delay;
58     int priority;
59     bool no_tree_spawn;
60     int num_concurrent;
61     char *agent;
62     char *agent_path;
63     char **agent_argv;
64     bool assume_same_shell;
65     bool pass_environ_mca_params;
66     char *ssh_args;
67     char *pass_libpath;
68     char *chdir;
69 };
70 typedef struct orte_plm_rsh_component_t orte_plm_rsh_component_t;
71 
72 ORTE_MODULE_DECLSPEC extern orte_plm_rsh_component_t mca_plm_rsh_component;
73 extern orte_plm_base_module_t orte_plm_rsh_module;
74 
75 ORTE_MODULE_DECLSPEC char **orte_plm_rsh_search(const char* agent_list, const char *path);
76 
77 END_C_DECLS
78 
79 #endif /* ORTE_PLS_RSH_EXPORT_H */
80