\rhead{\bf MC\_AclWaitRetrieve()}
\noindent
\vspace{5pt}
\rule{6.5in}{0.015in}
\noindent
\phantomsection
{\LARGE \bf MC\_AclWaitRetrieve()\index{MC\_AclWaitRetrieve()}}\\
\addcontentsline{toc}{section}{MC\_AclWaitRetrieve()}
\label{api:MC_AclWaitRetrieve()}

\noindent
{\bf Synopsis}\\
{\bf \#include $<$libmc.h$>$}\\
{\bf fipa\_acl\_message\_t MC\_AclWaitRetrieve}({\bf MCAgent\_t} agent);\\

\noindent
{\bf Purpose}\\
Wait until there is a message in an agent's mailbox and retrieve it.\\

\noindent
{\bf Return Value}\\
An ACL message on success, or NULL on failure. Possible causes for failure
include ACL Message parsing errors, as well as spurious condition variable
signals.\\

\noindent
{\bf Parameters}
\vspace{-0.1in}
\begin{description}
\item
\begin{tabular}{p{10 mm}p{145 mm}} 
$agent$ & An initialized agent.
\end{tabular}
\end{description}

\noindent
{\bf Description}\\
This function is used to wait for activity on an empty mailbox. If this
function is called on an empty mailbox, the function will block indefinitely
until a message is posted to the mailbox. Once a message is posted, the
function will unblock and return the new message. \\

\noindent
{\bf Example}\\
\noindent
{\footnotesize\verbatiminput{../demos/FIPA_compliant_ACL_messages/fipa_test/test1.xml}}

\noindent
{\bf See Also}\\
\texttt{
  MC\_AclNew(), MC\_AclPost(), MC\_AclReply(), MC\_AclSend(), 
    \linebreak MC\_AclWaitRetrieve()
}

%\CPlot::\DataThreeD(), \CPlot::\DataFile(), \CPlot::\Plotting(), \plotxy().\\
