\hypertarget{iof__tool_8h}{\section{orte/mca/iof/tool/iof\+\_\+tool.h File Reference}
\label{iof__tool_8h}\index{orte/mca/iof/tool/iof\+\_\+tool.\+h@{orte/mca/iof/tool/iof\+\_\+tool.\+h}}
}


The tool I\+O\+F component is used in tools.  


{\ttfamily \#include \char`\"{}orte\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/iof/iof.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structorte__iof__tool__component__t}{orte\+\_\+iof\+\_\+tool\+\_\+component\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{iof__tool_8h_ad281fa04df3fea8696ca1a9e747f0139}{typedef struct \\*
\hyperlink{structorte__iof__tool__component__t}{orte\+\_\+iof\+\_\+tool\+\_\+component\+\_\+t} {\bfseries orte\+\_\+iof\+\_\+tool\+\_\+component\+\_\+t}}\label{iof__tool_8h_ad281fa04df3fea8696ca1a9e747f0139}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{iof__tool_8h_ad316dbb0ed53ada54f1d2cccdebf301b}{void {\bfseries orte\+\_\+iof\+\_\+tool\+\_\+recv} (int status, \hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$sender, \hyperlink{structopal__buffer__t}{opal\+\_\+buffer\+\_\+t} $\ast$buffer, \hyperlink{rml__types_8h_ab0683f653b0908cf6520469d91559917}{orte\+\_\+rml\+\_\+tag\+\_\+t} tag, void $\ast$cbdata)}\label{iof__tool_8h_ad316dbb0ed53ada54f1d2cccdebf301b}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{iof__tool_8h_aa3bc4f5700b8400a02c39a3601c1a47c}{O\+R\+T\+E\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structorte__iof__tool__component__t}{orte\+\_\+iof\+\_\+tool\+\_\+component\+\_\+t} {\bfseries mca\+\_\+iof\+\_\+tool\+\_\+component}}\label{iof__tool_8h_aa3bc4f5700b8400a02c39a3601c1a47c}

\item 
\hypertarget{iof__tool_8h_aed11f1a811040565527a9b9b94a9d9ed}{\hyperlink{structorte__iof__base__module__2__0__0__t}{orte\+\_\+iof\+\_\+base\+\_\+module\+\_\+t} {\bfseries orte\+\_\+iof\+\_\+tool\+\_\+module}}\label{iof__tool_8h_aed11f1a811040565527a9b9b94a9d9ed}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The tool I\+O\+F component is used in tools. 

It is used to interface to the H\+N\+P to request forwarding of stdout/err/diag from any combination of procs, and to forward stdin from the tool to a specified proc provided the user has allowed that functionality.

Flow control is employed on a per-\/stream basis to ensure that S\+O\+U\+R\+C\+Es don't overwhelm S\+I\+N\+K resources (E.\+g., send an entire input file to an orted before the target process has read any of it). 