\hypertarget{group__mc}{\section{Master Control Interface}
\label{group__mc}\index{Master Control Interface@{Master Control Interface}}
}


This interface is dedicated to managing master control files ( $\ast$.otf ) A master control file contains a mapping from process streams to processes and vice versa.  


\subsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \hyperlink{OTF__MasterControl_8h}{O\+T\+F\+\_\+\+Master\+Control.\+h}
\begin{DoxyCompactList}\small\item\em Provides access to process-\/stream-\/mapping, which are located in .otf files. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__mc_gab61120f09ec01225f3c058cedb227f7d}{typedef struct \hyperlink{structstruct__OTF__MapEntry}{struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry} \hyperlink{group__mc_gab61120f09ec01225f3c058cedb227f7d}{O\+T\+F\+\_\+\+Map\+Entry}}\label{group__mc_gab61120f09ec01225f3c058cedb227f7d}

\begin{DoxyCompactList}\small\item\em entry for 1\+:n mapping \end{DoxyCompactList}\item 
\hypertarget{group__mc_gad49f2ee6bf9a14cdb2ee68c3aef49099}{typedef struct \hyperlink{structstruct__OTF__Pair}{struct\+\_\+\+O\+T\+F\+\_\+\+Pair} \hyperlink{group__mc_gad49f2ee6bf9a14cdb2ee68c3aef49099}{O\+T\+F\+\_\+\+Pair}}\label{group__mc_gad49f2ee6bf9a14cdb2ee68c3aef49099}

\begin{DoxyCompactList}\small\item\em entry for 1\+:1 mapping \end{DoxyCompactList}\item 
typedef struct \\*
\hyperlink{structstruct__OTF__MasterControl}{struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control} \hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control}
\begin{DoxyCompactList}\small\item\em master control object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$ \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new} (\hyperlink{group__fm_ga621c18447ec33f803cc270a9494b0685}{O\+T\+F\+\_\+\+File\+Manager} $\ast$manager)
\begin{DoxyCompactList}\small\item\em Creates an empty O\+T\+F\+\_\+\+Master\+Control object. \end{DoxyCompactList}\item 
int \hyperlink{group__mc_ga18ee8bc532af983dc4914365fd633664}{O\+T\+F\+\_\+\+Master\+Control\+\_\+read} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, const char $\ast$namestub)
\begin{DoxyCompactList}\small\item\em I\+N\+T\+E\+R\+F\+A\+C\+E C\+H\+A\+N\+G\+E\+D! Read a master control file according to namestub, reset the {\itshape existing} O\+T\+F\+\_\+\+Master\+Control structure and fill it according to the file. \end{DoxyCompactList}\item 
void \hyperlink{group__mc_ga0375f6bc94d869110cd8dceaf956b229}{O\+T\+F\+\_\+\+Master\+Control\+\_\+finish} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Destructor, delete O\+T\+F\+\_\+\+Master\+Control object. \end{DoxyCompactList}\item 
void \hyperlink{group__mc_gaad005e740df740bb0138413b8b6cbf11}{O\+T\+F\+\_\+\+Master\+Control\+\_\+close} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Deletes a O\+T\+F\+\_\+\+Master\+Control object. \end{DoxyCompactList}\item 
int \hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{O\+T\+F\+\_\+\+Master\+Control\+\_\+append} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t argument, uint32\+\_\+t value)
\begin{DoxyCompactList}\small\item\em Append the mapping argument -\/$>$ value to the master control structure,. \end{DoxyCompactList}\item 
int \hyperlink{group__mc_gadc5a19aeefc7115912dd540bf6d5086f}{O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t argument, uint32\+\_\+t l, uint32\+\_\+t $\ast$values)
\begin{DoxyCompactList}\small\item\em Append the mapping argument -\/$>$ ( list of l values ) to the master control structure. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__mc_ga352efaf922c8d686192f0d450b745082}{O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t value)
\begin{DoxyCompactList}\small\item\em Returns the argument to the given value. \end{DoxyCompactList}\item 
int \hyperlink{group__mc_gad6d9710baa9642ae63156af0110b5ff3}{O\+T\+F\+\_\+\+Master\+Control\+\_\+write} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, const char $\ast$namestub)
\begin{DoxyCompactList}\small\item\em Writes a master control file with the current contents of the given object. \end{DoxyCompactList}\item 
int \hyperlink{group__mc_ga0728d52b257e041c28587dd485b2f742}{O\+T\+F\+\_\+\+Master\+Control\+\_\+check} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Checks if the current mapping is consistent in itself. \end{DoxyCompactList}\item 
void \hyperlink{group__mc_gaab8e76cb57d4ddd7742860aece58ce77}{O\+T\+F\+\_\+\+Master\+Control\+\_\+print} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Prints the mapping to stderr. \end{DoxyCompactList}\item 
\hyperlink{group__mc_gab61120f09ec01225f3c058cedb227f7d}{O\+T\+F\+\_\+\+Map\+Entry} $\ast$ \hyperlink{group__mc_ga1ffabf19f47bf4296d88c3ec390c77c2}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t argument)
\begin{DoxyCompactList}\small\item\em Returns the entry for the given argument. \end{DoxyCompactList}\item 
\hyperlink{group__mc_gab61120f09ec01225f3c058cedb227f7d}{O\+T\+F\+\_\+\+Map\+Entry} $\ast$ \hyperlink{group__mc_ga32a1994c44ae486c34e8bed7690ff0c4}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t index)
\begin{DoxyCompactList}\small\item\em Returns the entry for the given index. \end{DoxyCompactList}\item 
\hyperlink{group__mc_gad49f2ee6bf9a14cdb2ee68c3aef49099}{O\+T\+F\+\_\+\+Pair} $\ast$ \hyperlink{group__mc_ga442b7a0c71c194d56609c702818be7b1}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t index)
\begin{DoxyCompactList}\small\item\em Returns a pair of value and argument for the given index. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__mc_ga4ef2d0fd8d1c7077569ecec35c4df576}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Returns the number of arguments in the current list. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__mc_ga92a99f346fde468db0ab5c7f23fd7f2a}{O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Returns the number of arguments in current reverse list. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__mc_gaeb764f950e1712e297c819aa37cac37b}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t argument)
\begin{DoxyCompactList}\small\item\em Returns the number of values for the given argument. \end{DoxyCompactList}\item 
uint32\+\_\+t $\ast$ \hyperlink{group__mc_ga3a320e60a8e128e0bfbb9f12ef2240cb}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc, uint32\+\_\+t argument)
\begin{DoxyCompactList}\small\item\em Returns a pointer to the value array for 'argument'. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__mc_gaf3a16f6410370eb709f56f644056b6d5}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id} (\hyperlink{group__mc_ga9e558ee162e965f8555109c23b939aea}{O\+T\+F\+\_\+\+Master\+Control} $\ast$mc)
\begin{DoxyCompactList}\small\item\em Returns a previously unused argument. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This interface is dedicated to managing master control files ( $\ast$.otf ) A master control file contains a mapping from process streams to processes and vice versa. 

\hypertarget{group__mc_mc_example}{}\subsection{A simple Example}\label{group__mc_mc_example}
This is example will create a simple mapping and read it again to show how reading and writing works with the master control file.

The need for creating your own master control file arises when you are not using the highlevel reader/writer, but the stream reader/writer.


\begin{DoxyCode}
\textcolor{preprocessor}{#include <stdio.h>}
\textcolor{preprocessor}{#include <assert.h>}
\textcolor{preprocessor}{#include "\hyperlink{otf_8h}{otf.h}"}

\textcolor{keywordtype}{int} main( \textcolor{keywordtype}{int} argc, \textcolor{keywordtype}{char}** argv ) \{
\end{DoxyCode}
 \begin{DoxyVerb}Declare a couple of variables.
\end{DoxyVerb}
 
\begin{DoxyCode}
uint32\_t streamcount;
uint32\_t a;
uint32\_t i;
\hyperlink{structstruct__OTF__MapEntry}{OTF\_MapEntry}* entry;
\hyperlink{structstruct__OTF__FileManager}{OTF\_FileManager}* manager;
\hyperlink{structstruct__OTF__MasterControl}{OTF\_MasterControl}* mc;
\end{DoxyCode}


Initialize the file manager and the mastercontrol. 
\begin{DoxyCode}
manager= \hyperlink{group__fm_gaeaee6fa34285107dfdf42eb1905d5ce2}{OTF\_FileManager\_open}( 100 );
assert( manager );

mc = \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{OTF\_MasterControl\_new}( manager );
\end{DoxyCode}


Add four processes (100,101,102,103) to two streams (1,2) 
\begin{DoxyCode}
\hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{OTF\_MasterControl\_append}( mc, 1, 100 );
\hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{OTF\_MasterControl\_append}( mc, 1, 101 );
\hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{OTF\_MasterControl\_append}( mc, 2, 102 );
\hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{OTF\_MasterControl\_append}( mc, 2, 103 );
\end{DoxyCode}


Write everything to the file \char`\"{}mytrace.\+otf\char`\"{} and close the master control. 
\begin{DoxyCode}
\hyperlink{group__mc_gad6d9710baa9642ae63156af0110b5ff3}{OTF\_MasterControl\_write}( mc, \textcolor{stringliteral}{"mytrace"} );
\hyperlink{group__mc_gaad005e740df740bb0138413b8b6cbf11}{OTF\_MasterControl\_close}( mc );
\end{DoxyCode}


Now initialize the master control structure and read the newly written master control file. 
\begin{DoxyCode}
mc = \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{OTF\_MasterControl\_new}( manager );
\hyperlink{group__mc_ga18ee8bc532af983dc4914365fd633664}{OTF\_MasterControl\_read}( mc, \textcolor{stringliteral}{"mytrace"} );
\end{DoxyCode}


Visit all stream-\/process pairs and print them out 
\begin{DoxyCode}
streamcount = \hyperlink{group__mc_ga4ef2d0fd8d1c7077569ecec35c4df576}{OTF\_MasterControl\_getCount}( mc );

\textcolor{keywordflow}{for}( i = 0; i < streamcount; ++i ) \{
    entry = \hyperlink{group__mc_ga32a1994c44ae486c34e8bed7690ff0c4}{OTF\_MasterControl\_getEntryByIndex}( mc, i );
    \textcolor{keywordflow}{for}( a = 0; a < entry->\hyperlink{structstruct__OTF__MapEntry_aca1a469c653777853ca2f48c12829bb8}{n}; ++a ) \{
        printf( \textcolor{stringliteral}{" stream %u contains process %u\(\backslash\)n"}, entry->\hyperlink{structstruct__OTF__MapEntry_a5329a801417d70828cf3957ac6fa2efc}{argument},
                entry->\hyperlink{structstruct__OTF__MapEntry_ac51b85fc8582e6577ff088959104e9ec}{values}[a] );
    \}
\}
\end{DoxyCode}


Clean everything up before exiting the program 
\begin{DoxyCode}
    \hyperlink{group__mc_gaad005e740df740bb0138413b8b6cbf11}{OTF\_MasterControl\_close}( mc );


    \textcolor{keywordflow}{return} 0;
\}
\end{DoxyCode}


Compile this using \$ gcc -\/o test test.\+c {\ttfamily otfconfig -\/-\/libs}.

The program will show this output\+: \begin{DoxyVerb}*  stream 1 contains process 100
*  stream 1 contains process 101
*  stream 2 contains process 102
*  stream 2 contains process 103 \end{DoxyVerb}
 

\subsection{Typedef Documentation}
\hypertarget{group__mc_ga9e558ee162e965f8555109c23b939aea}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control@{O\+T\+F\+\_\+\+Master\+Control}}
\index{O\+T\+F\+\_\+\+Master\+Control@{O\+T\+F\+\_\+\+Master\+Control}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control} {\bf O\+T\+F\+\_\+\+Master\+Control}}}\label{group__mc_ga9e558ee162e965f8555109c23b939aea}


master control object. 

This object contains all information of the master control file. 

\subsection{Function Documentation}
\hypertarget{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+append@{O\+T\+F\+\_\+\+Master\+Control\+\_\+append}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+append@{O\+T\+F\+\_\+\+Master\+Control\+\_\+append}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+append}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Master\+Control\+\_\+append (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{argument, }
\item[{uint32\+\_\+t}]{value}
\end{DoxyParamCaption}
)}}\label{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}


Append the mapping argument -\/$>$ value to the master control structure,. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em argument} & Represents the stream identifier. \\
\hline
{\em value} & Represents the process identifier.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on sucess, 0 if an error occurs (e.\+g. the new pair conflicts with the current mapping). 
\end{DoxyReturn}


Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List(), O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), and O\+T\+F\+\_\+\+Writer\+\_\+assign\+Process().

\hypertarget{group__mc_gadc5a19aeefc7115912dd540bf6d5086f}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List@{O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List@{O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Master\+Control\+\_\+append\+List (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{argument, }
\item[{uint32\+\_\+t}]{l, }
\item[{uint32\+\_\+t $\ast$}]{values}
\end{DoxyParamCaption}
)}}\label{group__mc_gadc5a19aeefc7115912dd540bf6d5086f}


Append the mapping argument -\/$>$ ( list of l values ) to the master control structure. 

This is equal to calling '\hyperlink{group__mc_ga80e5053d3307ecd84734cc0cdba0aa77}{O\+T\+F\+\_\+\+Master\+Control\+\_\+append()}' with every value in list separately.


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em argument} & Represents the stream identifier. \\
\hline
{\em l} & Number of elements in the value array. \\
\hline
{\em values} & Array of process identifiers belonging to the stream.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs (e.\+g. the new entries conflict with the current mapping). 
\end{DoxyReturn}


References O\+T\+F\+\_\+\+Master\+Control\+\_\+append().

\hypertarget{group__mc_ga0728d52b257e041c28587dd485b2f742}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+check@{O\+T\+F\+\_\+\+Master\+Control\+\_\+check}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+check@{O\+T\+F\+\_\+\+Master\+Control\+\_\+check}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+check}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Master\+Control\+\_\+check (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_ga0728d52b257e041c28587dd485b2f742}


Checks if the current mapping is consistent in itself. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if the mapping is not consistent in itself. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::n, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rmap, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rn, and struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::values.

\hypertarget{group__mc_gaad005e740df740bb0138413b8b6cbf11}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+close@{O\+T\+F\+\_\+\+Master\+Control\+\_\+close}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+close@{O\+T\+F\+\_\+\+Master\+Control\+\_\+close}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+close}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+Master\+Control\+\_\+close (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_gaad005e740df740bb0138413b8b6cbf11}


Deletes a O\+T\+F\+\_\+\+Master\+Control object. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
\end{DoxyParams}


Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+finish(), and O\+T\+F\+\_\+\+Writer\+\_\+set\+Master\+Control().

\hypertarget{group__mc_ga0375f6bc94d869110cd8dceaf956b229}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+finish@{O\+T\+F\+\_\+\+Master\+Control\+\_\+finish}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+finish@{O\+T\+F\+\_\+\+Master\+Control\+\_\+finish}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+finish}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+Master\+Control\+\_\+finish (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_ga0375f6bc94d869110cd8dceaf956b229}


Destructor, delete O\+T\+F\+\_\+\+Master\+Control object. 

D\+E\+P\+R\+E\+C\+A\+T\+E\+D 

References O\+T\+F\+\_\+\+Master\+Control\+\_\+close().

\hypertarget{group__mc_ga4ef2d0fd8d1c7077569ecec35c4df576}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Count (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_ga4ef2d0fd8d1c7077569ecec35c4df576}


Returns the number of arguments in the current list. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of entrys in the current list. (equals the number of streams) 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n.



Referenced by O\+T\+F\+\_\+\+Writer\+\_\+map\+Process().

\hypertarget{group__mc_ga1ffabf19f47bf4296d88c3ec390c77c2}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+Map\+Entry}$\ast$ O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{argument}
\end{DoxyParamCaption}
)}}\label{group__mc_ga1ffabf19f47bf4296d88c3ec390c77c2}


Returns the entry for the given argument. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em argument} & Represents the stream identifier.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The map entry belonging to the argument, or N\+U\+L\+L if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, and struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id(), and O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count().

\hypertarget{group__mc_ga32a1994c44ae486c34e8bed7690ff0c4}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+Map\+Entry}$\ast$ O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry\+By\+Index (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{index}
\end{DoxyParamCaption}
)}}\label{group__mc_ga32a1994c44ae486c34e8bed7690ff0c4}


Returns the entry for the given index. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em index} & Index of the entry to return.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The map entry belonging to the index, or N\+U\+L\+L if the index exceeds the mapping. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+read\+Definitions(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Markers(), and O\+T\+F\+\_\+\+Writer\+\_\+map\+Process().

\hypertarget{group__mc_gaf3a16f6410370eb709f56f644056b6d5}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+New\+Stream\+Id (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_gaf3a16f6410370eb709f56f644056b6d5}


Returns a previously unused argument. 

Of course, one cannot avoid collisions with arguments explicitly defined later on.


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Unused argument. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n, and O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry().



Referenced by O\+T\+F\+\_\+\+Writer\+\_\+map\+Process().

\hypertarget{group__mc_ga92a99f346fde468db0ab5c7f23fd7f2a}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+Master\+Control\+\_\+getr\+Count (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_ga92a99f346fde468db0ab5c7f23fd7f2a}


Returns the number of arguments in current reverse list. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of entrys in the current reverse list. (equals the number of processes) 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rn.

\hypertarget{group__mc_ga442b7a0c71c194d56609c702818be7b1}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+Pair}$\ast$ O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+R\+Entry\+By\+Index (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{index}
\end{DoxyParamCaption}
)}}\label{group__mc_ga442b7a0c71c194d56609c702818be7b1}


Returns a pair of value and argument for the given index. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em index} & Index of the pair in the reverse mapping.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{structPair}{Pair} of value and argument belonging to the index, or N\+U\+L\+L if the index exceeds the reverse mapping. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rmap.

\hypertarget{group__mc_gaeb764f950e1712e297c819aa37cac37b}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{argument}
\end{DoxyParamCaption}
)}}\label{group__mc_gaeb764f950e1712e297c819aa37cac37b}


Returns the number of values for the given argument. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em argument} & Represents the stream identifier.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of values for the given argument, or 0 if the argument is unknown. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::n, and O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Entry().

\hypertarget{group__mc_ga3a320e60a8e128e0bfbb9f12ef2240cb}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values@{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t$\ast$ O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Values (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{argument}
\end{DoxyParamCaption}
)}}\label{group__mc_ga3a320e60a8e128e0bfbb9f12ef2240cb}


Returns a pointer to the value array for 'argument'. 

Get size of list with '\hyperlink{group__mc_gaeb764f950e1712e297c819aa37cac37b}{O\+T\+F\+\_\+\+Master\+Control\+\_\+get\+Value\+Count()}'.


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em argument} & Represents the stream identifier.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to the value array for 'argument', or N\+U\+L\+L if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n, and struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::values.

\hypertarget{group__mc_ga352efaf922c8d686192f0d450b745082}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse@{O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse@{O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+Master\+Control\+\_\+map\+Reverse (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{uint32\+\_\+t}]{value}
\end{DoxyParamCaption}
)}}\label{group__mc_ga352efaf922c8d686192f0d450b745082}


Returns the argument to the given value. 

If no mapping was defined make up a new one.


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em value} & Represents the process identifier.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Argument to which the value belongs to. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rmap, and struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rn.



Referenced by O\+T\+F\+\_\+\+Writer\+\_\+map\+Process().

\hypertarget{group__mc_gaace2ad391220ee473427d4371ed24806}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+new@{O\+T\+F\+\_\+\+Master\+Control\+\_\+new}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+new@{O\+T\+F\+\_\+\+Master\+Control\+\_\+new}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+Master\+Control}$\ast$ O\+T\+F\+\_\+\+Master\+Control\+\_\+new (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+File\+Manager} $\ast$}]{manager}
\end{DoxyParamCaption}
)}}\label{group__mc_gaace2ad391220ee473427d4371ed24806}


Creates an empty O\+T\+F\+\_\+\+Master\+Control object. 

The returned object must be freed by \hyperlink{group__mc_gaad005e740df740bb0138413b8b6cbf11}{O\+T\+F\+\_\+\+Master\+Control\+\_\+close()}.


\begin{DoxyParams}{Parameters}
{\em manager} & \hyperlink{classFile}{File} handle manager.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
newly created master control object 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::manager.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+open(), and O\+T\+F\+\_\+\+Writer\+\_\+open().

\hypertarget{group__mc_gaab8e76cb57d4ddd7742860aece58ce77}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+print@{O\+T\+F\+\_\+\+Master\+Control\+\_\+print}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+print@{O\+T\+F\+\_\+\+Master\+Control\+\_\+print}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+print}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+Master\+Control\+\_\+print (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc}
\end{DoxyParamCaption}
)}}\label{group__mc_gaab8e76cb57d4ddd7742860aece58ce77}


Prints the mapping to stderr. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
\end{DoxyParams}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::n, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rmap, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::rn, and struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::values.

\hypertarget{group__mc_ga18ee8bc532af983dc4914365fd633664}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+read@{O\+T\+F\+\_\+\+Master\+Control\+\_\+read}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+read@{O\+T\+F\+\_\+\+Master\+Control\+\_\+read}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Master\+Control\+\_\+read (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{const char $\ast$}]{namestub}
\end{DoxyParamCaption}
)}}\label{group__mc_ga18ee8bc532af983dc4914365fd633664}


I\+N\+T\+E\+R\+F\+A\+C\+E C\+H\+A\+N\+G\+E\+D! Read a master control file according to namestub, reset the {\itshape existing} O\+T\+F\+\_\+\+Master\+Control structure and fill it according to the file. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::manager, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+Master\+Control\+\_\+append(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+close(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char().



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+open().

\hypertarget{group__mc_gad6d9710baa9642ae63156af0110b5ff3}{\index{Master Control Interface@{Master Control Interface}!O\+T\+F\+\_\+\+Master\+Control\+\_\+write@{O\+T\+F\+\_\+\+Master\+Control\+\_\+write}}
\index{O\+T\+F\+\_\+\+Master\+Control\+\_\+write@{O\+T\+F\+\_\+\+Master\+Control\+\_\+write}!Master Control Interface@{Master Control Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Master\+Control\+\_\+write}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Master\+Control\+\_\+write (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+Master\+Control} $\ast$}]{mc, }
\item[{const char $\ast$}]{namestub}
\end{DoxyParamCaption}
)}}\label{group__mc_gad6d9710baa9642ae63156af0110b5ff3}


Writes a master control file with the current contents of the given object. 


\begin{DoxyParams}{Parameters}
{\em mc} & Pointer to an initialized O\+T\+F\+\_\+\+Mastercontrol object. See also \hyperlink{group__mc_gaace2ad391220ee473427d4371ed24806}{O\+T\+F\+\_\+\+Master\+Control\+\_\+new()}. \\
\hline
{\em namestub} & \hyperlink{classFile}{File} name prefix which.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::argument, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::map, struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::n, struct\+\_\+\+O\+T\+F\+\_\+\+Master\+Control\+::n, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+close(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+set\+Size(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+write\+Char(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+write\+Newline(), O\+T\+F\+\_\+\+W\+Buffer\+\_\+write\+Uint32(), and struct\+\_\+\+O\+T\+F\+\_\+\+Map\+Entry\+::values.

