1 /* 2 * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana 3 * University Research and Technology 4 * Corporation. All rights reserved. 5 * Copyright (c) 2004-2006 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) 2007 Cisco Systems, Inc. All rights reserved. 13 * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. 14 * Copyright (c) 2018 Intel, Inc. All rights reserved. 15 * $COPYRIGHT$ 16 * 17 * Additional copyrights may follow 18 * 19 * $HEADER$ 20 */ 21 /** 22 * @file 23 * 24 * The tool IOF component is used in tools. It is used 25 * to interface to the HNP to request forwarding of stdout/err/diag 26 * from any combination of procs, and to forward stdin from the 27 * tool to a specified proc provided the user has allowed that 28 * functionality. 29 * 30 * Flow control is employed on a per-stream basis to ensure that 31 * SOURCEs don't overwhelm SINK resources (E.g., send an entire input 32 * file to an orted before the target process has read any of it). 33 * 34 */ 35 #ifndef ORTE_IOF_TOOL_H 36 #define ORTE_IOF_TOOL_H 37 38 #include "orte_config.h" 39 #include "orte/mca/iof/iof.h" 40 41 BEGIN_C_DECLS 42 43 struct orte_iof_tool_component_t { 44 orte_iof_base_component_t super; 45 bool closed; 46 }; 47 typedef struct orte_iof_tool_component_t orte_iof_tool_component_t; 48 49 ORTE_MODULE_DECLSPEC extern orte_iof_tool_component_t mca_iof_tool_component; 50 extern orte_iof_base_module_t orte_iof_tool_module; 51 52 void orte_iof_tool_recv(int status, orte_process_name_t* sender, 53 opal_buffer_t* buffer, orte_rml_tag_t tag, 54 void* cbdata); 55 56 END_C_DECLS 57 58 #endif