\hypertarget{interface_name}{}\subsection{Name}\label{name}
{\tt msg2src} - Convert {\tt .msg} files to {\tt .c} and {\tt .h} files\hypertarget{interface_synopsis}{}\subsection{Synopsis}\label{synopsis}
{\tt msg2src {\em m\_\-file\/} \mbox{[}--source={\em s\_\-file\/}\mbox{]} \mbox{[}--header={\em h\_\-file\/}\mbox{]}}

\begin{TabularC}{2}
\hline
{\tt {\em m\_\-file\/}} &Input {\tt .msg} file (must end with extension {\tt .msg})  \\\hline
{\tt {\em s\_\-file\/}} &Output source file (defaults to stem-of-{\tt {\em m\_\-file\/}.c})  \\\hline
{\tt {\em h\_\-file\/}} &Output header file (defaults to stem-of-{\tt {\em m\_\-file\/}.h})  \\\hline
\end{TabularC}
\hypertarget{interface_return}{}\subsection{Returns}\label{return}
\begin{TabularC}{2}
\hline
0 &Success  \\\hline
1 &Failure  \\\hline
\end{TabularC}
\hypertarget{interface_description}{}\subsection{Description}\label{description}
The {\tt msg2src} command preprocesses {\tt }.msg files to produce {\tt }.c and {\tt }.h files. The {\tt msg2src} output files can then be added to the source code for a package/constituent.

This is entirely supported in CMX and it is unlikely that a user would need to invoke this command directly unless trying to debug the syntax of a {\tt }.msg file. The flexibility of defining input and output file names is provided almost entirely for the author's debugging. 