1 /*
2 *
3 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
4 * University Research and Technology
5 * Corporation. All rights reserved.
6 * Copyright (c) 2004-2005 The University of Tennessee and The University
7 * of Tennessee Research Foundation. All rights
8 * reserved.
9 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10 * University of Stuttgart. All rights reserved.
11 * Copyright (c) 2004-2005 The Regents of the University of California.
12 * All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 *
19 * $Id: ompi_universe_setup_file I/O functions $
20 *
21 */
22
23 #ifndef ORTE_HNP_CONTACT_H
24 #define ORTE_HNP_CONTACT_H
25
26 #include "orte_config.h"
27 #include "orte/types.h"
28
29 #ifdef HAVE_SYS_TYPES_H
30 #include <sys/types.h>
31 #endif
32
33 #include "opal/class/opal_list.h"
34
35 BEGIN_C_DECLS
36
37 /* define a structure that can be used to create
38 * a list of HNP names and contact info. This is
39 * generally only useful for tools that want to
40 * contact an HNP
41 */
42 typedef struct {
43 /* Base object */
44 opal_list_item_t super;
45 /* process name for HNP */
46 orte_process_name_t name;
47 /* RML contact uri */
48 char *rml_uri;
49 /* pid */
50 pid_t pid;
51 } orte_hnp_contact_t;
52 ORTE_DECLSPEC OBJ_CLASS_DECLARATION(orte_hnp_contact_t);
53
54 ORTE_DECLSPEC int orte_write_hnp_contact_file(char *filename);
55
56 ORTE_DECLSPEC int orte_read_hnp_contact_file(char *filename, orte_hnp_contact_t *hnp, bool connect);
57
58 ORTE_DECLSPEC int orte_list_local_hnps(opal_list_t *hnps, bool connect);
59
60 END_C_DECLS
61 #endif