\hypertarget{orte-migrate_8c}{\section{orte/tools/orte-\/migrate/orte-\/migrate.c File Reference}
\label{orte-migrate_8c}\index{orte/tools/orte-\/migrate/orte-\/migrate.\+c@{orte/tools/orte-\/migrate/orte-\/migrate.\+c}}
}


O\+R\+T\+E \hyperlink{structProcess}{Process} Migration Tool for migrating processes in a multiprocess job.  


{\ttfamily \#include \char`\"{}orte\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/constants.\+h\char`\"{}}\\*
{\ttfamily \#include $<$stdio.\+h$>$}\\*
{\ttfamily \#include $<$errno.\+h$>$}\\*
{\ttfamily \#include \char`\"{}opal/util/cmd\+\_\+line.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/util/output.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/util/argv.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/util/opal\+\_\+environ.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/base/mca\+\_\+base\+\_\+param.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/crs/crs.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/crs/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/runtime/opal.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/runtime/opal\+\_\+cr.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/runtime/runtime.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/runtime/orte\+\_\+cr.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/hnp\+\_\+contact.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/runtime/orte\+\_\+globals.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/name\+\_\+fns.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/util/show\+\_\+help.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/proc\+\_\+info.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/rml/rml.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/rml/rml\+\_\+types.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/errmgr/errmgr.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/dss/dss.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/snapc/snapc.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/snapc/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/errmgr/base/base.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structorte__migrate__globals__t}{orte\+\_\+migrate\+\_\+globals\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{orte-migrate_8c_ab8a79c7b8797a76e694471c43d4d07a6}{static int {\bfseries tool\+\_\+init} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})}\label{orte-migrate_8c_ab8a79c7b8797a76e694471c43d4d07a6}

\item 
\hypertarget{orte-migrate_8c_ac0c400ed2937492342c12528054df205}{static int {\bfseries tool\+\_\+finalize} (void)}\label{orte-migrate_8c_ac0c400ed2937492342c12528054df205}

\item 
static int \hyperlink{orte-migrate_8c_a1c6cda197a32141227af69a440929ac6}{parse\+\_\+args} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\item 
\hypertarget{orte-migrate_8c_a4ad9cc671222b01f86637cc4e7c675e5}{static int {\bfseries find\+\_\+hnp} (void)}\label{orte-migrate_8c_a4ad9cc671222b01f86637cc4e7c675e5}

\item 
\hypertarget{orte-migrate_8c_aff3b0176152920b1c1c9af12a87dcf3e}{static int {\bfseries start\+\_\+listener} (void)}\label{orte-migrate_8c_aff3b0176152920b1c1c9af12a87dcf3e}

\item 
\hypertarget{orte-migrate_8c_ab037f8ba030e728a7e0a95d87b5cea51}{static int {\bfseries stop\+\_\+listener} (void)}\label{orte-migrate_8c_ab037f8ba030e728a7e0a95d87b5cea51}

\item 
\hypertarget{orte-migrate_8c_a2a5ebd4c31151907968ab417699e41ae}{static void {\bfseries hnp\+\_\+receiver} (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{orte-migrate_8c_a2a5ebd4c31151907968ab417699e41ae}

\item 
\hypertarget{orte-migrate_8c_acd042a16887a9432518f3aa5e8209aaa}{static void {\bfseries process\+\_\+ckpt\+\_\+update\+\_\+cmd} (\hyperlink{structorte__process__name__t}{orte\+\_\+process\+\_\+name\+\_\+t} $\ast$sender, \hyperlink{structopal__buffer__t}{opal\+\_\+buffer\+\_\+t} $\ast$buffer)}\label{orte-migrate_8c_acd042a16887a9432518f3aa5e8209aaa}

\item 
\hypertarget{orte-migrate_8c_a278847e7c9a9e68627ae8d93b6a5c39a}{static int {\bfseries notify\+\_\+hnp} (void)}\label{orte-migrate_8c_a278847e7c9a9e68627ae8d93b6a5c39a}

\item 
\hypertarget{orte-migrate_8c_a883b3cb1eaaa8e14c148abda0d9889da}{static int {\bfseries pretty\+\_\+print\+\_\+status} (void)}\label{orte-migrate_8c_a883b3cb1eaaa8e14c148abda0d9889da}

\item 
\hypertarget{orte-migrate_8c_a8de3213f5276a0e767120156d98d18bf}{static int {\bfseries pretty\+\_\+print\+\_\+migration} (void)}\label{orte-migrate_8c_a8de3213f5276a0e767120156d98d18bf}

\item 
\hypertarget{orte-migrate_8c_a8635197613ed4e3a5ac4218588ea70b1}{static double {\bfseries get\+\_\+time} (void)}\label{orte-migrate_8c_a8635197613ed4e3a5ac4218588ea70b1}

\item 
\hypertarget{orte-migrate_8c_a0ddf1224851353fc92bfbff6f499fa97}{int {\bfseries main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})}\label{orte-migrate_8c_a0ddf1224851353fc92bfbff6f499fa97}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{orte-migrate_8c_a7c421b5eb3e687f1ea8e58047fbf3bc3}{static \hyperlink{structorte__hnp__contact__t}{orte\+\_\+hnp\+\_\+contact\+\_\+t} $\ast$ {\bfseries orterun\+\_\+hnp} = N\+U\+L\+L}\label{orte-migrate_8c_a7c421b5eb3e687f1ea8e58047fbf3bc3}

\item 
\hypertarget{orte-migrate_8c_ad9db51e0582cb2c59673f3d1a44ac04a}{static int {\bfseries orte\+\_\+migrate\+\_\+ckpt\+\_\+status} = O\+R\+T\+E\+\_\+\+E\+R\+R\+M\+G\+R\+\_\+\+M\+I\+G\+R\+A\+T\+E\+\_\+\+S\+T\+A\+T\+E\+\_\+\+N\+O\+N\+E}\label{orte-migrate_8c_ad9db51e0582cb2c59673f3d1a44ac04a}

\item 
\hypertarget{orte-migrate_8c_a232e725505064403a96e1b8d076aa132}{static bool {\bfseries listener\+\_\+started} = false}\label{orte-migrate_8c_a232e725505064403a96e1b8d076aa132}

\item 
\hypertarget{orte-migrate_8c_acfde499898871ce4aee0facf6e1d5c2d}{static double {\bfseries timer\+\_\+start} = 0}\label{orte-migrate_8c_acfde499898871ce4aee0facf6e1d5c2d}

\item 
\hypertarget{orte-migrate_8c_aaeb67cb804598a6496fc8861801f5ed3}{static double {\bfseries timer\+\_\+last} = 0}\label{orte-migrate_8c_aaeb67cb804598a6496fc8861801f5ed3}

\item 
\hypertarget{orte-migrate_8c_abc97ea6254821b392025c1bf14d6d9ed}{\hyperlink{structorte__migrate__globals__t}{orte\+\_\+migrate\+\_\+globals\+\_\+t} {\bfseries orte\+\_\+migrate\+\_\+globals}}\label{orte-migrate_8c_abc97ea6254821b392025c1bf14d6d9ed}

\item 
\hypertarget{orte-migrate_8c_a69f8880faeb9e19bb4259ef8948d3f85}{\hyperlink{structopal__cmd__line__init__t}{opal\+\_\+cmd\+\_\+line\+\_\+init\+\_\+t} {\bfseries cmd\+\_\+line\+\_\+opts} \mbox{[}$\,$\mbox{]}}\label{orte-migrate_8c_a69f8880faeb9e19bb4259ef8948d3f85}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
O\+R\+T\+E \hyperlink{structProcess}{Process} Migration Tool for migrating processes in a multiprocess job. 



\subsection{Function Documentation}
\hypertarget{orte-migrate_8c_a1c6cda197a32141227af69a440929ac6}{\index{orte-\/migrate.\+c@{orte-\/migrate.\+c}!parse\+\_\+args@{parse\+\_\+args}}
\index{parse\+\_\+args@{parse\+\_\+args}!orte-\/migrate.\+c@{orte-\/migrate.\+c}}
\subsubsection[{parse\+\_\+args}]{\setlength{\rightskip}{0pt plus 5cm}static int parse\+\_\+args (
\begin{DoxyParamCaption}
\item[{int}]{argc, }
\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{orte-migrate_8c_a1c6cda197a32141227af69a440929ac6}
Put all of the M\+C\+A arguments in the environment

Now start parsing our specific arguments

References mca\+\_\+base\+\_\+param\+\_\+env\+\_\+var(), opal\+\_\+argv\+\_\+count(), opal\+\_\+cmd\+\_\+line\+\_\+create(), opal\+\_\+cmd\+\_\+line\+\_\+get\+\_\+tail(), opal\+\_\+cmd\+\_\+line\+\_\+get\+\_\+usage\+\_\+msg(), opal\+\_\+cmd\+\_\+line\+\_\+parse(), opal\+\_\+setenv(), and opal\+\_\+show\+\_\+help\+\_\+string().

