\hypertarget{MTX_8ih}{
\section{MTX.ih File Reference}
\label{MTX_8ih}\index{MTX.ih@{MTX.ih}}
}
Simple mutex, inline interface and implementation.  


{\tt \#include \char`\"{}PBI/Inline.h\char`\"{}}\par
{\tt \#include \char`\"{}PBI/Attribute.h\char`\"{}}\par
{\tt \#include \char`\"{}PBS/MTX.h\char`\"{}}\par


Include dependency graph for MTX.ih:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=147pt]{MTX_8ih__incl}
\end{center}
\end{figure}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{MTX_8ih_a0}{
\#define \hyperlink{MTX_8ih_a0}{MTX\_\-\_\-EXP\_\-PROTO}\ INLINE\_\-USR\_\-EXP\_\-PROTO}
\label{MTX_8ih_a0}

\begin{CompactList}\small\item\em Export Prototype spec. \item\end{CompactList}\item 
\hypertarget{MTX_8ih_a1}{
\#define \hyperlink{MTX_8ih_a1}{MTX\_\-\_\-LCL\_\-PROTO}\ INLINE\_\-USR\_\-LCL\_\-PROTO}
\label{MTX_8ih_a1}

\begin{CompactList}\small\item\em Internal Prototype spec. \item\end{CompactList}\item 
\hypertarget{MTX_8ih_a2}{
\#define \hyperlink{MTX_8ih_a2}{MTX\_\-\_\-EXP\_\-FNC}\ INLINE\_\-USR\_\-EXP\_\-FNC}
\label{MTX_8ih_a2}

\begin{CompactList}\small\item\em Export Function declaration. \item\end{CompactList}\item 
\hypertarget{MTX_8ih_a3}{
\#define \hyperlink{MTX_8ih_a3}{MTX\_\-\_\-LCL\_\-FNC}\ INLINE\_\-USR\_\-LCL\_\-FNC}
\label{MTX_8ih_a3}

\begin{CompactList}\small\item\em Internal Function declaration. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
MTX\_\-\_\-EXP\_\-PROTO \hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} \hyperlink{MTX_8ih_a4}{MTX\_\-\_\-create} (unsigned int options) ATTR\_\-UNUSED\_\-OK
\begin{CompactList}\small\item\em Creates a mutex. \item\end{CompactList}\item 
MTX\_\-\_\-EXP\_\-PROTO unsigned int \hyperlink{MTX_8ih_a5}{MTX\_\-\_\-lock} (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} mutex) ATTR\_\-UNUSED\_\-OK
\begin{CompactList}\small\item\em Locks the mutex. This call may block until the mutex can be locked. \item\end{CompactList}\item 
MTX\_\-\_\-EXP\_\-PROTO unsigned int \hyperlink{MTX_8ih_a6}{MTX\_\-\_\-unlock} (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} mutex) ATTR\_\-UNUSED\_\-OK
\begin{CompactList}\small\item\em Unlocks the mutex. \item\end{CompactList}\item 
MTX\_\-\_\-EXP\_\-PROTO unsigned int \hyperlink{MTX_8ih_a7}{MTX\_\-\_\-destroy} (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} mutex) ATTR\_\-UNUSED\_\-OK
\begin{CompactList}\small\item\em Destroys the mutex. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Simple mutex, inline interface and implementation. 

\begin{Desc}
\item[Author:]JJRussell - \href{mailto:russell@slac.stanford.edu}{\tt russell@slac.stanford.edu}\end{Desc}


\footnotesize\begin{verbatim}

    CVS $Id: MTX.ih,v 1.3 2005/10/01 01:00:11 russell Exp $
\end{verbatim}\normalsize


\subsection{Function Documentation}
\hypertarget{MTX_8ih_a4}{
\index{MTX.ih@{MTX.ih}!MTX__create@{MTX\_\-\_\-create}}
\index{MTX__create@{MTX\_\-\_\-create}!MTX.ih@{MTX.ih}}
\subsubsection[MTX\_\-\_\-create]{\setlength{\rightskip}{0pt plus 5cm}MTX\_\-\_\-EXP\_\-PROTO \hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} MTX\_\-\_\-create (unsigned int {\em options})}}
\label{MTX_8ih_a4}


Creates a mutex. 

\begin{Desc}
\item[Returns:]Status\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em options}]A bit mask of options formed from the enumeration MTX\_\-OPTIONS\_\-M \end{description}
\end{Desc}


Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=118pt]{MTX_8ih_a4_cgraph}
\end{center}
\end{figure}
\hypertarget{MTX_8ih_a7}{
\index{MTX.ih@{MTX.ih}!MTX__destroy@{MTX\_\-\_\-destroy}}
\index{MTX__destroy@{MTX\_\-\_\-destroy}!MTX.ih@{MTX.ih}}
\subsubsection[MTX\_\-\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}MTX\_\-\_\-EXP\_\-PROTO unsigned int MTX\_\-\_\-destroy (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} {\em mutex})}}
\label{MTX_8ih_a7}


Destroys the mutex. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mutex}]The mutex to destroy \end{description}
\end{Desc}


Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=121pt]{MTX_8ih_a7_cgraph}
\end{center}
\end{figure}
\hypertarget{MTX_8ih_a5}{
\index{MTX.ih@{MTX.ih}!MTX__lock@{MTX\_\-\_\-lock}}
\index{MTX__lock@{MTX\_\-\_\-lock}!MTX.ih@{MTX.ih}}
\subsubsection[MTX\_\-\_\-lock]{\setlength{\rightskip}{0pt plus 5cm}MTX\_\-\_\-EXP\_\-PROTO unsigned int MTX\_\-\_\-lock (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} {\em mutex})}}
\label{MTX_8ih_a5}


Locks the mutex. This call may block until the mutex can be locked. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mutex}]The mutex to lock \end{description}
\end{Desc}
\hypertarget{MTX_8ih_a6}{
\index{MTX.ih@{MTX.ih}!MTX__unlock@{MTX\_\-\_\-unlock}}
\index{MTX__unlock@{MTX\_\-\_\-unlock}!MTX.ih@{MTX.ih}}
\subsubsection[MTX\_\-\_\-unlock]{\setlength{\rightskip}{0pt plus 5cm}MTX\_\-\_\-EXP\_\-PROTO unsigned int MTX\_\-\_\-unlock (\hyperlink{MTX_8h_8px-xxx-xxx_a0}{MTX} {\em mutex})}}
\label{MTX_8ih_a6}


Unlocks the mutex. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mutex}]The mutex to lock \end{description}
\end{Desc}
