\hypertarget{lo__types_8h}{}\section{lo\+\_\+types.\+h File Reference}
\label{lo__types_8h}\index{lo\_types.h@{lo\_types.h}}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{lo__types_8h_a2562ddc2c52b4309936ce00c2885e43f}{L\+O\+\_\+\+D\+I\+S\+A\+B\+LE}}~0
\begin{DoxyCompactList}\small\item\em Disable a boolean option. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{lo__types_8h_a61eb74c036c28379c5bf7d97441ef9aa}{L\+O\+\_\+\+E\+N\+A\+B\+LE}}~1
\begin{DoxyCompactList}\small\item\em Enable a boolean option. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}
\begin{DoxyCompactList}\small\item\em A reference to an O\+SC service. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}}
\begin{DoxyCompactList}\small\item\em A object to store an opaque binary data object. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}
\begin{DoxyCompactList}\small\item\em A low-\/level object used to represent messages passed over O\+SC. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}
\begin{DoxyCompactList}\small\item\em A low-\/level object used to represent bundles of messages passed over O\+SC. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}}
\begin{DoxyCompactList}\small\item\em An object representing an method on a server. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}
\begin{DoxyCompactList}\small\item\em An object representing an instance of an O\+SC server. \end{DoxyCompactList}\item 
typedef void $\ast$ \mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}}
\begin{DoxyCompactList}\small\item\em An object representing a thread containing an O\+SC server. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}) (int num, const char $\ast$msg, const char $\ast$where)
\begin{DoxyCompactList}\small\item\em A callback function to receive notification of an error in a server or server thread. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}{lo\+\_\+method\+\_\+handler}}) (const char $\ast$path, const char $\ast$types, \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$$\ast$argv, int argc, \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} msg, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em A callback function to receive notification of matching message arriving in the server or server thread. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{lo__types_8h_a056b3149631bb154049fa12101838b35}{lo\+\_\+bundle\+\_\+start\+\_\+handler}}) (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} time, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em A callback function to receive notification of a bundle being dispatched by the server or server thread. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{lo__types_8h_ad5445ab4f0e562d715162d2ab7bbe85f}{lo\+\_\+bundle\+\_\+end\+\_\+handler}}) (void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em A callback function to receive notification of a bundle dispatch being completed by the server or server thread. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{lo__types_8h_aed5d674714d659d776d848d716d9efbc}{lo\+\_\+server\+\_\+thread\+\_\+init\+\_\+callback}}) (\mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}} s, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em A callback function to perform initialization when the server thread is started. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{lo__types_8h_a2be941151f7a8ae193ba1687b41b2dc4}{lo\+\_\+server\+\_\+thread\+\_\+cleanup\+\_\+callback}}) (\mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}} s, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em A callback function to perform cleanup when the server thread is started. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The liblo headerfile defining types used by this A\+PI. 

\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{lo__types_8h_a2562ddc2c52b4309936ce00c2885e43f}\label{lo__types_8h_a2562ddc2c52b4309936ce00c2885e43f}} 
\index{lo\_types.h@{lo\_types.h}!LO\_DISABLE@{LO\_DISABLE}}
\index{LO\_DISABLE@{LO\_DISABLE}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{LO\_DISABLE}{LO\_DISABLE}}
{\footnotesize\ttfamily \#define L\+O\+\_\+\+D\+I\+S\+A\+B\+LE~0}



Disable a boolean option. 



Definition at line 37 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a61eb74c036c28379c5bf7d97441ef9aa}\label{lo__types_8h_a61eb74c036c28379c5bf7d97441ef9aa}} 
\index{lo\_types.h@{lo\_types.h}!LO\_ENABLE@{LO\_ENABLE}}
\index{LO\_ENABLE@{LO\_ENABLE}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{LO\_ENABLE}{LO\_ENABLE}}
{\footnotesize\ttfamily \#define L\+O\+\_\+\+E\+N\+A\+B\+LE~1}



Enable a boolean option. 



Definition at line 38 of file lo\+\_\+types.\+h.



\subsection{Typedef Documentation}
\mbox{\Hypertarget{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}\label{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}} 
\index{lo\_types.h@{lo\_types.h}!lo\_address@{lo\_address}}
\index{lo\_address@{lo\_address}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_address}{lo\_address}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}



A reference to an O\+SC service. 

Created by calls to \mbox{\hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new()}} or \mbox{\hyperlink{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url()}}. 

Definition at line 45 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}\label{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}} 
\index{lo\_types.h@{lo\_types.h}!lo\_blob@{lo\_blob}}
\index{lo\_blob@{lo\_blob}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_blob}{lo\_blob}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}}}



A object to store an opaque binary data object. 

Can be passed over O\+SC using the \textquotesingle{}b\textquotesingle{} type. Created by calls to \mbox{\hyperlink{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}{lo\+\_\+blob\+\_\+new()}}. 

Definition at line 52 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}\label{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}} 
\index{lo\_types.h@{lo\_types.h}!lo\_bundle@{lo\_bundle}}
\index{lo\_bundle@{lo\_bundle}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_bundle}{lo\_bundle}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}



A low-\/level object used to represent bundles of messages passed over O\+SC. 

Created by calls to \mbox{\hyperlink{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}{lo\+\_\+bundle\+\_\+new()}}, messages can be added with calls to \mbox{\hyperlink{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}{lo\+\_\+bundle\+\_\+add\+\_\+message()}}. 

Definition at line 69 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_ad5445ab4f0e562d715162d2ab7bbe85f}\label{lo__types_8h_ad5445ab4f0e562d715162d2ab7bbe85f}} 
\index{lo\_types.h@{lo\_types.h}!lo\_bundle\_end\_handler@{lo\_bundle\_end\_handler}}
\index{lo\_bundle\_end\_handler@{lo\_bundle\_end\_handler}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_bundle\_end\_handler}{lo\_bundle\_end\_handler}}
{\footnotesize\ttfamily typedef int($\ast$ lo\+\_\+bundle\+\_\+end\+\_\+handler) (void $\ast$user\+\_\+data)}



A callback function to receive notification of a bundle dispatch being completed by the server or server thread. 

If installed with lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers, this callback will be called after all the messages of a bundle have been dispatched with {\itshape user\+\_\+data} set to the user\+\_\+data parameter passed to lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers. 

Definition at line 166 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a056b3149631bb154049fa12101838b35}\label{lo__types_8h_a056b3149631bb154049fa12101838b35}} 
\index{lo\_types.h@{lo\_types.h}!lo\_bundle\_start\_handler@{lo\_bundle\_start\_handler}}
\index{lo\_bundle\_start\_handler@{lo\_bundle\_start\_handler}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_bundle\_start\_handler}{lo\_bundle\_start\_handler}}
{\footnotesize\ttfamily typedef int($\ast$ lo\+\_\+bundle\+\_\+start\+\_\+handler) (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} time, void $\ast$user\+\_\+data)}



A callback function to receive notification of a bundle being dispatched by the server or server thread. 

This callback allows applications to be aware of incoming bundles and preserve ordering and atomicity of messages in bundles.

If installed with lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers, this callback will be called with {\itshape time} set to the time tag of the bundle, and {\itshape user\+\_\+data} set to the user\+\_\+data parameter passed to lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers.

Note that bundles may be nested, in which case calls to the bundle start and end handlers will also be nested. The application can keep track of nested bundles in a stack-\/like manner by treating the start handler as \char`\"{}push\char`\"{} and the end handler as \char`\"{}pop\char`\"{}. For example, a bundle containing two bundles would fire 6 callbacks\+: begin, begin, end, begin, end, end. 

Definition at line 155 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_aa4406d5e90db364c02337656e6c95250}\label{lo__types_8h_aa4406d5e90db364c02337656e6c95250}} 
\index{lo\_types.h@{lo\_types.h}!lo\_err\_handler@{lo\_err\_handler}}
\index{lo\_err\_handler@{lo\_err\_handler}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_err\_handler}{lo\_err\_handler}}
{\footnotesize\ttfamily typedef void($\ast$ lo\+\_\+err\+\_\+handler) (int num, const char $\ast$msg, const char $\ast$where)}



A callback function to receive notification of an error in a server or server thread. 

On callback the parameters will be set to the following values\+:


\begin{DoxyParams}{Parameters}
{\em num} & An error number that can be used to identify this condition. \\
\hline
{\em msg} & An error message describing the condidtion. \\
\hline
{\em where} & A string describing the place the error occured -\/ typically either a function call or method path. \\
\hline
\end{DoxyParams}


Definition at line 105 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}\label{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}} 
\index{lo\_types.h@{lo\_types.h}!lo\_message@{lo\_message}}
\index{lo\_message@{lo\_message}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_message}{lo\_message}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}



A low-\/level object used to represent messages passed over O\+SC. 

Created by calls to \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new()}}, arguments can be added with calls to lo\+\_\+message\+\_\+add\+\_\+$\ast$(). 

Definition at line 60 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a66faedf5da13231d8c0166870477dce5}\label{lo__types_8h_a66faedf5da13231d8c0166870477dce5}} 
\index{lo\_types.h@{lo\_types.h}!lo\_method@{lo\_method}}
\index{lo\_method@{lo\_method}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_method}{lo\_method}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}}}



An object representing an method on a server. 

Returned by calls to \mbox{\hyperlink{lo__serverthread_8h_af500729c76fd5bb4798d350b6307adc1}{lo\+\_\+server\+\_\+thread\+\_\+add\+\_\+method()}} and \mbox{\hyperlink{group__liblolowlevel_ga56c5f1d587c215c27e92e6436e12b1a3}{lo\+\_\+server\+\_\+add\+\_\+method()}}. 

Definition at line 77 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}\label{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}} 
\index{lo\_types.h@{lo\_types.h}!lo\_method\_handler@{lo\_method\_handler}}
\index{lo\_method\_handler@{lo\_method\_handler}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_method\_handler}{lo\_method\_handler}}
{\footnotesize\ttfamily typedef int($\ast$ lo\+\_\+method\+\_\+handler) (const char $\ast$path, const char $\ast$types, \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$$\ast$argv, int argc, \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} msg, void $\ast$user\+\_\+data)}



A callback function to receive notification of matching message arriving in the server or server thread. 

The return value tells the method dispatcher whether this handler has dealt with the message correctly\+: a return value of 0 indicates that it has been handled, and it should not attempt to pass it on to any other handlers, non-\/0 means that it has not been handled and the dispatcher will attempt to find more handlers that match the path and types of the incoming message.

On callback the paramters will be set to the following values\+:


\begin{DoxyParams}{Parameters}
{\em path} & That path that the incoming message was sent to \\
\hline
{\em types} & If you specided types in your method creation call then this will match those and the incoming types will have been coerced to match, otherwise it will be the types of the arguments of the incoming message. \\
\hline
{\em argv} & An array of \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} types containing the values, e.\+g. if the first argument of the incoming message is of type \textquotesingle{}f\textquotesingle{} then the value will be found in argv\mbox{[}0\mbox{]}-\/$>$f. \\
\hline
{\em argc} & The number of arguments received. \\
\hline
{\em msg} & A structure containing the original raw message as received. No type coercion will have occured and the data will be in O\+SC byte order (bigendian). \\
\hline
{\em user\+\_\+data} & This contains the user\+\_\+data value passed in the call to lo\+\_\+server\+\_\+thread\+\_\+add\+\_\+method. \\
\hline
\end{DoxyParams}


Definition at line 134 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}\label{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}} 
\index{lo\_types.h@{lo\_types.h}!lo\_server@{lo\_server}}
\index{lo\_server@{lo\_server}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_server}{lo\_server}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}



An object representing an instance of an O\+SC server. 

Created by calls to \mbox{\hyperlink{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}{lo\+\_\+server\+\_\+new()}}. If you wish to have the server operate in a background thread, use lo\+\_\+server\+\_\+thread instead. 

Definition at line 85 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}\label{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}} 
\index{lo\_types.h@{lo\_types.h}!lo\_server\_thread@{lo\_server\_thread}}
\index{lo\_server\_thread@{lo\_server\_thread}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_server\_thread}{lo\_server\_thread}}
{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}}}



An object representing a thread containing an O\+SC server. 

Created by calls to \mbox{\hyperlink{lo__serverthread_8h_abe3e0c31189adfd7624de6c507b610ba}{lo\+\_\+server\+\_\+thread\+\_\+new()}}. 

Definition at line 92 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_a2be941151f7a8ae193ba1687b41b2dc4}\label{lo__types_8h_a2be941151f7a8ae193ba1687b41b2dc4}} 
\index{lo\_types.h@{lo\_types.h}!lo\_server\_thread\_cleanup\_callback@{lo\_server\_thread\_cleanup\_callback}}
\index{lo\_server\_thread\_cleanup\_callback@{lo\_server\_thread\_cleanup\_callback}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_server\_thread\_cleanup\_callback}{lo\_server\_thread\_cleanup\_callback}}
{\footnotesize\ttfamily typedef void($\ast$ lo\+\_\+server\+\_\+thread\+\_\+cleanup\+\_\+callback) (\mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}} s, void $\ast$user\+\_\+data)}



A callback function to perform cleanup when the server thread is started. 

If installed with lo\+\_\+server\+\_\+thread\+\_\+set\+\_\+callbacks, this callback will be called in the server thread, after the server have stopped listening and processing events, before it quits. {\itshape user\+\_\+data} is set to the user\+\_\+data parameter passed to lo\+\_\+server\+\_\+thread\+\_\+add\+\_\+functions. 

Definition at line 192 of file lo\+\_\+types.\+h.

\mbox{\Hypertarget{lo__types_8h_aed5d674714d659d776d848d716d9efbc}\label{lo__types_8h_aed5d674714d659d776d848d716d9efbc}} 
\index{lo\_types.h@{lo\_types.h}!lo\_server\_thread\_init\_callback@{lo\_server\_thread\_init\_callback}}
\index{lo\_server\_thread\_init\_callback@{lo\_server\_thread\_init\_callback}!lo\_types.h@{lo\_types.h}}
\subsubsection{\texorpdfstring{lo\_server\_thread\_init\_callback}{lo\_server\_thread\_init\_callback}}
{\footnotesize\ttfamily typedef int($\ast$ lo\+\_\+server\+\_\+thread\+\_\+init\+\_\+callback) (\mbox{\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\+\_\+server\+\_\+thread}} s, void $\ast$user\+\_\+data)}



A callback function to perform initialization when the server thread is started. 

If installed with lo\+\_\+server\+\_\+thread\+\_\+set\+\_\+callbacks, this callback will be called in the server thread, just before the server starts listening for events. {\itshape user\+\_\+data} is set to the user\+\_\+data parameter passed to lo\+\_\+server\+\_\+thread\+\_\+add\+\_\+functions.

If the return value is non-\/zero, the thread start will be aborted. 

Definition at line 179 of file lo\+\_\+types.\+h.

