\hypertarget{vocMsg_8c}{ \section{vocMsg.c File Reference} \label{vocMsg_8c}\index{vocMsg.c@{vocMsg.c}} } {\tt \#include $<$stdio.h$>$}\par {\tt \#include $<$string.h$>$}\par {\tt \#include $<$stddef.h$>$}\par {\tt \#include $<$stdlib.h$>$}\par {\tt \#include $<$unistd.h$>$}\par {\tt \#include $<$ctype.h$>$}\par {\tt \#include $<$pthread.h$>$}\par {\tt \#include $<$sys/file.h$>$}\par {\tt \#include $<$sys/types.h$>$}\par {\tt \#include $<$sys/socket.h$>$}\par {\tt \#include $<$sys/select.h$>$}\par {\tt \#include $<$sys/time.h$>$}\par {\tt \#include $<$netinet/in.h$>$}\par {\tt \#include $<$sys/un.h$>$}\par {\tt \#include $<$errno.h$>$}\par {\tt \#include $<$signal.h$>$}\par {\tt \#include $<$netdb.h$>$}\par {\tt \#include $<$fcntl.h$>$}\par {\tt \#include $<$sys/uio.h$>$}\par {\tt \#include \char`\"{}VOClient.h\char`\"{}}\par \subsection*{Defines} \begin{CompactItemize} \item \hypertarget{vocMsg_8c_96522681f45fae55d1e17bcb63620e45}{ \#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}} \label{vocMsg_8c_96522681f45fae55d1e17bcb63620e45} \item \hypertarget{vocMsg_8c_578d5b29868572f072202c1ae23ea3dd}{ \#define \textbf{SELWIDTH}~32} \label{vocMsg_8c_578d5b29868572f072202c1ae23ea3dd} \item \hypertarget{vocMsg_8c_db119203ebbaf890a9648abbeb59ad92}{ \#define \textbf{SZ\_\-CHUNK}~4096} \label{vocMsg_8c_db119203ebbaf890a9648abbeb59ad92} \item \hypertarget{vocMsg_8c_d1a1c40536cc314c339296c65d860c83}{ \#define \textbf{SZ\_\-BULKDATA}~1024000} \label{vocMsg_8c_d1a1c40536cc314c339296c65d860c83} \end{CompactItemize} \subsection*{Functions} \begin{CompactItemize} \item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5}{msg\_\-newCallMsg} (ObjectID objid, char $\ast$method, int nparams) \begin{CompactList}\small\item\em Create a CALL message structure initialized w/ parameters. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a}{msg\_\-newResultMsg} (int status, int type, int nitems) \begin{CompactList}\small\item\em Create a RESULT message structure initialized w/ parameters. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_77b1550e78504576d33c763da2e0e10e}{msg\_\-newMsg} (char $\ast$msgclass, char $\ast$str) \begin{CompactList}\small\item\em Create a MSG message initialized w/ parameters. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644}{msg\_\-shutdownMsg} () \begin{CompactList}\small\item\em Create a END message to shutdown the server. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4}{msg\_\-quitMsg} () \begin{CompactList}\small\item\em Create a QUIT message. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e}{msg\_\-ackMsg} () \begin{CompactList}\small\item\em Create an ACK message. \item\end{CompactList}\item vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134}{msg\_\-noackMsg} () \begin{CompactList}\small\item\em Create a NOACK message. \item\end{CompactList}\item vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486}{msg\_\-sendMsg} (int fd, vocMsg\_\-t $\ast$msg) \begin{CompactList}\small\item\em Send the message to the VOClient server. \item\end{CompactList}\item int \hyperlink{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965}{msg\_\-sendRawMsg} (int fd, vocMsg\_\-t $\ast$msg) \begin{CompactList}\small\item\em Send the message to the VOClient server. \item\end{CompactList}\item vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468}{msg\_\-getResult} (int fd) \begin{CompactList}\small\item\em Read and parse a result message. \item\end{CompactList}\item vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_97a642f02095c629a992c67a7cc09080}{msg\_\-getResultToFile} (int fd, char $\ast$fname, int overwrite) \begin{CompactList}\small\item\em Read and parse a result message, saving data to named file. \item\end{CompactList}\item void \hyperlink{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2}{msg\_\-addIntParam} (vocMsg\_\-t $\ast$msg, int ival) \begin{CompactList}\small\item\em Add a int parameter to an outgoing CALL message. \item\end{CompactList}\item void \hyperlink{vocMsg_8c_eae320530430c840411cb1c401b88033}{msg\_\-addFloatParam} (vocMsg\_\-t $\ast$msg, double dval) \begin{CompactList}\small\item\em Add a float parameter to an outgoing CALL message. \item\end{CompactList}\item void \hyperlink{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707}{msg\_\-addStringParam} (vocMsg\_\-t $\ast$msg, char $\ast$str) \begin{CompactList}\small\item\em Add a string parameter to an outgoing CALL message. \item\end{CompactList}\item void \hyperlink{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5}{msg\_\-addIntResult} (vocMsg\_\-t $\ast$msg, int ival) \begin{CompactList}\small\item\em Add a integer value to a RESULT string. \item\end{CompactList}\item \hypertarget{vocMsg_8c_a828295a8b60db29870c8bdb1e6922ba}{ void \textbf{msg\_\-addFloatResult} (vocMsg\_\-t $\ast$msg, double dval)} \label{vocMsg_8c_a828295a8b60db29870c8bdb1e6922ba} \item void \hyperlink{vocMsg_8c_51fb5ca640761a4e517562dee9698fff}{msg\_\-addStringResult} (vocMsg\_\-t $\ast$msg, char $\ast$str) \begin{CompactList}\small\item\em Add a string value to a RESULT string. \item\end{CompactList}\item int \hyperlink{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809}{msg\_\-resultStatus} (vocRes\_\-t $\ast$res) \begin{CompactList}\small\item\em Get result status. \item\end{CompactList}\item int \hyperlink{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36}{msg\_\-resultType} (vocRes\_\-t $\ast$res) \begin{CompactList}\small\item\em Get result type. \item\end{CompactList}\item int \hyperlink{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c}{msg\_\-resultLength} (vocRes\_\-t $\ast$res) \begin{CompactList}\small\item\em Get result length. \item\end{CompactList}\item int \hyperlink{vocMsg_8c_44250b9b039021f88ddf37fbe5361065}{msg\_\-getIntResult} (vocRes\_\-t $\ast$res, int index) \begin{CompactList}\small\item\em Get an integer result by index. \item\end{CompactList}\item double \hyperlink{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd}{msg\_\-getFloatResult} (vocRes\_\-t $\ast$res, int index) \begin{CompactList}\small\item\em Get a float result by index. \item\end{CompactList}\item char $\ast$ \hyperlink{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746}{msg\_\-getStringResult} (vocRes\_\-t $\ast$res, int index) \begin{CompactList}\small\item\em Get a string result by index. \item\end{CompactList}\item void $\ast$ \hyperlink{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe}{msg\_\-getBuffer} (vocRes\_\-t $\ast$res) \begin{CompactList}\small\item\em Get result buffer. \item\end{CompactList}\end{CompactItemize} \subsection*{Variables} \begin{CompactItemize} \item \hypertarget{vocMsg_8c_e8b9013ac3d6a8f93991444d8c8c5919}{ VOClient $\ast$ \textbf{vo}} \label{vocMsg_8c_e8b9013ac3d6a8f93991444d8c8c5919} \end{CompactItemize} \label{_details} \hypertarget{_details}{} \subsection{Detailed Description} VOCMSG.C -- VOClient Messaging Interface. This interface is used internally to communicate between the API and the VOClient Daemon. msg = newCallMsg (objid, method, nparams) msg = newResultMsg (status, type, nitems) msg = newMsg (msgclass, str) msgAddIntParam (msg, ival) msgAddFloatParam (msg, dval) msgAddStringParam (msg, str) msgAddIntResult (msg, ival) msgAddFloatResult (msg, dval) msgAddStringResult (msg, str) sendMsg (fd, msg) freeMsg (msg) res = getResult (fd) \# for reading RESULT msgs freeResult (res) stat = resultStatus (res) type = resultType (res) nitems = resultLength (res) ival = getIntResult (res, index) dval = getFloatResult (res, index) str = getStringResult (res, index) \begin{Desc} \item[Author:]Michael Fitzpatrick \end{Desc} \begin{Desc} \item[Version:]June 2006 \end{Desc} \subsection{Function Documentation} \hypertarget{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-ackMsg@{msg\_\-ackMsg}} \index{msg\_\-ackMsg@{msg\_\-ackMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-ackMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-ackMsg (void)}} \label{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e} Create an ACK message. MSG\_\-ACKMSG -- Create an ACK message to the VOClient Server. \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_eae320530430c840411cb1c401b88033}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-addFloatParam@{msg\_\-addFloatParam}} \index{msg\_\-addFloatParam@{msg\_\-addFloatParam}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-addFloatParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addFloatParam (vocMsg\_\-t $\ast$ {\em msg}, \/ double {\em dval})}} \label{vocMsg_8c_eae320530430c840411cb1c401b88033} Add a float parameter to an outgoing CALL message. MSG\_\-ADDFLOATPARAM -- Add a float parameter to an outgoing CALL message. We simply append to an existing message. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]outgoing message \item[{\em dval}]double value \end{description} \end{Desc} \begin{Desc} \item[Returns:]nothing \end{Desc} \hypertarget{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-addIntParam@{msg\_\-addIntParam}} \index{msg\_\-addIntParam@{msg\_\-addIntParam}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-addIntParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addIntParam (vocMsg\_\-t $\ast$ {\em msg}, \/ int {\em ival})}} \label{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2} Add a int parameter to an outgoing CALL message. MSG\_\-ADDINTPARAM -- Add a int parameter to an outgoing CALL message. We simply append to an existing message. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]outgoing message \item[{\em ival}]integer value \end{description} \end{Desc} \begin{Desc} \item[Returns:]nothing \end{Desc} \hypertarget{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-addIntResult@{msg\_\-addIntResult}} \index{msg\_\-addIntResult@{msg\_\-addIntResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-addIntResult}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addIntResult (vocMsg\_\-t $\ast$ {\em msg}, \/ int {\em ival})}} \label{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5} Add a integer value to a RESULT string. MSG\_\-ADDINTRESULT -- Add an integer value to a RESULT string. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]result string \item[{\em ival}]integer value \end{description} \end{Desc} \begin{Desc} \item[Returns:]nothing \end{Desc} \hypertarget{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-addStringParam@{msg\_\-addStringParam}} \index{msg\_\-addStringParam@{msg\_\-addStringParam}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-addStringParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addStringParam (vocMsg\_\-t $\ast$ {\em msg}, \/ char $\ast$ {\em str})}} \label{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707} Add a string parameter to an outgoing CALL message. MSG\_\-ADDSTRINGPARAM -- Add a string parameter to an outgoing CALL message. We simply append to an existing message. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]outgoing message \item[{\em str}]string value \end{description} \end{Desc} \begin{Desc} \item[Returns:]nothing \end{Desc} \hypertarget{vocMsg_8c_51fb5ca640761a4e517562dee9698fff}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-addStringResult@{msg\_\-addStringResult}} \index{msg\_\-addStringResult@{msg\_\-addStringResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-addStringResult}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addStringResult (vocMsg\_\-t $\ast$ {\em msg}, \/ char $\ast$ {\em str})}} \label{vocMsg_8c_51fb5ca640761a4e517562dee9698fff} Add a string value to a RESULT string. MSG\_\-ADDSTRINGRESULT -- Add a string value to a RESULT string. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]result string \item[{\em str}]string value \end{description} \end{Desc} \begin{Desc} \item[Returns:]nothing \end{Desc} \hypertarget{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getBuffer@{msg\_\-getBuffer}} \index{msg\_\-getBuffer@{msg\_\-getBuffer}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getBuffer}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-getBuffer (vocRes\_\-t $\ast$ {\em res})}} \label{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe} Get result buffer. MSG\_\-GETBUFFER -- Get result buffer. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em res}]result message \end{description} \end{Desc} \begin{Desc} \item[Returns:]pointer to result buffer \end{Desc} \hypertarget{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getFloatResult@{msg\_\-getFloatResult}} \index{msg\_\-getFloatResult@{msg\_\-getFloatResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getFloatResult}]{\setlength{\rightskip}{0pt plus 5cm}dval msg\_\-getFloatResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}} \label{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd} Get a float result by index. MSG\_\-GETFLOATRESULT -- Get a float result by index. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em res}]result message \item[{\em index}]result index \end{description} \end{Desc} \begin{Desc} \item[Returns:]float value \end{Desc} \hypertarget{vocMsg_8c_44250b9b039021f88ddf37fbe5361065}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getIntResult@{msg\_\-getIntResult}} \index{msg\_\-getIntResult@{msg\_\-getIntResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getIntResult}]{\setlength{\rightskip}{0pt plus 5cm}ival msg\_\-getIntResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}} \label{vocMsg_8c_44250b9b039021f88ddf37fbe5361065} Get an integer result by index. MSG\_\-GETINTRESULT -- Get an integer result by index. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em res}]result message \item[{\em index}]result index \end{description} \end{Desc} \begin{Desc} \item[Returns:]integer value \end{Desc} \hypertarget{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getResult@{msg\_\-getResult}} \index{msg\_\-getResult@{msg\_\-getResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getResult}]{\setlength{\rightskip}{0pt plus 5cm}res msg\_\-getResult (int {\em fd})}} \label{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468} Read and parse a result message. MSG\_\-GETRESULT -- Read and parse a result message. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em fd}]message channel descriptor \end{description} \end{Desc} \begin{Desc} \item[Returns:]result message object \end{Desc} \hypertarget{vocMsg_8c_97a642f02095c629a992c67a7cc09080}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getResultToFile@{msg\_\-getResultToFile}} \index{msg\_\-getResultToFile@{msg\_\-getResultToFile}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getResultToFile}]{\setlength{\rightskip}{0pt plus 5cm}res msg\_\-getResultToFile (int {\em fd}, \/ char $\ast$ {\em fname}, \/ int {\em overwrite})}} \label{vocMsg_8c_97a642f02095c629a992c67a7cc09080} Read and parse a result message, saving data to named file. MSG\_\-GETRESULTTOFILE -- Read and parse a result message, save bulk data to the named file. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em fd}]message channel descriptor \end{description} \end{Desc} \begin{Desc} \item[Returns:]result message object \end{Desc} \hypertarget{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-getStringResult@{msg\_\-getStringResult}} \index{msg\_\-getStringResult@{msg\_\-getStringResult}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-getStringResult}]{\setlength{\rightskip}{0pt plus 5cm}str msg\_\-getStringResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}} \label{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746} Get a string result by index. MSG\_\-GETSTRINGRESULT -- Get a string result by index. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em res}]result message \item[{\em index}]result index \end{description} \end{Desc} \begin{Desc} \item[Returns:]string value \end{Desc} \hypertarget{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-newCallMsg@{msg\_\-newCallMsg}} \index{msg\_\-newCallMsg@{msg\_\-newCallMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-newCallMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newCallMsg (ObjectID {\em objid}, \/ char $\ast$ {\em method}, \/ int {\em nparams})}} \label{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5} Create a CALL message structure initialized w/ parameters. MSG\_\-NEWCALLMSG -- Create a CALL message structure and initialize with the requested parameters. Structures are allocated dynamically, the caller is responsible for freeing the struct when finished. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em objid}]object id \item[{\em method}]name of method to call \item[{\em nparams}]number of parameters in message \end{description} \end{Desc} \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_77b1550e78504576d33c763da2e0e10e}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-newMsg@{msg\_\-newMsg}} \index{msg\_\-newMsg@{msg\_\-newMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-newMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newMsg (char $\ast$ {\em msgclass}, \/ char $\ast$ {\em str})}} \label{vocMsg_8c_77b1550e78504576d33c763da2e0e10e} Create a MSG message initialized w/ parameters. MSG\_\-NEWMSG -- Create a new MSG message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msgclass}]message class \item[{\em str}]message string \end{description} \end{Desc} \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-newResultMsg@{msg\_\-newResultMsg}} \index{msg\_\-newResultMsg@{msg\_\-newResultMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-newResultMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newResultMsg (int {\em status}, \/ int {\em type}, \/ int {\em nitems})}} \label{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a} Create a RESULT message structure initialized w/ parameters. MSG\_\-NEWRESULTMSG -- Create a new RESULT message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em status}]result status \item[{\em type}]result type \item[{\em nitems}]number of items in message \end{description} \end{Desc} \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-noackMsg@{msg\_\-noackMsg}} \index{msg\_\-noackMsg@{msg\_\-noackMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-noackMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-noackMsg (void)}} \label{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134} Create a NOACK message. MSG\_\-NOACKMSG -- Create an NO-ACK message to the VOClient Server. \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-quitMsg@{msg\_\-quitMsg}} \index{msg\_\-quitMsg@{msg\_\-quitMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-quitMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-quitMsg (void)}} \label{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4} Create a QUIT message. MSG\_\-QUITMSG -- Create a QUIT message to the VOClient Server to tell it we're leaving but that it should keep running \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-resultLength@{msg\_\-resultLength}} \index{msg\_\-resultLength@{msg\_\-resultLength}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-resultLength}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-resultLength (vocRes\_\-t $\ast$ {\em res})}} \label{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c} Get result length. MSG\_\-RESULTLENGTH -- Get result length. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]result string \end{description} \end{Desc} \begin{Desc} \item[Returns:]result length \end{Desc} \hypertarget{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-resultStatus@{msg\_\-resultStatus}} \index{msg\_\-resultStatus@{msg\_\-resultStatus}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-resultStatus}]{\setlength{\rightskip}{0pt plus 5cm}status msg\_\-resultStatus (vocRes\_\-t $\ast$ {\em res})}} \label{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809} Get result status. MSG\_\-RESULTSTATUS -- Get result status. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]result string \end{description} \end{Desc} \begin{Desc} \item[Returns:]result status \end{Desc} \hypertarget{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-resultType@{msg\_\-resultType}} \index{msg\_\-resultType@{msg\_\-resultType}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-resultType}]{\setlength{\rightskip}{0pt plus 5cm}type msg\_\-resultType (vocRes\_\-t $\ast$ {\em res})}} \label{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36} Get result type. MSG\_\-RESULTTYPE -- Get result type. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em msg}]result string \end{description} \end{Desc} \begin{Desc} \item[Returns:]result type \end{Desc} \hypertarget{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-sendMsg@{msg\_\-sendMsg}} \index{msg\_\-sendMsg@{msg\_\-sendMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-sendMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-sendMsg (int {\em fd}, \/ vocMsg\_\-t $\ast$ {\em msg})}} \label{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486} Send the message to the VOClient server. MSG\_\-SENDMSG -- Send the message to the VOClient Server and wait for the ACK. The simple form of the message returns the result handle, for the raw message we only send to allow to a bullk return object. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em fd}]message channel descriptor \item[{\em str}]message string \end{description} \end{Desc} \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-sendRawMsg@{msg\_\-sendRawMsg}} \index{msg\_\-sendRawMsg@{msg\_\-sendRawMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-sendRawMsg}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-sendRawMsg (int {\em fd}, \/ vocMsg\_\-t $\ast$ {\em msg})}} \label{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965} Send the message to the VOClient server. MSG\_\-SENDRAWMSG -- Send the message to the VOClient Server. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em fd}]message channel descriptor \item[{\em str}]message string \end{description} \end{Desc} \begin{Desc} \item[Returns:]a new message object \end{Desc} \hypertarget{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644}{ \index{vocMsg.c@{vocMsg.c}!msg\_\-shutdownMsg@{msg\_\-shutdownMsg}} \index{msg\_\-shutdownMsg@{msg\_\-shutdownMsg}!vocMsg.c@{vocMsg.c}} \subsubsection[{msg\_\-shutdownMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-shutdownMsg (void)}} \label{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644} Create a END message to shutdown the server. MSG\_\-SHUTDOWNMSG -- Create an END message to the VOClient Server to shut it down. \begin{Desc} \item[Returns:]a new message object \end{Desc}