\hypertarget{group__liblolowlevel}{}\doxysection{Low-\/level O\+SC A\+PI}
\label{group__liblolowlevel}\index{Low-\/level OSC API@{Low-\/level OSC API}}


Use these functions if you require more precise control over O\+SC message contruction or handling that what is provided in the high-\/level functions described in liblo.  


\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef long double \mbox{\hyperlink{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}{lo\+\_\+hires}}
\begin{DoxyCompactList}\small\item\em Type used to represent numerical values in conversions between O\+SC types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{group__liblolowlevel_ga175a13c6d81adf5c346cdca9bbdcf225}{lo\+\_\+send\+\_\+message}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} targ, const char $\ast$path, \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} msg)
\begin{DoxyCompactList}\small\item\em Send a lo\+\_\+message object to target targ. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822}{lo\+\_\+send\+\_\+message\+\_\+from}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} targ, \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} serv, const char $\ast$path, \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} msg)
\begin{DoxyCompactList}\small\item\em Send a lo\+\_\+message object to target targ from address of serv. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gad1138d0f777693ae0321e3da65aee53e}{lo\+\_\+send\+\_\+bundle}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} targ, \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Send a lo\+\_\+bundle object to address targ. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gab5de220b7d6d7c2bf6b0ca4316a54b7a}{lo\+\_\+send\+\_\+bundle\+\_\+from}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} targ, \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} serv, \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Send a lo\+\_\+bundle object to address targ from address of serv. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new}} (void)
\begin{DoxyCompactList}\small\item\em Create a new lo\+\_\+message object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gae4007dd073375b8448a0c8efcb39da52}{lo\+\_\+message\+\_\+incref}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Add one to a message\textquotesingle{}s reference count. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} \mbox{\hyperlink{group__liblolowlevel_ga8cf4889aa1b479e3b6eaf8847c3b9e4f}{lo\+\_\+message\+\_\+clone}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Create a new lo\+\_\+message object by cloning an already existing one. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_ga93d3687e77ae20167b82830c917a3e50}{lo\+\_\+message\+\_\+free}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Free memory allocated by \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new()}} and any subsequent \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32}} lo\+\_\+message\+\_\+add$\ast$() calls. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga4e7a6d91a06e795ded9676d089abea24}{lo\+\_\+message\+\_\+add}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$types,...)
\begin{DoxyCompactList}\small\item\em Append a number of arguments to a message. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9cd98b0c6ad5468692fd0b1936bd093f}{lo\+\_\+message\+\_\+add\+\_\+varargs}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$types, va\+\_\+list ap)
\begin{DoxyCompactList}\small\item\em Append a varargs list to a message. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, int32\+\_\+t a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga42815097ea691fd1ec0798beca7f8e5e}{lo\+\_\+message\+\_\+add\+\_\+float}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, float a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga4ff414b1b3d87454668dfd728b830888}{lo\+\_\+message\+\_\+add\+\_\+string}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gac0ae2fc81d2a48fe63b0803637997fd4}{lo\+\_\+message\+\_\+add\+\_\+blob}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, \mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}} a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga282ef81387abab0ce18f7479a4a817b5}{lo\+\_\+message\+\_\+add\+\_\+int64}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, int64\+\_\+t a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga03f8eafa4ba598c545f30e17b23d1c89}{lo\+\_\+message\+\_\+add\+\_\+timetag}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, \mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gadd3a8441ad5a749c43694e77594cf47b}{lo\+\_\+message\+\_\+add\+\_\+double}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, double a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga90e4dab46ecaabab4e34214429d622a7}{lo\+\_\+message\+\_\+add\+\_\+symbol}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gab2423db077dea59c4049103819d2810b}{lo\+\_\+message\+\_\+add\+\_\+char}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, char a)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaaea6ac25787de608199a988dc214f32e}{lo\+\_\+message\+\_\+add\+\_\+midi}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, uint8\+\_\+t a\mbox{[}4\mbox{]})
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9da3df4838126910171a8e45ea34e9ec}{lo\+\_\+message\+\_\+add\+\_\+true}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga1c8a136e87e3d2befeb466e0a8a5a4ad}{lo\+\_\+message\+\_\+add\+\_\+false}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gabd3cd7f86137ae1a180e33c3bc5c9644}{lo\+\_\+message\+\_\+add\+\_\+nil}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga4cbd7d3834a67446b15f53acf316a72a}{lo\+\_\+message\+\_\+add\+\_\+infinitum}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} \mbox{\hyperlink{group__liblolowlevel_ga1f4e07e4f8b67edc98f4b300412a3dbb}{lo\+\_\+message\+\_\+get\+\_\+source}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Returns the source (lo\+\_\+address) of an incoming message. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} \mbox{\hyperlink{group__liblolowlevel_ga164e068064afa94454eb6515b9b1748d}{lo\+\_\+message\+\_\+get\+\_\+timestamp}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Returns the timestamp (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} $\ast$) of a bundled incoming message. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_gad3c1a312fd90bb4c35a4c1fac2d0b25d}{lo\+\_\+message\+\_\+get\+\_\+types}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Return the message type tag string. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga5b391362eda2c6019011f3db55049db3}{lo\+\_\+message\+\_\+get\+\_\+argc}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Return the message argument count. \end{DoxyCompactList}\item 
\mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$$\ast$ \mbox{\hyperlink{group__liblolowlevel_gab28b48cdbefb60eb7e57557ae9d23171}{lo\+\_\+message\+\_\+get\+\_\+argv}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Return the message arguments. Do not free the returned data. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{group__liblolowlevel_ga0855039d071b7031727213272857c27e}{lo\+\_\+message\+\_\+length}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Return the length of a message in bytes. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga5a14045edea33d63792e9a4c82e13b02}{lo\+\_\+message\+\_\+serialise}} (\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m, const char $\ast$path, void $\ast$to, size\+\_\+t $\ast$size)
\begin{DoxyCompactList}\small\item\em Serialise the lo\+\_\+message object to an area of memory and return a pointer to the serialised form. Opposite of \mbox{\hyperlink{group__liblolowlevel_ga2f4644b2a1aae0d0eee456fe93ac158e}{lo\+\_\+message\+\_\+deserialise()}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} \mbox{\hyperlink{group__liblolowlevel_ga2f4644b2a1aae0d0eee456fe93ac158e}{lo\+\_\+message\+\_\+deserialise}} (void $\ast$data, size\+\_\+t size, int $\ast$result)
\begin{DoxyCompactList}\small\item\em Deserialise a raw O\+SC message and return a new lo\+\_\+message object. Opposite of \mbox{\hyperlink{group__liblolowlevel_ga5a14045edea33d63792e9a4c82e13b02}{lo\+\_\+message\+\_\+serialise()}}. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9e96445401c94c3751de27f8db1a0b50}{lo\+\_\+server\+\_\+dispatch\+\_\+data}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, void $\ast$data, size\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Dispatch a raw block of memory containing an O\+SC message. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga7dbaa4a6dfc9d7369cfbca195809be3c}{lo\+\_\+address\+\_\+get\+\_\+hostname}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} a)
\begin{DoxyCompactList}\small\item\em Return the hostname of a lo\+\_\+address object. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga75bc15ab78de049c0e0d7e24a0d6d0c1}{lo\+\_\+address\+\_\+get\+\_\+port}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} a)
\begin{DoxyCompactList}\small\item\em Return the port/service name of a lo\+\_\+address object. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaaae09ebb4cf42e92504fe9aa7e7b2184}{lo\+\_\+address\+\_\+get\+\_\+protocol}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} a)
\begin{DoxyCompactList}\small\item\em Return the protocol of a lo\+\_\+address object. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga85d7101e9e3a3339544445b539e3a5d2}{lo\+\_\+address\+\_\+get\+\_\+url}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} a)
\begin{DoxyCompactList}\small\item\em Return a U\+RL representing an O\+SC address. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gacd72097b92411db148844d89071fd281}{lo\+\_\+address\+\_\+set\+\_\+ttl}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t, int ttl)
\begin{DoxyCompactList}\small\item\em Set the Time-\/to-\/\+Live value for a given target address. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga3652ba694ba3c153dc96917e7321131c}{lo\+\_\+address\+\_\+get\+\_\+ttl}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t)
\begin{DoxyCompactList}\small\item\em Get the Time-\/to-\/\+Live value for a given target address. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga734c5864de14a04c9e58f82d6efe4624}{lo\+\_\+address\+\_\+set\+\_\+iface}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t, const char $\ast$iface, const char $\ast$ip)
\begin{DoxyCompactList}\small\item\em Set the network interface to use for a given target address. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga2bf32a3899bd51e1054532af727a8024}{lo\+\_\+address\+\_\+get\+\_\+iface}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t)
\begin{DoxyCompactList}\small\item\em Get the name of the network interface assigned to an O\+SC address. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9d73ff7267077cc69f632cbfeb30a23e}{lo\+\_\+address\+\_\+set\+\_\+tcp\+\_\+nodelay}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t, int enable)
\begin{DoxyCompactList}\small\item\em Set the T\+C\+P\+\_\+\+N\+O\+D\+E\+L\+AY flag on outgoing T\+CP connections. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga6034e180b4f6c64097d9ec1fd3d8872e}{lo\+\_\+address\+\_\+set\+\_\+stream\+\_\+slip}} (\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} t, int enable)
\begin{DoxyCompactList}\small\item\em Set outgoing stream connections (e.\+g., T\+CP) to be transmitted using the S\+L\+IP packetizing protocol. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} \mbox{\hyperlink{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}{lo\+\_\+bundle\+\_\+new}} (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} tt)
\begin{DoxyCompactList}\small\item\em Create a new bundle object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gaef50603d58b7d9b9dfe77fabb426a528}{lo\+\_\+bundle\+\_\+incref}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Add one to a bundle\textquotesingle{}s reference count. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}{lo\+\_\+bundle\+\_\+add\+\_\+message}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, const char $\ast$path, \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} m)
\begin{DoxyCompactList}\small\item\em Adds an O\+SC message to an existing bundle. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gad28eb5916f4d5c153069a56c1252f482}{lo\+\_\+bundle\+\_\+add\+\_\+bundle}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} n)
\begin{DoxyCompactList}\small\item\em Adds an O\+SC bundle to an existing bundle. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{group__liblolowlevel_gaa105f1c5b97a16beabdb6b4ab7af2b46}{lo\+\_\+bundle\+\_\+length}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Return the length of a bundle in bytes. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{group__liblolowlevel_ga78f875268636e2f8d794b80d3ac10716}{lo\+\_\+bundle\+\_\+count}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Return the number of top-\/level elements in a bundle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__liblo_ga08432d01f2b8f4a32ffa58992a821f28}{lo\+\_\+element\+\_\+type}} \mbox{\hyperlink{group__liblolowlevel_ga8c0a37924636ab24666246a3c595e959}{lo\+\_\+bundle\+\_\+get\+\_\+type}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, int index)
\begin{DoxyCompactList}\small\item\em Gets the element type contained within a bundle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} \mbox{\hyperlink{group__liblolowlevel_gaafb86e502cd5f9b0a0f834409e0a8e6a}{lo\+\_\+bundle\+\_\+get\+\_\+bundle}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, int index)
\begin{DoxyCompactList}\small\item\em Gets a nested bundle contained within a bundle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} \mbox{\hyperlink{group__liblolowlevel_ga18eef47e89f323e18027ce05f350833b}{lo\+\_\+bundle\+\_\+get\+\_\+message}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, int index, const char $\ast$$\ast$path)
\begin{DoxyCompactList}\small\item\em Gets a message contained within a bundle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} \mbox{\hyperlink{group__liblolowlevel_gaeea3d61d6a4ae9efbd476f16d2758817}{lo\+\_\+bundle\+\_\+get\+\_\+timestamp}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Get the timestamp associated with a bundle. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{group__liblolowlevel_gaea61bc73c281efe4e2f95456e4d0f9f5}{lo\+\_\+bundle\+\_\+serialise}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b, void $\ast$to, size\+\_\+t $\ast$size)
\begin{DoxyCompactList}\small\item\em Serialise the bundle object to an area of memory and return a pointer to the serialised form. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_ga2ba37901788d863d08a2b7d6ca4250e6}{lo\+\_\+bundle\+\_\+free}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Frees the memory taken by a bundle object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_ga8ec7b8729ab98094619285ebe11f0d00}{lo\+\_\+bundle\+\_\+free\+\_\+recursive}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Frees the memory taken by a bundle object and its messages and nested bundles recursively. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_ga2773611a57270837fff398b716fa8459}{lo\+\_\+bundle\+\_\+free\+\_\+messages}} (\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} b)
\begin{DoxyCompactList}\small\item\em Obsolete, use lo\+\_\+bundle\+\_\+free\+\_\+recursive instead. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gace222e42c35d0256f115e00b84e8f853}{lo\+\_\+is\+\_\+numerical\+\_\+type}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} a)
\begin{DoxyCompactList}\small\item\em Return true if the type specified has a numerical value, such as L\+O\+\_\+\+I\+N\+T32, L\+O\+\_\+\+F\+L\+O\+AT etc. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaeb9f59d9f7bf8d50f21809e44889eee7}{lo\+\_\+is\+\_\+string\+\_\+type}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} a)
\begin{DoxyCompactList}\small\item\em Return true if the type specified has a textual value, such as L\+O\+\_\+\+S\+T\+R\+I\+NG or L\+O\+\_\+\+S\+Y\+M\+B\+OL. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaf85d7a54ab80e1b2a3d17c4cfef38402}{lo\+\_\+coerce}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type\+\_\+to, \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$to, \mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type\+\_\+from, \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$from)
\begin{DoxyCompactList}\small\item\em Attempt to convert one O\+SC type to another. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}{lo\+\_\+hires}} \mbox{\hyperlink{group__liblolowlevel_gafb7036664581480c9f2e898e57704c1b}{lo\+\_\+hires\+\_\+val}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type, \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$p)
\begin{DoxyCompactList}\small\item\em Return the numerical value of the given argument with the maximum native system precision. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} \mbox{\hyperlink{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}{lo\+\_\+server\+\_\+new}} (const char $\ast$port, \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create a new server instance. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} \mbox{\hyperlink{group__liblolowlevel_ga4afa474b11ed0d4511857ae79c56aaa1}{lo\+\_\+server\+\_\+new\+\_\+with\+\_\+proto}} (const char $\ast$port, int proto, \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create a new server instance, specifying protocol. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} \mbox{\hyperlink{group__liblolowlevel_ga849f4517a29ad850069cf8f2976a9284}{lo\+\_\+server\+\_\+new\+\_\+multicast}} (const char $\ast$group, const char $\ast$port, \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create a new server instance, and join a U\+DP multicast group. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} \mbox{\hyperlink{group__liblolowlevel_gadec49f210324f499f2e9593df20128cb}{lo\+\_\+server\+\_\+new\+\_\+multicast\+\_\+iface}} (const char $\ast$group, const char $\ast$port, const char $\ast$iface, const char $\ast$ip, \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create a new server instance, and join a U\+DP multicast group, optionally specifying which network interface to use. Note that usually only one of iface or ip are specified. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} \mbox{\hyperlink{group__liblolowlevel_ga1246a1f4a2ba967d31017452a32daf2a}{lo\+\_\+server\+\_\+new\+\_\+from\+\_\+url}} (const char $\ast$url, \mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create a new server instance, taking port and the optional multicast group IP from an U\+RL string. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga175ef81fc2d695895967bfc30a495b2a}{lo\+\_\+server\+\_\+enable\+\_\+coercion}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} server, int enable)
\begin{DoxyCompactList}\small\item\em Enables or disables type coercion during message dispatch. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gad3dc9193e1eef0d71a4b046242b64216}{lo\+\_\+server\+\_\+free}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Free up memory used by the lo\+\_\+server object. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga33cdcfbab89d58f82175386a76698822}{lo\+\_\+server\+\_\+wait}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, int timeout)
\begin{DoxyCompactList}\small\item\em Wait for an O\+SC message to be received. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaa1821643c567abbdd681ccda349c4311}{lo\+\_\+servers\+\_\+wait}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} $\ast$s, int $\ast$status, int num\+\_\+servers, int timeout)
\begin{DoxyCompactList}\small\item\em Wait on multiple servers for an O\+SC message to be received. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga784a257252d05cc0e7210f4691f0661b}{lo\+\_\+server\+\_\+recv\+\_\+noblock}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, int timeout)
\begin{DoxyCompactList}\small\item\em Look for an O\+SC message waiting to be received. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga2b7b00790f273135fab8fb9210dc61d2}{lo\+\_\+servers\+\_\+recv\+\_\+noblock}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} $\ast$s, int $\ast$recvd, int num\+\_\+servers, int timeout)
\begin{DoxyCompactList}\small\item\em Look for an O\+SC message waiting to be received on multiple servers. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}{lo\+\_\+server\+\_\+recv}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Block, waiting for an O\+SC message to be received. \end{DoxyCompactList}\item 
\mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}} \mbox{\hyperlink{group__liblolowlevel_ga56c5f1d587c215c27e92e6436e12b1a3}{lo\+\_\+server\+\_\+add\+\_\+method}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, const char $\ast$path, const char $\ast$typespec, \mbox{\hyperlink{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}{lo\+\_\+method\+\_\+handler}} h, const void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Add an O\+SC method to the specifed server. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gaf834a6d62de7dcceaede62325e74c763}{lo\+\_\+server\+\_\+del\+\_\+method}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, const char $\ast$path, const char $\ast$typespec)
\begin{DoxyCompactList}\small\item\em Delete an O\+SC method from the specified server. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gabbeecd7e7f337906e13654b7f35253fd}{lo\+\_\+server\+\_\+del\+\_\+lo\+\_\+method}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, \mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}} m)
\begin{DoxyCompactList}\small\item\em Delete a specific O\+SC method from the specified server. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga1411fdb0c8037a4dd3ab19af35df50ac}{lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, \mbox{\hyperlink{lo__types_8h_a056b3149631bb154049fa12101838b35}{lo\+\_\+bundle\+\_\+start\+\_\+handler}} sh, \mbox{\hyperlink{lo__types_8h_ad5445ab4f0e562d715162d2ab7bbe85f}{lo\+\_\+bundle\+\_\+end\+\_\+handler}} eh, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Add bundle notification handlers to the specified server. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gae11ca5a5b4ec2943d5a04642ba5052ae}{lo\+\_\+server\+\_\+get\+\_\+socket\+\_\+fd}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return the file descriptor of the server socket. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga532ef6e1b8675b23e65dd19eeb648c1d}{lo\+\_\+server\+\_\+get\+\_\+port}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return the port number that the server has bound to. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gab40a599fe8440512b18479dac333e89f}{lo\+\_\+server\+\_\+get\+\_\+protocol}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return the protocol that the server is using. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga33df48c641833d330a8ba6704caf4977}{lo\+\_\+server\+\_\+get\+\_\+url}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return an O\+SC U\+RL that can be used to contact the server. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga3e23b9b6027042e136f344d001431ac6}{lo\+\_\+server\+\_\+enable\+\_\+queue}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, int queue\+\_\+enabled, int dispatch\+\_\+remaining)
\begin{DoxyCompactList}\small\item\em Toggle event queue. If queueing is enabled, timetagged messages that are sent in advance of the current time will be put on an internal queue, and they will be dispatched at the indicated time. By default, queueing is enabled. Use this function to disable it, if it is desired to have a server process messages immediately. In that case, use \mbox{\hyperlink{group__liblolowlevel_ga164e068064afa94454eb6515b9b1748d}{lo\+\_\+message\+\_\+get\+\_\+timestamp()}} to get the message timestamp from within a method handler. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga04feb1063c3f4df6fec41405b28dd99a}{lo\+\_\+server\+\_\+events\+\_\+pending}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the server. \end{DoxyCompactList}\item 
double \mbox{\hyperlink{group__liblolowlevel_ga750076fdd75e2a7d3e442f6bd5968fb9}{lo\+\_\+server\+\_\+next\+\_\+event\+\_\+delay}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s)
\begin{DoxyCompactList}\small\item\em Return the time in seconds until the next scheduled event. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga9474e6c57e59bd99fd92d0fc8cbe3b88}{lo\+\_\+server\+\_\+max\+\_\+msg\+\_\+size}} (\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} s, int req\+\_\+size)
\begin{DoxyCompactList}\small\item\em Set the maximum message size accepted by a server. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga58266d3085b73fc4dc5e1913de810b22}{lo\+\_\+url\+\_\+get\+\_\+protocol}} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Return the protocol portion of an O\+SC U\+RL, eg. udp, tcp. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_ga0550cc91417b530c26a360b10072a3cb}{lo\+\_\+url\+\_\+get\+\_\+protocol\+\_\+id}} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Return the protocol ID of an O\+SC U\+RL. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_gab1b7df7061a0b2cd0db31d3fca1b399b}{lo\+\_\+url\+\_\+get\+\_\+hostname}} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Return the hostname portion of an O\+SC U\+RL. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga488fb8e96fb86320590c1a8ca389593d}{lo\+\_\+url\+\_\+get\+\_\+port}} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Return the port portion of an O\+SC U\+RL. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_ga617d046cc702a2c5ab8539659381ef18}{lo\+\_\+url\+\_\+get\+\_\+path}} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Return the path portion of an O\+SC U\+RL. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gae62aa870bad161e4507f6338820ac243}{lo\+\_\+strsize}} (const char $\ast$s)
\begin{DoxyCompactList}\small\item\em A function to calculate the amount of O\+SC message space required by a C char $\ast$. \end{DoxyCompactList}\item 
uint32\+\_\+t \mbox{\hyperlink{group__liblolowlevel_ga2315f71c3832c365bce25d9b21726043}{lo\+\_\+blobsize}} (\mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}} b)
\begin{DoxyCompactList}\small\item\em A function to calculate the amount of O\+SC message space required by a lo\+\_\+blob object. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__liblolowlevel_gac26f3d15dbd23f34d4f9e4f6f0b81bbb}{lo\+\_\+pattern\+\_\+match}} (const char $\ast$str, const char $\ast$p)
\begin{DoxyCompactList}\small\item\em Test a string against an O\+SC pattern glob. \end{DoxyCompactList}\item 
double \mbox{\hyperlink{group__liblolowlevel_ga9937fce1bfce695b01cd3289ead8b919}{lo\+\_\+timetag\+\_\+diff}} (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} a, \mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} b)
\begin{DoxyCompactList}\small\item\em Find the time difference between two timetags. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gad687e21ed611e68748e962502ae63d8e}{lo\+\_\+timetag\+\_\+now}} (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Return a timetag for the current time. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{group__liblolowlevel_gaf793bbd32346a91d7d680d91ae68d1bd}{lo\+\_\+arg\+\_\+size}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Return the storage size, in bytes, of the given argument. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__liblolowlevel_gad38872ce4270bbfed9d62a655a4facab}{lo\+\_\+get\+\_\+path}} (void $\ast$data, ssize\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Given a raw O\+SC message, return the message path. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_ga29fc246595334f29d97d11b0186b17bd}{lo\+\_\+arg\+\_\+host\+\_\+endian}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Convert the specified argument to host byte order where necessary. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__liblolowlevel_gad775da1d9ef1feaf1b76077143dc3e96}{lo\+\_\+arg\+\_\+network\+\_\+endian}} (\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}} type, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Convert the specified argument to network byte order where necessary. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Use these functions if you require more precise control over O\+SC message contruction or handling that what is provided in the high-\/level functions described in liblo. 



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}\label{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_hires@{lo\_hires}}
\index{lo\_hires@{lo\_hires}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_hires}{lo\_hires}}
{\footnotesize\ttfamily typedef long double \mbox{\hyperlink{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}{lo\+\_\+hires}}}



Type used to represent numerical values in conversions between O\+SC types. 



Definition at line 55 of file lo\+\_\+lowlevel.\+h.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__liblolowlevel_ga7dbaa4a6dfc9d7369cfbca195809be3c}\label{group__liblolowlevel_ga7dbaa4a6dfc9d7369cfbca195809be3c}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_hostname@{lo\_address\_get\_hostname}}
\index{lo\_address\_get\_hostname@{lo\_address\_get\_hostname}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_hostname()}{lo\_address\_get\_hostname()}}
{\footnotesize\ttfamily const char$\ast$ lo\+\_\+address\+\_\+get\+\_\+hostname (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{a }\end{DoxyParamCaption})}



Return the hostname of a lo\+\_\+address object. 

Returned value must not be modified or free\textquotesingle{}d. Value will be a dotted quad, colon\textquotesingle{}d I\+P\+V6 address, or resolvable name. \mbox{\Hypertarget{group__liblolowlevel_ga2bf32a3899bd51e1054532af727a8024}\label{group__liblolowlevel_ga2bf32a3899bd51e1054532af727a8024}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_iface@{lo\_address\_get\_iface}}
\index{lo\_address\_get\_iface@{lo\_address\_get\_iface}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_iface()}{lo\_address\_get\_iface()}}
{\footnotesize\ttfamily const char$\ast$ lo\+\_\+address\+\_\+get\+\_\+iface (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t }\end{DoxyParamCaption})}



Get the name of the network interface assigned to an O\+SC address. 


\begin{DoxyParams}{Parameters}
{\em t} & An O\+SC address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string pointer or 0 if no interface has been assigned. Caller should not modify the provided string. It is a legal pointer until the next call to lo\+\_\+address\+\_\+set\+\_\+iface or lo\+\_\+address\+\_\+free. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga75bc15ab78de049c0e0d7e24a0d6d0c1}\label{group__liblolowlevel_ga75bc15ab78de049c0e0d7e24a0d6d0c1}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_port@{lo\_address\_get\_port}}
\index{lo\_address\_get\_port@{lo\_address\_get\_port}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_port()}{lo\_address\_get\_port()}}
{\footnotesize\ttfamily const char$\ast$ lo\+\_\+address\+\_\+get\+\_\+port (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{a }\end{DoxyParamCaption})}



Return the port/service name of a lo\+\_\+address object. 

Returned value must not be modified or free\textquotesingle{}d. Value will be a service name or A\+S\+C\+II representation of the port number. \mbox{\Hypertarget{group__liblolowlevel_gaaae09ebb4cf42e92504fe9aa7e7b2184}\label{group__liblolowlevel_gaaae09ebb4cf42e92504fe9aa7e7b2184}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_protocol@{lo\_address\_get\_protocol}}
\index{lo\_address\_get\_protocol@{lo\_address\_get\_protocol}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_protocol()}{lo\_address\_get\_protocol()}}
{\footnotesize\ttfamily int lo\+\_\+address\+\_\+get\+\_\+protocol (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{a }\end{DoxyParamCaption})}



Return the protocol of a lo\+\_\+address object. 

Returned value will be one of L\+O\+\_\+\+U\+DP, L\+O\+\_\+\+T\+CP or L\+O\+\_\+\+U\+N\+IX. \mbox{\Hypertarget{group__liblolowlevel_ga3652ba694ba3c153dc96917e7321131c}\label{group__liblolowlevel_ga3652ba694ba3c153dc96917e7321131c}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_ttl@{lo\_address\_get\_ttl}}
\index{lo\_address\_get\_ttl@{lo\_address\_get\_ttl}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_ttl()}{lo\_address\_get\_ttl()}}
{\footnotesize\ttfamily int lo\+\_\+address\+\_\+get\+\_\+ttl (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t }\end{DoxyParamCaption})}



Get the Time-\/to-\/\+Live value for a given target address. 


\begin{DoxyParams}{Parameters}
{\em t} & An O\+SC address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An integer specifying the scope of a multicast U\+DP message. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga85d7101e9e3a3339544445b539e3a5d2}\label{group__liblolowlevel_ga85d7101e9e3a3339544445b539e3a5d2}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_get\_url@{lo\_address\_get\_url}}
\index{lo\_address\_get\_url@{lo\_address\_get\_url}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_get\_url()}{lo\_address\_get\_url()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+address\+\_\+get\+\_\+url (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{a }\end{DoxyParamCaption})}



Return a U\+RL representing an O\+SC address. 

Returned value must be free\textquotesingle{}d. \mbox{\Hypertarget{group__liblolowlevel_ga734c5864de14a04c9e58f82d6efe4624}\label{group__liblolowlevel_ga734c5864de14a04c9e58f82d6efe4624}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_set\_iface@{lo\_address\_set\_iface}}
\index{lo\_address\_set\_iface@{lo\_address\_set\_iface}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_set\_iface()}{lo\_address\_set\_iface()}}
{\footnotesize\ttfamily int lo\+\_\+address\+\_\+set\+\_\+iface (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t,  }\item[{const char $\ast$}]{iface,  }\item[{const char $\ast$}]{ip }\end{DoxyParamCaption})}



Set the network interface to use for a given target address. 

The caller should specify either the iface or ip variable. The IP, if specified, should match the same network family as the O\+SC address. (That is, should correctly correspond to I\+Pv4 or I\+Pv6.) Typically the assigned network interface will only be used in the case of sending multicast messages. It is recommended to use the if\+\_\+nameindex P\+O\+S\+IX function to get a list of network interface names.


\begin{DoxyParams}{Parameters}
{\em t} & An O\+SC address. \\
\hline
{\em iface} & The name of a network interface on the local system. \\
\hline
{\em ip} & The IP address of a network interface on the local system. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if the interface was successfully identified, or non-\/zero otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga6034e180b4f6c64097d9ec1fd3d8872e}\label{group__liblolowlevel_ga6034e180b4f6c64097d9ec1fd3d8872e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_set\_stream\_slip@{lo\_address\_set\_stream\_slip}}
\index{lo\_address\_set\_stream\_slip@{lo\_address\_set\_stream\_slip}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_set\_stream\_slip()}{lo\_address\_set\_stream\_slip()}}
{\footnotesize\ttfamily int lo\+\_\+address\+\_\+set\+\_\+stream\+\_\+slip (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t,  }\item[{int}]{enable }\end{DoxyParamCaption})}



Set outgoing stream connections (e.\+g., T\+CP) to be transmitted using the S\+L\+IP packetizing protocol. 


\begin{DoxyParams}{Parameters}
{\em t} & The address to set this flag for. \\
\hline
{\em enable} & Non-\/zero to set the flag, zero to unset it. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the previous value of this flag. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga9d73ff7267077cc69f632cbfeb30a23e}\label{group__liblolowlevel_ga9d73ff7267077cc69f632cbfeb30a23e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_set\_tcp\_nodelay@{lo\_address\_set\_tcp\_nodelay}}
\index{lo\_address\_set\_tcp\_nodelay@{lo\_address\_set\_tcp\_nodelay}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_set\_tcp\_nodelay()}{lo\_address\_set\_tcp\_nodelay()}}
{\footnotesize\ttfamily int lo\+\_\+address\+\_\+set\+\_\+tcp\+\_\+nodelay (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t,  }\item[{int}]{enable }\end{DoxyParamCaption})}



Set the T\+C\+P\+\_\+\+N\+O\+D\+E\+L\+AY flag on outgoing T\+CP connections. 


\begin{DoxyParams}{Parameters}
{\em t} & The address to set this flag for. \\
\hline
{\em enable} & Non-\/zero to set the flag, zero to unset it. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the previous value of this flag. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gacd72097b92411db148844d89071fd281}\label{group__liblolowlevel_gacd72097b92411db148844d89071fd281}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_address\_set\_ttl@{lo\_address\_set\_ttl}}
\index{lo\_address\_set\_ttl@{lo\_address\_set\_ttl}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_address\_set\_ttl()}{lo\_address\_set\_ttl()}}
{\footnotesize\ttfamily void lo\+\_\+address\+\_\+set\+\_\+ttl (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{t,  }\item[{int}]{ttl }\end{DoxyParamCaption})}



Set the Time-\/to-\/\+Live value for a given target address. 

This is required for sending multicast U\+DP messages. A value of 1 (the usual case) keeps the message within the subnet, while 255 means a global, unrestricted scope.


\begin{DoxyParams}{Parameters}
{\em t} & An O\+SC address. \\
\hline
{\em ttl} & An integer specifying the scope of a multicast U\+DP message. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga29fc246595334f29d97d11b0186b17bd}\label{group__liblolowlevel_ga29fc246595334f29d97d11b0186b17bd}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_arg\_host\_endian@{lo\_arg\_host\_endian}}
\index{lo\_arg\_host\_endian@{lo\_arg\_host\_endian}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_arg\_host\_endian()}{lo\_arg\_host\_endian()}}
{\footnotesize\ttfamily void lo\+\_\+arg\+\_\+host\+\_\+endian (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Convert the specified argument to host byte order where necessary. 


\begin{DoxyParams}{Parameters}
{\em type} & The O\+SC type of the data item (eg. L\+O\+\_\+\+F\+L\+O\+AT). \\
\hline
{\em data} & A pointer to the data item to be converted. It is changed in-\/place. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gad775da1d9ef1feaf1b76077143dc3e96}\label{group__liblolowlevel_gad775da1d9ef1feaf1b76077143dc3e96}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_arg\_network\_endian@{lo\_arg\_network\_endian}}
\index{lo\_arg\_network\_endian@{lo\_arg\_network\_endian}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_arg\_network\_endian()}{lo\_arg\_network\_endian()}}
{\footnotesize\ttfamily void lo\+\_\+arg\+\_\+network\+\_\+endian (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Convert the specified argument to network byte order where necessary. 


\begin{DoxyParams}{Parameters}
{\em type} & The O\+SC type of the data item (eg. L\+O\+\_\+\+F\+L\+O\+AT). \\
\hline
{\em data} & A pointer to the data item to be converted. It is changed in-\/place. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gaf793bbd32346a91d7d680d91ae68d1bd}\label{group__liblolowlevel_gaf793bbd32346a91d7d680d91ae68d1bd}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_arg\_size@{lo\_arg\_size}}
\index{lo\_arg\_size@{lo\_arg\_size}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_arg\_size()}{lo\_arg\_size()}}
{\footnotesize\ttfamily size\+\_\+t lo\+\_\+arg\+\_\+size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Return the storage size, in bytes, of the given argument. 

\mbox{\Hypertarget{group__liblolowlevel_ga2315f71c3832c365bce25d9b21726043}\label{group__liblolowlevel_ga2315f71c3832c365bce25d9b21726043}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_blobsize@{lo\_blobsize}}
\index{lo\_blobsize@{lo\_blobsize}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_blobsize()}{lo\_blobsize()}}
{\footnotesize\ttfamily uint32\+\_\+t lo\+\_\+blobsize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}}}]{b }\end{DoxyParamCaption})}



A function to calculate the amount of O\+SC message space required by a lo\+\_\+blob object. 

Returns the storage size in bytes, which will always be a multiple of four. \mbox{\Hypertarget{group__liblolowlevel_gad28eb5916f4d5c153069a56c1252f482}\label{group__liblolowlevel_gad28eb5916f4d5c153069a56c1252f482}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_add\_bundle@{lo\_bundle\_add\_bundle}}
\index{lo\_bundle\_add\_bundle@{lo\_bundle\_add\_bundle}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_add\_bundle()}{lo\_bundle\_add\_bundle()}}
{\footnotesize\ttfamily int lo\+\_\+bundle\+\_\+add\+\_\+bundle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{n }\end{DoxyParamCaption})}



Adds an O\+SC bundle to an existing bundle. 

The child bundle passed is appended to the list of child bundles$\vert$messages in the parent bundle to be dispatched.

\begin{DoxyReturn}{Returns}
0 if successful, less than 0 otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}\label{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_add\_message@{lo\_bundle\_add\_message}}
\index{lo\_bundle\_add\_message@{lo\_bundle\_add\_message}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_add\_message()}{lo\_bundle\_add\_message()}}
{\footnotesize\ttfamily int lo\+\_\+bundle\+\_\+add\+\_\+message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{const char $\ast$}]{path,  }\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Adds an O\+SC message to an existing bundle. 

The message passed is appended to the list of messages in the bundle to be dispatched to \textquotesingle{}path\textquotesingle{}.

\begin{DoxyReturn}{Returns}
0 if successful, less than 0 otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga78f875268636e2f8d794b80d3ac10716}\label{group__liblolowlevel_ga78f875268636e2f8d794b80d3ac10716}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_count@{lo\_bundle\_count}}
\index{lo\_bundle\_count@{lo\_bundle\_count}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_count()}{lo\_bundle\_count()}}
{\footnotesize\ttfamily unsigned int lo\+\_\+bundle\+\_\+count (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Return the number of top-\/level elements in a bundle. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle to be counted. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga2ba37901788d863d08a2b7d6ca4250e6}\label{group__liblolowlevel_ga2ba37901788d863d08a2b7d6ca4250e6}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_free@{lo\_bundle\_free}}
\index{lo\_bundle\_free@{lo\_bundle\_free}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_free()}{lo\_bundle\_free()}}
{\footnotesize\ttfamily void lo\+\_\+bundle\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Frees the memory taken by a bundle object. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle to be freed. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga2773611a57270837fff398b716fa8459}\label{group__liblolowlevel_ga2773611a57270837fff398b716fa8459}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_free\_messages@{lo\_bundle\_free\_messages}}
\index{lo\_bundle\_free\_messages@{lo\_bundle\_free\_messages}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_free\_messages()}{lo\_bundle\_free\_messages()}}
{\footnotesize\ttfamily void lo\+\_\+bundle\+\_\+free\+\_\+messages (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Obsolete, use lo\+\_\+bundle\+\_\+free\+\_\+recursive instead. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle, which may contain messages and nested bundles, to be freed. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga8ec7b8729ab98094619285ebe11f0d00}\label{group__liblolowlevel_ga8ec7b8729ab98094619285ebe11f0d00}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_free\_recursive@{lo\_bundle\_free\_recursive}}
\index{lo\_bundle\_free\_recursive@{lo\_bundle\_free\_recursive}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_free\_recursive()}{lo\_bundle\_free\_recursive()}}
{\footnotesize\ttfamily void lo\+\_\+bundle\+\_\+free\+\_\+recursive (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Frees the memory taken by a bundle object and its messages and nested bundles recursively. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle, which may contain messages and nested bundles, to be freed. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gaafb86e502cd5f9b0a0f834409e0a8e6a}\label{group__liblolowlevel_gaafb86e502cd5f9b0a0f834409e0a8e6a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_get\_bundle@{lo\_bundle\_get\_bundle}}
\index{lo\_bundle\_get\_bundle@{lo\_bundle\_get\_bundle}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_get\_bundle()}{lo\_bundle\_get\_bundle()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} lo\+\_\+bundle\+\_\+get\+\_\+bundle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{int}]{index }\end{DoxyParamCaption})}



Gets a nested bundle contained within a bundle. 

Returns a lo\+\_\+bundle at a given index within a bundle.

\begin{DoxyReturn}{Returns}
The requested lo\+\_\+bundle if successful, otherwise 0. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga18eef47e89f323e18027ce05f350833b}\label{group__liblolowlevel_ga18eef47e89f323e18027ce05f350833b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_get\_message@{lo\_bundle\_get\_message}}
\index{lo\_bundle\_get\_message@{lo\_bundle\_get\_message}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_get\_message()}{lo\_bundle\_get\_message()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} lo\+\_\+bundle\+\_\+get\+\_\+message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{int}]{index,  }\item[{const char $\ast$$\ast$}]{path }\end{DoxyParamCaption})}



Gets a message contained within a bundle. 

Returns a lo\+\_\+message at a given index within a bundle, and optionally the path associated with that message.

\begin{DoxyReturn}{Returns}
The requested lo\+\_\+message if successful, otherwise 0. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gaeea3d61d6a4ae9efbd476f16d2758817}\label{group__liblolowlevel_gaeea3d61d6a4ae9efbd476f16d2758817}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_get\_timestamp@{lo\_bundle\_get\_timestamp}}
\index{lo\_bundle\_get\_timestamp@{lo\_bundle\_get\_timestamp}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_get\_timestamp()}{lo\_bundle\_get\_timestamp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} lo\+\_\+bundle\+\_\+get\+\_\+timestamp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Get the timestamp associated with a bundle. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle for which the timestamp should be returned.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The timestamp of the bundle as a \mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga8c0a37924636ab24666246a3c595e959}\label{group__liblolowlevel_ga8c0a37924636ab24666246a3c595e959}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_get\_type@{lo\_bundle\_get\_type}}
\index{lo\_bundle\_get\_type@{lo\_bundle\_get\_type}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_get\_type()}{lo\_bundle\_get\_type()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__liblo_ga08432d01f2b8f4a32ffa58992a821f28}{lo\+\_\+element\+\_\+type}} lo\+\_\+bundle\+\_\+get\+\_\+type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{int}]{index }\end{DoxyParamCaption})}



Gets the element type contained within a bundle. 

Returns a lo\+\_\+element\+\_\+type at a given index within a bundle.

\begin{DoxyReturn}{Returns}
The requested lo\+\_\+element\+\_\+type if successful, otherwise 0. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gaef50603d58b7d9b9dfe77fabb426a528}\label{group__liblolowlevel_gaef50603d58b7d9b9dfe77fabb426a528}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_incref@{lo\_bundle\_incref}}
\index{lo\_bundle\_incref@{lo\_bundle\_incref}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_incref()}{lo\_bundle\_incref()}}
{\footnotesize\ttfamily void lo\+\_\+bundle\+\_\+incref (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Add one to a bundle\textquotesingle{}s reference count. 

Bundles are reference counted. If a bundle is multiply referenced, the bundle\textquotesingle{}s counter should be incremented. It is automatically decremented by lo\+\_\+bundle\+\_\+free lo\+\_\+bundle\+\_\+free\+\_\+recursive, with lo\+\_\+bundle\+\_\+free\+\_\+recursive being the preferable method. \mbox{\Hypertarget{group__liblolowlevel_gaa105f1c5b97a16beabdb6b4ab7af2b46}\label{group__liblolowlevel_gaa105f1c5b97a16beabdb6b4ab7af2b46}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_length@{lo\_bundle\_length}}
\index{lo\_bundle\_length@{lo\_bundle\_length}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_length()}{lo\_bundle\_length()}}
{\footnotesize\ttfamily size\+\_\+t lo\+\_\+bundle\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Return the length of a bundle in bytes. 

Includes the marker and typetag length.


\begin{DoxyParams}{Parameters}
{\em b} & The bundle to be sized \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}\label{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_new@{lo\_bundle\_new}}
\index{lo\_bundle\_new@{lo\_bundle\_new}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_new()}{lo\_bundle\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}} lo\+\_\+bundle\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}}}]{tt }\end{DoxyParamCaption})}



Create a new bundle object. 

O\+SC Bundles encapsulate one or more O\+SC messages and may include a timestamp indicating when the bundle should be dispatched.


\begin{DoxyParams}{Parameters}
{\em tt} & The timestamp when the bundle should be handled by the receiver. Pass L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+TE if you want the receiving server to dispatch the bundle as soon as it receives it. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gaea61bc73c281efe4e2f95456e4d0f9f5}\label{group__liblolowlevel_gaea61bc73c281efe4e2f95456e4d0f9f5}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_bundle\_serialise@{lo\_bundle\_serialise}}
\index{lo\_bundle\_serialise@{lo\_bundle\_serialise}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_bundle\_serialise()}{lo\_bundle\_serialise()}}
{\footnotesize\ttfamily void$\ast$ lo\+\_\+bundle\+\_\+serialise (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b,  }\item[{void $\ast$}]{to,  }\item[{size\+\_\+t $\ast$}]{size }\end{DoxyParamCaption})}



Serialise the bundle object to an area of memory and return a pointer to the serialised form. 


\begin{DoxyParams}{Parameters}
{\em b} & The bundle to be serialised \\
\hline
{\em to} & The address to serialise to, memory will be allocated if to is N\+U\+LL. \\
\hline
{\em size} & If this pointer is non-\/\+N\+U\+LL the size of the memory area will be written here\\
\hline
\end{DoxyParams}
The returned form is suitable to be sent over a low level O\+SC transport, having the correct endianess and bit-\/packed structure. \mbox{\Hypertarget{group__liblolowlevel_gaf85d7a54ab80e1b2a3d17c4cfef38402}\label{group__liblolowlevel_gaf85d7a54ab80e1b2a3d17c4cfef38402}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_coerce@{lo\_coerce}}
\index{lo\_coerce@{lo\_coerce}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_coerce()}{lo\_coerce()}}
{\footnotesize\ttfamily int lo\+\_\+coerce (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type\+\_\+to,  }\item[{\mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$}]{to,  }\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type\+\_\+from,  }\item[{\mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$}]{from }\end{DoxyParamCaption})}



Attempt to convert one O\+SC type to another. 

Numerical types (eg L\+O\+\_\+\+I\+N\+T32, L\+O\+\_\+\+F\+L\+O\+AT etc.) may be converted to other numerical types and string types (L\+O\+\_\+\+S\+T\+R\+I\+NG and L\+O\+\_\+\+S\+Y\+M\+B\+OL) may be converted to the other type. This is done automatically if a received message matches the path, but not the exact types, and is coercible (ie. all numerical types in numerical positions).

On failure no translation occurs and false is returned.


\begin{DoxyParams}{Parameters}
{\em type\+\_\+to} & The type of the destination variable. \\
\hline
{\em to} & A pointer to the destination variable. \\
\hline
{\em type\+\_\+from} & The type of the source variable. \\
\hline
{\em from} & A pointer to the source variable. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gad38872ce4270bbfed9d62a655a4facab}\label{group__liblolowlevel_gad38872ce4270bbfed9d62a655a4facab}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_get\_path@{lo\_get\_path}}
\index{lo\_get\_path@{lo\_get\_path}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_get\_path()}{lo\_get\_path()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+get\+\_\+path (\begin{DoxyParamCaption}\item[{void $\ast$}]{data,  }\item[{ssize\+\_\+t}]{size }\end{DoxyParamCaption})}



Given a raw O\+SC message, return the message path. 


\begin{DoxyParams}{Parameters}
{\em data} & A pointer to the raw O\+SC message data. \\
\hline
{\em size} & The size of data in bytes (total buffer bytes).\\
\hline
\end{DoxyParams}
Returns the message path or N\+U\+LL if an error occurs. Do not free() the returned pointer. \mbox{\Hypertarget{group__liblolowlevel_gafb7036664581480c9f2e898e57704c1b}\label{group__liblolowlevel_gafb7036664581480c9f2e898e57704c1b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_hires\_val@{lo\_hires\_val}}
\index{lo\_hires\_val@{lo\_hires\_val}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_hires\_val()}{lo\_hires\_val()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__liblolowlevel_ga0062385786b0375d4b6954ba1fb8d52b}{lo\+\_\+hires}} lo\+\_\+hires\+\_\+val (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{type,  }\item[{\mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} $\ast$}]{p }\end{DoxyParamCaption})}



Return the numerical value of the given argument with the maximum native system precision. 

\mbox{\Hypertarget{group__liblolowlevel_gace222e42c35d0256f115e00b84e8f853}\label{group__liblolowlevel_gace222e42c35d0256f115e00b84e8f853}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_is\_numerical\_type@{lo\_is\_numerical\_type}}
\index{lo\_is\_numerical\_type@{lo\_is\_numerical\_type}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_is\_numerical\_type()}{lo\_is\_numerical\_type()}}
{\footnotesize\ttfamily int lo\+\_\+is\+\_\+numerical\+\_\+type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{a }\end{DoxyParamCaption})}



Return true if the type specified has a numerical value, such as L\+O\+\_\+\+I\+N\+T32, L\+O\+\_\+\+F\+L\+O\+AT etc. 


\begin{DoxyParams}{Parameters}
{\em a} & The type to be tested. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gaeb9f59d9f7bf8d50f21809e44889eee7}\label{group__liblolowlevel_gaeb9f59d9f7bf8d50f21809e44889eee7}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_is\_string\_type@{lo\_is\_string\_type}}
\index{lo\_is\_string\_type@{lo\_is\_string\_type}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_is\_string\_type()}{lo\_is\_string\_type()}}
{\footnotesize\ttfamily int lo\+\_\+is\+\_\+string\+\_\+type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type}}}]{a }\end{DoxyParamCaption})}



Return true if the type specified has a textual value, such as L\+O\+\_\+\+S\+T\+R\+I\+NG or L\+O\+\_\+\+S\+Y\+M\+B\+OL. 


\begin{DoxyParams}{Parameters}
{\em a} & The type to be tested. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga4e7a6d91a06e795ded9676d089abea24}\label{group__liblolowlevel_ga4e7a6d91a06e795ded9676d089abea24}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add@{lo\_message\_add}}
\index{lo\_message\_add@{lo\_message\_add}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add()}{lo\_message\_add()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{types,  }\item[{}]{... }\end{DoxyParamCaption})}



Append a number of arguments to a message. 

The data will be added in O\+SC byteorder (bigendian).


\begin{DoxyParams}{Parameters}
{\em m} & The message to be extended. \\
\hline
{\em types} & The types of the data items in the message, types are defined in lo\+\_\+types\+\_\+common.\+h \\
\hline
{\em ...} & The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gac0ae2fc81d2a48fe63b0803637997fd4}\label{group__liblolowlevel_gac0ae2fc81d2a48fe63b0803637997fd4}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_blob@{lo\_message\_add\_blob}}
\index{lo\_message\_add\_blob@{lo\_message\_add\_blob}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_blob()}{lo\_message\_add\_blob()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+blob (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{\mbox{\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob}}}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gab2423db077dea59c4049103819d2810b}\label{group__liblolowlevel_gab2423db077dea59c4049103819d2810b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_char@{lo\_message\_add\_char}}
\index{lo\_message\_add\_char@{lo\_message\_add\_char}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_char()}{lo\_message\_add\_char()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+char (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{char}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gadd3a8441ad5a749c43694e77594cf47b}\label{group__liblolowlevel_gadd3a8441ad5a749c43694e77594cf47b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_double@{lo\_message\_add\_double}}
\index{lo\_message\_add\_double@{lo\_message\_add\_double}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_double()}{lo\_message\_add\_double()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+double (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{double}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga1c8a136e87e3d2befeb466e0a8a5a4ad}\label{group__liblolowlevel_ga1c8a136e87e3d2befeb466e0a8a5a4ad}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_false@{lo\_message\_add\_false}}
\index{lo\_message\_add\_false@{lo\_message\_add\_false}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_false()}{lo\_message\_add\_false()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+false (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga42815097ea691fd1ec0798beca7f8e5e}\label{group__liblolowlevel_ga42815097ea691fd1ec0798beca7f8e5e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_float@{lo\_message\_add\_float}}
\index{lo\_message\_add\_float@{lo\_message\_add\_float}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_float()}{lo\_message\_add\_float()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+float (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{float}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga4cbd7d3834a67446b15f53acf316a72a}\label{group__liblolowlevel_ga4cbd7d3834a67446b15f53acf316a72a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_infinitum@{lo\_message\_add\_infinitum}}
\index{lo\_message\_add\_infinitum@{lo\_message\_add\_infinitum}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_infinitum()}{lo\_message\_add\_infinitum()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+infinitum (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}\label{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_int32@{lo\_message\_add\_int32}}
\index{lo\_message\_add\_int32@{lo\_message\_add\_int32}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_int32()}{lo\_message\_add\_int32()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+int32 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{int32\+\_\+t}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. 

The data will be added in O\+SC byteorder (bigendian).


\begin{DoxyParams}{Parameters}
{\em m} & The message to be extended. \\
\hline
{\em a} & The data item.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga282ef81387abab0ce18f7479a4a817b5}\label{group__liblolowlevel_ga282ef81387abab0ce18f7479a4a817b5}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_int64@{lo\_message\_add\_int64}}
\index{lo\_message\_add\_int64@{lo\_message\_add\_int64}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_int64()}{lo\_message\_add\_int64()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+int64 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{int64\+\_\+t}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gaaea6ac25787de608199a988dc214f32e}\label{group__liblolowlevel_gaaea6ac25787de608199a988dc214f32e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_midi@{lo\_message\_add\_midi}}
\index{lo\_message\_add\_midi@{lo\_message\_add\_midi}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_midi()}{lo\_message\_add\_midi()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+midi (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{uint8\+\_\+t}]{a\mbox{[}4\mbox{]} }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gabd3cd7f86137ae1a180e33c3bc5c9644}\label{group__liblolowlevel_gabd3cd7f86137ae1a180e33c3bc5c9644}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_nil@{lo\_message\_add\_nil}}
\index{lo\_message\_add\_nil@{lo\_message\_add\_nil}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_nil()}{lo\_message\_add\_nil()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+nil (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga4ff414b1b3d87454668dfd728b830888}\label{group__liblolowlevel_ga4ff414b1b3d87454668dfd728b830888}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_string@{lo\_message\_add\_string}}
\index{lo\_message\_add\_string@{lo\_message\_add\_string}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_string()}{lo\_message\_add\_string()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga90e4dab46ecaabab4e34214429d622a7}\label{group__liblolowlevel_ga90e4dab46ecaabab4e34214429d622a7}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_symbol@{lo\_message\_add\_symbol}}
\index{lo\_message\_add\_symbol@{lo\_message\_add\_symbol}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_symbol()}{lo\_message\_add\_symbol()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+symbol (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga03f8eafa4ba598c545f30e17b23d1c89}\label{group__liblolowlevel_ga03f8eafa4ba598c545f30e17b23d1c89}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_timetag@{lo\_message\_add\_timetag}}
\index{lo\_message\_add\_timetag@{lo\_message\_add\_timetag}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_timetag()}{lo\_message\_add\_timetag()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+timetag (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}}}]{a }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga9da3df4838126910171a8e45ea34e9ec}\label{group__liblolowlevel_ga9da3df4838126910171a8e45ea34e9ec}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_true@{lo\_message\_add\_true}}
\index{lo\_message\_add\_true@{lo\_message\_add\_true}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_true()}{lo\_message\_add\_true()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+true (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Append a data item and typechar of the specified type to a message. See \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32()}} for details. 

\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga9cd98b0c6ad5468692fd0b1936bd093f}\label{group__liblolowlevel_ga9cd98b0c6ad5468692fd0b1936bd093f}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_add\_varargs@{lo\_message\_add\_varargs}}
\index{lo\_message\_add\_varargs@{lo\_message\_add\_varargs}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_add\_varargs()}{lo\_message\_add\_varargs()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+add\+\_\+varargs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{types,  }\item[{va\+\_\+list}]{ap }\end{DoxyParamCaption})}



Append a varargs list to a message. 

The data will be added in O\+SC byteorder (bigendian). I\+M\+P\+O\+R\+T\+A\+NT\+: args list must be terminated with L\+O\+\_\+\+A\+R\+G\+S\+\_\+\+E\+ND, or this call will fail. This is used to do simple error checking on the sizes of parameters passed.


\begin{DoxyParams}{Parameters}
{\em m} & The message to be extended. \\
\hline
{\em types} & The types of the data items in the message, types are defined in lo\+\_\+types\+\_\+common.\+h \\
\hline
{\em ap} & The va\+\_\+list created by a C function declared with an ellipsis (...) argument, and pre-\/initialised with \char`\"{}va\+\_\+start(ap)\char`\"{}. The types of the arguments passed here must agree with the types specified in the type parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga8cf4889aa1b479e3b6eaf8847c3b9e4f}\label{group__liblolowlevel_ga8cf4889aa1b479e3b6eaf8847c3b9e4f}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_clone@{lo\_message\_clone}}
\index{lo\_message\_clone@{lo\_message\_clone}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_clone()}{lo\_message\_clone()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} lo\+\_\+message\+\_\+clone (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Create a new lo\+\_\+message object by cloning an already existing one. 

\mbox{\Hypertarget{group__liblolowlevel_ga2f4644b2a1aae0d0eee456fe93ac158e}\label{group__liblolowlevel_ga2f4644b2a1aae0d0eee456fe93ac158e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_deserialise@{lo\_message\_deserialise}}
\index{lo\_message\_deserialise@{lo\_message\_deserialise}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_deserialise()}{lo\_message\_deserialise()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} lo\+\_\+message\+\_\+deserialise (\begin{DoxyParamCaption}\item[{void $\ast$}]{data,  }\item[{size\+\_\+t}]{size,  }\item[{int $\ast$}]{result }\end{DoxyParamCaption})}



Deserialise a raw O\+SC message and return a new lo\+\_\+message object. Opposite of \mbox{\hyperlink{group__liblolowlevel_ga5a14045edea33d63792e9a4c82e13b02}{lo\+\_\+message\+\_\+serialise()}}. 


\begin{DoxyParams}{Parameters}
{\em data} & Pointer to the raw O\+SC message data in network transmission form (network byte order where appropriate). \\
\hline
{\em size} & The size of data in bytes \\
\hline
{\em result} & If this pointer is non-\/\+N\+U\+LL, the result or error code will be written here.\\
\hline
\end{DoxyParams}
Returns a new lo\+\_\+message, or N\+U\+LL if deserialisation fails. Use \mbox{\hyperlink{group__liblolowlevel_ga93d3687e77ae20167b82830c917a3e50}{lo\+\_\+message\+\_\+free()}} to free the resulting object. \mbox{\Hypertarget{group__liblolowlevel_ga93d3687e77ae20167b82830c917a3e50}\label{group__liblolowlevel_ga93d3687e77ae20167b82830c917a3e50}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_free@{lo\_message\_free}}
\index{lo\_message\_free@{lo\_message\_free}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_free()}{lo\_message\_free()}}
{\footnotesize\ttfamily void lo\+\_\+message\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Free memory allocated by \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new()}} and any subsequent \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add\+\_\+int32}} lo\+\_\+message\+\_\+add$\ast$() calls. 

\mbox{\Hypertarget{group__liblolowlevel_ga5b391362eda2c6019011f3db55049db3}\label{group__liblolowlevel_ga5b391362eda2c6019011f3db55049db3}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_get\_argc@{lo\_message\_get\_argc}}
\index{lo\_message\_get\_argc@{lo\_message\_get\_argc}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_get\_argc()}{lo\_message\_get\_argc()}}
{\footnotesize\ttfamily int lo\+\_\+message\+\_\+get\+\_\+argc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Return the message argument count. 

The result is valid until further data is added with lo\+\_\+message\+\_\+add$\ast$(). \mbox{\Hypertarget{group__liblolowlevel_gab28b48cdbefb60eb7e57557ae9d23171}\label{group__liblolowlevel_gab28b48cdbefb60eb7e57557ae9d23171}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_get\_argv@{lo\_message\_get\_argv}}
\index{lo\_message\_get\_argv@{lo\_message\_get\_argv}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_get\_argv()}{lo\_message\_get\_argv()}}
{\footnotesize\ttfamily \mbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}}$\ast$$\ast$ lo\+\_\+message\+\_\+get\+\_\+argv (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Return the message arguments. Do not free the returned data. 

The result is valid until further data is added with lo\+\_\+message\+\_\+add$\ast$(). \mbox{\Hypertarget{group__liblolowlevel_ga1f4e07e4f8b67edc98f4b300412a3dbb}\label{group__liblolowlevel_ga1f4e07e4f8b67edc98f4b300412a3dbb}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_get\_source@{lo\_message\_get\_source}}
\index{lo\_message\_get\_source@{lo\_message\_get\_source}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_get\_source()}{lo\_message\_get\_source()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}} lo\+\_\+message\+\_\+get\+\_\+source (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Returns the source (lo\+\_\+address) of an incoming message. 

Returns N\+U\+LL if the message is outgoing. Do not free the returned address. \mbox{\Hypertarget{group__liblolowlevel_ga164e068064afa94454eb6515b9b1748d}\label{group__liblolowlevel_ga164e068064afa94454eb6515b9b1748d}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_get\_timestamp@{lo\_message\_get\_timestamp}}
\index{lo\_message\_get\_timestamp@{lo\_message\_get\_timestamp}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_get\_timestamp()}{lo\_message\_get\_timestamp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} lo\+\_\+message\+\_\+get\+\_\+timestamp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Returns the timestamp (\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} $\ast$) of a bundled incoming message. 

Returns L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+TE if the message is outgoing, or did not arrive contained in a bundle. Do not free the returned timetag. \mbox{\Hypertarget{group__liblolowlevel_gad3c1a312fd90bb4c35a4c1fac2d0b25d}\label{group__liblolowlevel_gad3c1a312fd90bb4c35a4c1fac2d0b25d}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_get\_types@{lo\_message\_get\_types}}
\index{lo\_message\_get\_types@{lo\_message\_get\_types}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_get\_types()}{lo\_message\_get\_types()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+message\+\_\+get\+\_\+types (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Return the message type tag string. 

The result is valid until further data is added with lo\+\_\+message\+\_\+add$\ast$(). \mbox{\Hypertarget{group__liblolowlevel_gae4007dd073375b8448a0c8efcb39da52}\label{group__liblolowlevel_gae4007dd073375b8448a0c8efcb39da52}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_incref@{lo\_message\_incref}}
\index{lo\_message\_incref@{lo\_message\_incref}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_incref()}{lo\_message\_incref()}}
{\footnotesize\ttfamily void lo\+\_\+message\+\_\+incref (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m }\end{DoxyParamCaption})}



Add one to a message\textquotesingle{}s reference count. 

Messages are reference counted. If a message is multiply referenced, the message\textquotesingle{}s counter should be incremented. It is automatically decremented by lo\+\_\+message\+\_\+free lo\+\_\+message\+\_\+free\+\_\+recursive, with lo\+\_\+message\+\_\+free\+\_\+recursive being the preferable method. \mbox{\Hypertarget{group__liblolowlevel_ga0855039d071b7031727213272857c27e}\label{group__liblolowlevel_ga0855039d071b7031727213272857c27e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_length@{lo\_message\_length}}
\index{lo\_message\_length@{lo\_message\_length}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_length()}{lo\_message\_length()}}
{\footnotesize\ttfamily size\+\_\+t lo\+\_\+message\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{path }\end{DoxyParamCaption})}



Return the length of a message in bytes. 


\begin{DoxyParams}{Parameters}
{\em m} & The message to be sized \\
\hline
{\em path} & The path the message will be sent to \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}\label{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_new@{lo\_message\_new}}
\index{lo\_message\_new@{lo\_message\_new}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_new()}{lo\_message\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}} lo\+\_\+message\+\_\+new (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Create a new lo\+\_\+message object. 

\mbox{\Hypertarget{group__liblolowlevel_ga5a14045edea33d63792e9a4c82e13b02}\label{group__liblolowlevel_ga5a14045edea33d63792e9a4c82e13b02}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_message\_serialise@{lo\_message\_serialise}}
\index{lo\_message\_serialise@{lo\_message\_serialise}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_message\_serialise()}{lo\_message\_serialise()}}
{\footnotesize\ttfamily void$\ast$ lo\+\_\+message\+\_\+serialise (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{m,  }\item[{const char $\ast$}]{path,  }\item[{void $\ast$}]{to,  }\item[{size\+\_\+t $\ast$}]{size }\end{DoxyParamCaption})}



Serialise the lo\+\_\+message object to an area of memory and return a pointer to the serialised form. Opposite of \mbox{\hyperlink{group__liblolowlevel_ga2f4644b2a1aae0d0eee456fe93ac158e}{lo\+\_\+message\+\_\+deserialise()}}. 


\begin{DoxyParams}{Parameters}
{\em m} & The message to be serialised \\
\hline
{\em path} & The path the message will be sent to \\
\hline
{\em to} & The address to serialise to, memory will be allocated if to is N\+U\+LL. \\
\hline
{\em size} & If this pointer is non-\/\+N\+U\+LL the size of the memory area will be written here\\
\hline
\end{DoxyParams}
The returned form is suitable to be sent over a low level O\+SC transport, having the correct endianess and bit-\/packed structure. \mbox{\Hypertarget{group__liblolowlevel_gac26f3d15dbd23f34d4f9e4f6f0b81bbb}\label{group__liblolowlevel_gac26f3d15dbd23f34d4f9e4f6f0b81bbb}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_pattern\_match@{lo\_pattern\_match}}
\index{lo\_pattern\_match@{lo\_pattern\_match}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_pattern\_match()}{lo\_pattern\_match()}}
{\footnotesize\ttfamily int lo\+\_\+pattern\+\_\+match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str,  }\item[{const char $\ast$}]{p }\end{DoxyParamCaption})}



Test a string against an O\+SC pattern glob. 


\begin{DoxyParams}{Parameters}
{\em str} & The string to test \\
\hline
{\em p} & The pattern to test against \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gad1138d0f777693ae0321e3da65aee53e}\label{group__liblolowlevel_gad1138d0f777693ae0321e3da65aee53e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_send\_bundle@{lo\_send\_bundle}}
\index{lo\_send\_bundle@{lo\_send\_bundle}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_send\_bundle()}{lo\_send\_bundle()}}
{\footnotesize\ttfamily int lo\+\_\+send\+\_\+bundle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{targ,  }\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Send a lo\+\_\+bundle object to address targ. 

Bundles are constructed with the \mbox{\hyperlink{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}{lo\+\_\+bundle\+\_\+new()}} and \mbox{\hyperlink{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}{lo\+\_\+bundle\+\_\+add\+\_\+message()}} functions. \mbox{\Hypertarget{group__liblolowlevel_gab5de220b7d6d7c2bf6b0ca4316a54b7a}\label{group__liblolowlevel_gab5de220b7d6d7c2bf6b0ca4316a54b7a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_send\_bundle\_from@{lo\_send\_bundle\_from}}
\index{lo\_send\_bundle\_from@{lo\_send\_bundle\_from}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_send\_bundle\_from()}{lo\_send\_bundle\_from()}}
{\footnotesize\ttfamily int lo\+\_\+send\+\_\+bundle\+\_\+from (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{targ,  }\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{serv,  }\item[{\mbox{\hyperlink{lo__types_8h_a96254950ad34e9cfbf8a6613fc74025b}{lo\+\_\+bundle}}}]{b }\end{DoxyParamCaption})}



Send a lo\+\_\+bundle object to address targ from address of serv. 

Bundles are constructed with the \mbox{\hyperlink{group__liblolowlevel_ga330a4a4e6227b185b3ec6219ff3e2859}{lo\+\_\+bundle\+\_\+new()}} and \mbox{\hyperlink{group__liblolowlevel_ga1cc5e2eb20ce567a694f343764e25bb7}{lo\+\_\+bundle\+\_\+add\+\_\+message()}} functions.


\begin{DoxyParams}{Parameters}
{\em targ} & The address to send the bundle to \\
\hline
{\em serv} & The server socket to send the bundle from (can be N\+U\+LL to use new socket) \\
\hline
{\em b} & The bundle itself \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga175a13c6d81adf5c346cdca9bbdcf225}\label{group__liblolowlevel_ga175a13c6d81adf5c346cdca9bbdcf225}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_send\_message@{lo\_send\_message}}
\index{lo\_send\_message@{lo\_send\_message}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_send\_message()}{lo\_send\_message()}}
{\footnotesize\ttfamily int lo\+\_\+send\+\_\+message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{targ,  }\item[{const char $\ast$}]{path,  }\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{msg }\end{DoxyParamCaption})}



Send a lo\+\_\+message object to target targ. 

This is slightly more efficient than \mbox{\hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()}} if you want to send a lot of similar messages. The messages are constructed with the \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new()}} and \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add$\ast$()}} functions. \mbox{\Hypertarget{group__liblolowlevel_ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822}\label{group__liblolowlevel_ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_send\_message\_from@{lo\_send\_message\_from}}
\index{lo\_send\_message\_from@{lo\_send\_message\_from}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_send\_message\_from()}{lo\_send\_message\_from()}}
{\footnotesize\ttfamily int lo\+\_\+send\+\_\+message\+\_\+from (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address}}}]{targ,  }\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{serv,  }\item[{const char $\ast$}]{path,  }\item[{\mbox{\hyperlink{lo__types_8h_ad126083c98d941f00eb72d1690b38d63}{lo\+\_\+message}}}]{msg }\end{DoxyParamCaption})}



Send a lo\+\_\+message object to target targ from address of serv. 

This is slightly more efficient than \mbox{\hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()}} if you want to send a lot of similar messages. The messages are constructed with the \mbox{\hyperlink{group__liblolowlevel_ga1e938ecc9160a194424423b400019410}{lo\+\_\+message\+\_\+new()}} and \mbox{\hyperlink{group__liblolowlevel_ga7c9df1bd975a32fb6c8105e6fe327149}{lo\+\_\+message\+\_\+add$\ast$()}} functions.


\begin{DoxyParams}{Parameters}
{\em targ} & The address to send the message to \\
\hline
{\em serv} & The server socket to send the message from (can be N\+U\+LL to use new socket) \\
\hline
{\em path} & The path to send the message to \\
\hline
{\em msg} & The bundle itself \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga1411fdb0c8037a4dd3ab19af35df50ac}\label{group__liblolowlevel_ga1411fdb0c8037a4dd3ab19af35df50ac}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_add\_bundle\_handlers@{lo\_server\_add\_bundle\_handlers}}
\index{lo\_server\_add\_bundle\_handlers@{lo\_server\_add\_bundle\_handlers}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_add\_bundle\_handlers()}{lo\_server\_add\_bundle\_handlers()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+add\+\_\+bundle\+\_\+handlers (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{\mbox{\hyperlink{lo__types_8h_a056b3149631bb154049fa12101838b35}{lo\+\_\+bundle\+\_\+start\+\_\+handler}}}]{sh,  }\item[{\mbox{\hyperlink{lo__types_8h_ad5445ab4f0e562d715162d2ab7bbe85f}{lo\+\_\+bundle\+\_\+end\+\_\+handler}}}]{eh,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Add bundle notification handlers to the specified server. 


\begin{DoxyParams}{Parameters}
{\em s} & The server the method is to be added to. \\
\hline
{\em sh} & The callback function that will be called before the messages of a bundle are dispatched \\
\hline
{\em eh} & The callback function that will be called after the messages of a bundle are dispatched \\
\hline
{\em user\+\_\+data} & A value that will be passed to the user\+\_\+data parameter of both callback functions. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga56c5f1d587c215c27e92e6436e12b1a3}\label{group__liblolowlevel_ga56c5f1d587c215c27e92e6436e12b1a3}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_add\_method@{lo\_server\_add\_method}}
\index{lo\_server\_add\_method@{lo\_server\_add\_method}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_add\_method()}{lo\_server\_add\_method()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}} lo\+\_\+server\+\_\+add\+\_\+method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{const char $\ast$}]{path,  }\item[{const char $\ast$}]{typespec,  }\item[{\mbox{\hyperlink{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}{lo\+\_\+method\+\_\+handler}}}]{h,  }\item[{const void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Add an O\+SC method to the specifed server. 


\begin{DoxyParams}{Parameters}
{\em s} & The server the method is to be added to. \\
\hline
{\em path} & The O\+SC path to register the method to. If N\+U\+LL is passed the method will match all paths. \\
\hline
{\em typespec} & The typespec the method accepts. Incoming messages with similar typespecs (e.\+g. ones with numerical types in the same position) will be coerced to the typespec given here. \\
\hline
{\em h} & The method handler callback function that will be called if a matching message is received \\
\hline
{\em user\+\_\+data} & A value that will be passed to the callback function, h, when its invoked matching from this method. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A unique pointer identifying the method. It should not be freed. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gabbeecd7e7f337906e13654b7f35253fd}\label{group__liblolowlevel_gabbeecd7e7f337906e13654b7f35253fd}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_del\_lo\_method@{lo\_server\_del\_lo\_method}}
\index{lo\_server\_del\_lo\_method@{lo\_server\_del\_lo\_method}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_del\_lo\_method()}{lo\_server\_del\_lo\_method()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+del\+\_\+lo\+\_\+method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{\mbox{\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\+\_\+method}}}]{m }\end{DoxyParamCaption})}



Delete a specific O\+SC method from the specified server. 


\begin{DoxyParams}{Parameters}
{\em s} & The server the method is to be removed from. \\
\hline
{\em m} & The lo\+\_\+method identifier returned from lo\+\_\+server\+\_\+add\+\_\+method for the method to delete from the server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Non-\/zero if it was not found in the list of methods for the server. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_gaf834a6d62de7dcceaede62325e74c763}\label{group__liblolowlevel_gaf834a6d62de7dcceaede62325e74c763}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_del\_method@{lo\_server\_del\_method}}
\index{lo\_server\_del\_method@{lo\_server\_del\_method}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_del\_method()}{lo\_server\_del\_method()}}
{\footnotesize\ttfamily void lo\+\_\+server\+\_\+del\+\_\+method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{const char $\ast$}]{path,  }\item[{const char $\ast$}]{typespec }\end{DoxyParamCaption})}



Delete an O\+SC method from the specified server. 


\begin{DoxyParams}{Parameters}
{\em s} & The server the method is to be removed from. \\
\hline
{\em path} & The O\+SC path of the method to delete. If N\+U\+LL is passed the method will match the generic handler. \\
\hline
{\em typespec} & The typespec the method accepts. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga9e96445401c94c3751de27f8db1a0b50}\label{group__liblolowlevel_ga9e96445401c94c3751de27f8db1a0b50}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_dispatch\_data@{lo\_server\_dispatch\_data}}
\index{lo\_server\_dispatch\_data@{lo\_server\_dispatch\_data}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_dispatch\_data()}{lo\_server\_dispatch\_data()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+dispatch\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{void $\ast$}]{data,  }\item[{size\+\_\+t}]{size }\end{DoxyParamCaption})}



Dispatch a raw block of memory containing an O\+SC message. 

This is useful when a raw block of memory is available that is structured as O\+SC, and you wish to use liblo to dispatch the message to a handler function as if it had been received over the network.


\begin{DoxyParams}{Parameters}
{\em s} & The lo\+\_\+server to use for dispatching. \\
\hline
{\em data} & Pointer to the raw O\+SC message data in network transmission form (network byte order where appropriate). \\
\hline
{\em size} & The size of data in bytes\\
\hline
\end{DoxyParams}
Returns the number of bytes used if successful, or less than 0 otherwise. \mbox{\Hypertarget{group__liblolowlevel_ga175ef81fc2d695895967bfc30a495b2a}\label{group__liblolowlevel_ga175ef81fc2d695895967bfc30a495b2a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_enable\_coercion@{lo\_server\_enable\_coercion}}
\index{lo\_server\_enable\_coercion@{lo\_server\_enable\_coercion}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_enable\_coercion()}{lo\_server\_enable\_coercion()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+enable\+\_\+coercion (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{server,  }\item[{int}]{enable }\end{DoxyParamCaption})}



Enables or disables type coercion during message dispatch. 


\begin{DoxyParams}{Parameters}
{\em server} & The server to toggle this option for. \\
\hline
{\em enable} & Non-\/zero to enable, or zero to disable type coercion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The previous value of this option. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga3e23b9b6027042e136f344d001431ac6}\label{group__liblolowlevel_ga3e23b9b6027042e136f344d001431ac6}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_enable\_queue@{lo\_server\_enable\_queue}}
\index{lo\_server\_enable\_queue@{lo\_server\_enable\_queue}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_enable\_queue()}{lo\_server\_enable\_queue()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+enable\+\_\+queue (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{int}]{queue\+\_\+enabled,  }\item[{int}]{dispatch\+\_\+remaining }\end{DoxyParamCaption})}



Toggle event queue. If queueing is enabled, timetagged messages that are sent in advance of the current time will be put on an internal queue, and they will be dispatched at the indicated time. By default, queueing is enabled. Use this function to disable it, if it is desired to have a server process messages immediately. In that case, use \mbox{\hyperlink{group__liblolowlevel_ga164e068064afa94454eb6515b9b1748d}{lo\+\_\+message\+\_\+get\+\_\+timestamp()}} to get the message timestamp from within a method handler. 


\begin{DoxyParams}{Parameters}
{\em s} & A liblo server \\
\hline
{\em queue\+\_\+enabled} & Zero to disable queue, non-\/zero to enable. \\
\hline
{\em dispatch\+\_\+remaining} & If non-\/zero, previously queued messages will be immediately dispatched when queue is disabled. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The previous state of queue behaviour. Zero if queueing was previously disabled, non-\/zero otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga04feb1063c3f4df6fec41405b28dd99a}\label{group__liblolowlevel_ga04feb1063c3f4df6fec41405b28dd99a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_events\_pending@{lo\_server\_events\_pending}}
\index{lo\_server\_events\_pending@{lo\_server\_events\_pending}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_events\_pending()}{lo\_server\_events\_pending()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+events\+\_\+pending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the server. 

\mbox{\Hypertarget{group__liblolowlevel_gad3dc9193e1eef0d71a4b046242b64216}\label{group__liblolowlevel_gad3dc9193e1eef0d71a4b046242b64216}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_free@{lo\_server\_free}}
\index{lo\_server\_free@{lo\_server\_free}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_free()}{lo\_server\_free()}}
{\footnotesize\ttfamily void lo\+\_\+server\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Free up memory used by the lo\+\_\+server object. 



Referenced by lo\+::\+Server\+::$\sim$\+Server().

\mbox{\Hypertarget{group__liblolowlevel_ga532ef6e1b8675b23e65dd19eeb648c1d}\label{group__liblolowlevel_ga532ef6e1b8675b23e65dd19eeb648c1d}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_get\_port@{lo\_server\_get\_port}}
\index{lo\_server\_get\_port@{lo\_server\_get\_port}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_get\_port()}{lo\_server\_get\_port()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+get\+\_\+port (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return the port number that the server has bound to. 

Useful when N\+U\+LL is passed for the port number and you wish to know how to address the server. \mbox{\Hypertarget{group__liblolowlevel_gab40a599fe8440512b18479dac333e89f}\label{group__liblolowlevel_gab40a599fe8440512b18479dac333e89f}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_get\_protocol@{lo\_server\_get\_protocol}}
\index{lo\_server\_get\_protocol@{lo\_server\_get\_protocol}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_get\_protocol()}{lo\_server\_get\_protocol()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+get\+\_\+protocol (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return the protocol that the server is using. 

Returned value will be one of L\+O\+\_\+\+U\+DP, L\+O\+\_\+\+T\+CP or L\+O\+\_\+\+U\+N\+IX. \mbox{\Hypertarget{group__liblolowlevel_gae11ca5a5b4ec2943d5a04642ba5052ae}\label{group__liblolowlevel_gae11ca5a5b4ec2943d5a04642ba5052ae}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_get\_socket\_fd@{lo\_server\_get\_socket\_fd}}
\index{lo\_server\_get\_socket\_fd@{lo\_server\_get\_socket\_fd}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_get\_socket\_fd()}{lo\_server\_get\_socket\_fd()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+get\+\_\+socket\+\_\+fd (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return the file descriptor of the server socket. 

If the server protocol supports exposing the server\textquotesingle{}s underlying receive mechanism for monitoring with select() or poll(), this function returns the file descriptor needed, otherwise, it returns -\/1.

W\+A\+R\+N\+I\+NG\+: when using this function beware that not all O\+SC packets that are received are dispatched immediately. \mbox{\hyperlink{group__liblolowlevel_ga04feb1063c3f4df6fec41405b28dd99a}{lo\+\_\+server\+\_\+events\+\_\+pending()}} and \mbox{\hyperlink{group__liblolowlevel_ga750076fdd75e2a7d3e442f6bd5968fb9}{lo\+\_\+server\+\_\+next\+\_\+event\+\_\+delay()}} can be used to tell if there are pending events and how long before you should attempt to receive them. \mbox{\Hypertarget{group__liblolowlevel_ga33df48c641833d330a8ba6704caf4977}\label{group__liblolowlevel_ga33df48c641833d330a8ba6704caf4977}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_get\_url@{lo\_server\_get\_url}}
\index{lo\_server\_get\_url@{lo\_server\_get\_url}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_get\_url()}{lo\_server\_get\_url()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+server\+\_\+get\+\_\+url (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return an O\+SC U\+RL that can be used to contact the server. 

The return value should be free()\textquotesingle{}d when it is no longer needed. \mbox{\Hypertarget{group__liblolowlevel_ga9474e6c57e59bd99fd92d0fc8cbe3b88}\label{group__liblolowlevel_ga9474e6c57e59bd99fd92d0fc8cbe3b88}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_max\_msg\_size@{lo\_server\_max\_msg\_size}}
\index{lo\_server\_max\_msg\_size@{lo\_server\_max\_msg\_size}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_max\_msg\_size()}{lo\_server\_max\_msg\_size()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+max\+\_\+msg\+\_\+size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{int}]{req\+\_\+size }\end{DoxyParamCaption})}



Set the maximum message size accepted by a server. 

For U\+DP servers, the maximum message size cannot exceed 64k, due to the U\+DP transport specifications. For T\+CP servers, this number may be larger, but be aware that one or more contiguous blocks of memory of this size may be allocated by liblo. (At least one per connection.)


\begin{DoxyParams}{Parameters}
{\em s} & The server on which to operate. \\
\hline
{\em req\+\_\+size} & The new maximum message size to request, 0 if it should not be modified, or -\/1 if it should be set to unlimited. Note that an unlimited message buffer may make your application open to a denial of service attack. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new maximum message size is returned, which may or may not be equal to req\+\_\+size. If -\/1 is returned, maximum size is unlimited. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}\label{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_new@{lo\_server\_new}}
\index{lo\_server\_new@{lo\_server\_new}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_new()}{lo\_server\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} lo\+\_\+server\+\_\+new (\begin{DoxyParamCaption}\item[{const char $\ast$}]{port,  }\item[{\mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h }\end{DoxyParamCaption})}



Create a new server instance. 

Using \mbox{\hyperlink{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}{lo\+\_\+server\+\_\+recv()}}, lo\+\_\+servers block until they receive O\+SC messages. If you want non-\/blocking behaviour see \mbox{\hyperlink{group__liblolowlevel_ga784a257252d05cc0e7210f4691f0661b}{lo\+\_\+server\+\_\+recv\+\_\+noblock()}} or the \mbox{\hyperlink{lo__serverthread_8h_abe3e0c31189adfd7624de6c507b610ba}{lo\+\_\+server\+\_\+thread\+\_\+$\ast$}} functions.


\begin{DoxyParams}{Parameters}
{\em port} & If N\+U\+LL is passed then an unused U\+DP port will be chosen by the system, its number may be retrieved with \mbox{\hyperlink{lo__serverthread_8h_a22f4b18eeac41490647ab9fe2333f933}{lo\+\_\+server\+\_\+thread\+\_\+get\+\_\+port()}} so it can be passed to clients. Otherwise a decimal port number, service name or U\+N\+IX domain socket path may be passed. \\
\hline
{\em err\+\_\+h} & An error callback function that will be called if there is an error in messge reception or server creation. Pass N\+U\+LL if you do not want error handling. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga1246a1f4a2ba967d31017452a32daf2a}\label{group__liblolowlevel_ga1246a1f4a2ba967d31017452a32daf2a}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_new\_from\_url@{lo\_server\_new\_from\_url}}
\index{lo\_server\_new\_from\_url@{lo\_server\_new\_from\_url}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_new\_from\_url()}{lo\_server\_new\_from\_url()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} lo\+\_\+server\+\_\+new\+\_\+from\+\_\+url (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url,  }\item[{\mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h }\end{DoxyParamCaption})}



Create a new server instance, taking port and the optional multicast group IP from an U\+RL string. 


\begin{DoxyParams}{Parameters}
{\em url} & The U\+RL to specify the server parameters. \\
\hline
{\em err\+\_\+h} & An error callback function that will be called if there is an error in messge reception or server creation. Pass N\+U\+LL if you do not want error handling. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new lo\+\_\+server instance. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__liblolowlevel_ga849f4517a29ad850069cf8f2976a9284}\label{group__liblolowlevel_ga849f4517a29ad850069cf8f2976a9284}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_new\_multicast@{lo\_server\_new\_multicast}}
\index{lo\_server\_new\_multicast@{lo\_server\_new\_multicast}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_new\_multicast()}{lo\_server\_new\_multicast()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} lo\+\_\+server\+\_\+new\+\_\+multicast (\begin{DoxyParamCaption}\item[{const char $\ast$}]{group,  }\item[{const char $\ast$}]{port,  }\item[{\mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h }\end{DoxyParamCaption})}



Create a new server instance, and join a U\+DP multicast group. 


\begin{DoxyParams}{Parameters}
{\em group} & The multicast group to join. See documentation on IP multicast for the acceptable address range; e.\+g., \href{http://tldp.org/HOWTO/Multicast-HOWTO-2.html}{\texttt{ http\+://tldp.\+org/\+H\+O\+W\+T\+O/\+Multicast-\/\+H\+O\+W\+T\+O-\/2.\+html}} \\
\hline
{\em port} & If using U\+DP then N\+U\+LL may be passed to find an unused port. Otherwise a decimal port number or service name or may be passed. If using U\+N\+IX domain sockets then a socket path should be passed here. \\
\hline
{\em err\+\_\+h} & An error callback function that will be called if there is an error in messge reception or server creation. Pass N\+U\+LL if you do not want error handling. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_gadec49f210324f499f2e9593df20128cb}\label{group__liblolowlevel_gadec49f210324f499f2e9593df20128cb}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_new\_multicast\_iface@{lo\_server\_new\_multicast\_iface}}
\index{lo\_server\_new\_multicast\_iface@{lo\_server\_new\_multicast\_iface}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_new\_multicast\_iface()}{lo\_server\_new\_multicast\_iface()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} lo\+\_\+server\+\_\+new\+\_\+multicast\+\_\+iface (\begin{DoxyParamCaption}\item[{const char $\ast$}]{group,  }\item[{const char $\ast$}]{port,  }\item[{const char $\ast$}]{iface,  }\item[{const char $\ast$}]{ip,  }\item[{\mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h }\end{DoxyParamCaption})}



Create a new server instance, and join a U\+DP multicast group, optionally specifying which network interface to use. Note that usually only one of iface or ip are specified. 


\begin{DoxyParams}{Parameters}
{\em group} & The multicast group to join. See documentation on IP multicast for the acceptable address range; e.\+g., \href{http://tldp.org/HOWTO/Multicast-HOWTO-2.html}{\texttt{ http\+://tldp.\+org/\+H\+O\+W\+T\+O/\+Multicast-\/\+H\+O\+W\+T\+O-\/2.\+html}} \\
\hline
{\em port} & If using U\+DP then N\+U\+LL may be passed to find an unused port. Otherwise a decimal port number or service name or may be passed. If using U\+N\+IX domain sockets then a socket path should be passed here. \\
\hline
{\em iface} & A string specifying the name of a network interface to use, or zero if not specified. \\
\hline
{\em ip} & A string specifying the IP address of a network interface to use, or zero if not specified. \\
\hline
{\em err\+\_\+h} & An error callback function that will be called if there is an error in messge reception or server creation. Pass N\+U\+LL if you do not want error handling. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga4afa474b11ed0d4511857ae79c56aaa1}\label{group__liblolowlevel_ga4afa474b11ed0d4511857ae79c56aaa1}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_new\_with\_proto@{lo\_server\_new\_with\_proto}}
\index{lo\_server\_new\_with\_proto@{lo\_server\_new\_with\_proto}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_new\_with\_proto()}{lo\_server\_new\_with\_proto()}}
{\footnotesize\ttfamily \mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} lo\+\_\+server\+\_\+new\+\_\+with\+\_\+proto (\begin{DoxyParamCaption}\item[{const char $\ast$}]{port,  }\item[{int}]{proto,  }\item[{\mbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h }\end{DoxyParamCaption})}



Create a new server instance, specifying protocol. 

Using \mbox{\hyperlink{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}{lo\+\_\+server\+\_\+recv()}}, lo\+\_\+servers block until they receive O\+SC messages. If you want non-\/blocking behaviour see \mbox{\hyperlink{group__liblolowlevel_ga784a257252d05cc0e7210f4691f0661b}{lo\+\_\+server\+\_\+recv\+\_\+noblock()}} or the \mbox{\hyperlink{lo__serverthread_8h_abe3e0c31189adfd7624de6c507b610ba}{lo\+\_\+server\+\_\+thread\+\_\+$\ast$}} functions.


\begin{DoxyParams}{Parameters}
{\em port} & If using U\+DP then N\+U\+LL may be passed to find an unused port. Otherwise a decimal port number orservice name or may be passed. If using U\+N\+IX domain sockets then a socket path should be passed here. \\
\hline
{\em proto} & The protocol to use, should be one of L\+O\+\_\+\+U\+DP, L\+O\+\_\+\+T\+CP or L\+O\+\_\+\+U\+N\+IX. \\
\hline
{\em err\+\_\+h} & An error callback function that will be called if there is an error in messge reception or server creation. Pass N\+U\+LL if you do not want error handling. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__liblolowlevel_ga750076fdd75e2a7d3e442f6bd5968fb9}\label{group__liblolowlevel_ga750076fdd75e2a7d3e442f6bd5968fb9}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_next\_event\_delay@{lo\_server\_next\_event\_delay}}
\index{lo\_server\_next\_event\_delay@{lo\_server\_next\_event\_delay}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_next\_event\_delay()}{lo\_server\_next\_event\_delay()}}
{\footnotesize\ttfamily double lo\+\_\+server\+\_\+next\+\_\+event\+\_\+delay (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Return the time in seconds until the next scheduled event. 

If the delay is greater than 100 seconds then it will return 100.\+0. \mbox{\Hypertarget{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}\label{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_recv@{lo\_server\_recv}}
\index{lo\_server\_recv@{lo\_server\_recv}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_recv()}{lo\_server\_recv()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+recv (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s }\end{DoxyParamCaption})}



Block, waiting for an O\+SC message to be received. 

The return value is the number of bytes in the received message. The message will be dispatched to a matching method if one is found. \mbox{\Hypertarget{group__liblolowlevel_ga784a257252d05cc0e7210f4691f0661b}\label{group__liblolowlevel_ga784a257252d05cc0e7210f4691f0661b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_recv\_noblock@{lo\_server\_recv\_noblock}}
\index{lo\_server\_recv\_noblock@{lo\_server\_recv\_noblock}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_recv\_noblock()}{lo\_server\_recv\_noblock()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+recv\+\_\+noblock (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{int}]{timeout }\end{DoxyParamCaption})}



Look for an O\+SC message waiting to be received. 


\begin{DoxyParams}{Parameters}
{\em s} & The server to wait for connections on. \\
\hline
{\em timeout} & A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.\\
\hline
\end{DoxyParams}
The return value is the number of bytes in the received message or 0 if there is no message. The message will be dispatched to a matching method if one is found. \mbox{\Hypertarget{group__liblolowlevel_ga33cdcfbab89d58f82175386a76698822}\label{group__liblolowlevel_ga33cdcfbab89d58f82175386a76698822}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_server\_wait@{lo\_server\_wait}}
\index{lo\_server\_wait@{lo\_server\_wait}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_server\_wait()}{lo\_server\_wait()}}
{\footnotesize\ttfamily int lo\+\_\+server\+\_\+wait (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}}}]{s,  }\item[{int}]{timeout }\end{DoxyParamCaption})}



Wait for an O\+SC message to be received. 


\begin{DoxyParams}{Parameters}
{\em s} & The server to wait for connections on. \\
\hline
{\em timeout} & A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.\\
\hline
\end{DoxyParams}
The return value is 1 if there is a message waiting or 0 if there is no message. If there is a message waiting you can now call \mbox{\hyperlink{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}{lo\+\_\+server\+\_\+recv()}} to receive that message. \mbox{\Hypertarget{group__liblolowlevel_ga2b7b00790f273135fab8fb9210dc61d2}\label{group__liblolowlevel_ga2b7b00790f273135fab8fb9210dc61d2}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_servers\_recv\_noblock@{lo\_servers\_recv\_noblock}}
\index{lo\_servers\_recv\_noblock@{lo\_servers\_recv\_noblock}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_servers\_recv\_noblock()}{lo\_servers\_recv\_noblock()}}
{\footnotesize\ttfamily int lo\+\_\+servers\+\_\+recv\+\_\+noblock (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} $\ast$}]{s,  }\item[{int $\ast$}]{recvd,  }\item[{int}]{num\+\_\+servers,  }\item[{int}]{timeout }\end{DoxyParamCaption})}



Look for an O\+SC message waiting to be received on multiple servers. 


\begin{DoxyParams}{Parameters}
{\em s} & As array of servers to wait for connections on. \\
\hline
{\em recvd} & An array to store the number of bytes received by each server in array s. \\
\hline
{\em num\+\_\+servers} & The number of servers in the array s. \\
\hline
{\em timeout} & A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.\\
\hline
\end{DoxyParams}
The return value is the total number of bytes received by all servers. The messages will be dispatched to a matching method if one is found. \mbox{\Hypertarget{group__liblolowlevel_gaa1821643c567abbdd681ccda349c4311}\label{group__liblolowlevel_gaa1821643c567abbdd681ccda349c4311}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_servers\_wait@{lo\_servers\_wait}}
\index{lo\_servers\_wait@{lo\_servers\_wait}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_servers\_wait()}{lo\_servers\_wait()}}
{\footnotesize\ttfamily int lo\+\_\+servers\+\_\+wait (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server}} $\ast$}]{s,  }\item[{int $\ast$}]{status,  }\item[{int}]{num\+\_\+servers,  }\item[{int}]{timeout }\end{DoxyParamCaption})}



Wait on multiple servers for an O\+SC message to be received. 


\begin{DoxyParams}{Parameters}
{\em s} & An array of servers to wait for connections on. \\
\hline
{\em status} & An array to receive the status of each server. \\
\hline
{\em num\+\_\+servers} & The number of servers in the array s. \\
\hline
{\em timeout} & A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.\\
\hline
\end{DoxyParams}
The return value is the number of servers with a message waiting or 0 if there is no message. If there is a message waiting you can now call \mbox{\hyperlink{group__liblolowlevel_gaebef3611d24e4b5f60f16cce76a9e271}{lo\+\_\+server\+\_\+recv()}} to receive that message. \mbox{\Hypertarget{group__liblolowlevel_gae62aa870bad161e4507f6338820ac243}\label{group__liblolowlevel_gae62aa870bad161e4507f6338820ac243}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_strsize@{lo\_strsize}}
\index{lo\_strsize@{lo\_strsize}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_strsize()}{lo\_strsize()}}
{\footnotesize\ttfamily int lo\+\_\+strsize (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}



A function to calculate the amount of O\+SC message space required by a C char $\ast$. 

Returns the storage size in bytes, which will always be a multiple of four. \mbox{\Hypertarget{group__liblolowlevel_ga9937fce1bfce695b01cd3289ead8b919}\label{group__liblolowlevel_ga9937fce1bfce695b01cd3289ead8b919}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_timetag\_diff@{lo\_timetag\_diff}}
\index{lo\_timetag\_diff@{lo\_timetag\_diff}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_timetag\_diff()}{lo\_timetag\_diff()}}
{\footnotesize\ttfamily double lo\+\_\+timetag\+\_\+diff (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}}}]{a,  }\item[{\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}}}]{b }\end{DoxyParamCaption})}



Find the time difference between two timetags. 

Returns a -\/ b in seconds. \mbox{\Hypertarget{group__liblolowlevel_gad687e21ed611e68748e962502ae63d8e}\label{group__liblolowlevel_gad687e21ed611e68748e962502ae63d8e}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_timetag\_now@{lo\_timetag\_now}}
\index{lo\_timetag\_now@{lo\_timetag\_now}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_timetag\_now()}{lo\_timetag\_now()}}
{\footnotesize\ttfamily void lo\+\_\+timetag\+\_\+now (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structlo__timetag}{lo\+\_\+timetag}} $\ast$}]{t }\end{DoxyParamCaption})}



Return a timetag for the current time. 

On exit the timetag pointed to by t is filled with the O\+SC representation of this instant in time. 

Referenced by lo\+::now().

\mbox{\Hypertarget{group__liblolowlevel_gab1b7df7061a0b2cd0db31d3fca1b399b}\label{group__liblolowlevel_gab1b7df7061a0b2cd0db31d3fca1b399b}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_url\_get\_hostname@{lo\_url\_get\_hostname}}
\index{lo\_url\_get\_hostname@{lo\_url\_get\_hostname}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_url\_get\_hostname()}{lo\_url\_get\_hostname()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+url\+\_\+get\+\_\+hostname (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url }\end{DoxyParamCaption})}



Return the hostname portion of an O\+SC U\+RL. 

The return value should be free()\textquotesingle{}d when it is no longer needed. \mbox{\Hypertarget{group__liblolowlevel_ga617d046cc702a2c5ab8539659381ef18}\label{group__liblolowlevel_ga617d046cc702a2c5ab8539659381ef18}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_url\_get\_path@{lo\_url\_get\_path}}
\index{lo\_url\_get\_path@{lo\_url\_get\_path}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_url\_get\_path()}{lo\_url\_get\_path()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+url\+\_\+get\+\_\+path (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url }\end{DoxyParamCaption})}



Return the path portion of an O\+SC U\+RL. 

The return value should be free()\textquotesingle{}d when it is no longer needed. \mbox{\Hypertarget{group__liblolowlevel_ga488fb8e96fb86320590c1a8ca389593d}\label{group__liblolowlevel_ga488fb8e96fb86320590c1a8ca389593d}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_url\_get\_port@{lo\_url\_get\_port}}
\index{lo\_url\_get\_port@{lo\_url\_get\_port}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_url\_get\_port()}{lo\_url\_get\_port()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+url\+\_\+get\+\_\+port (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url }\end{DoxyParamCaption})}



Return the port portion of an O\+SC U\+RL. 

The return value should be free()\textquotesingle{}d when it is no longer needed. \mbox{\Hypertarget{group__liblolowlevel_ga58266d3085b73fc4dc5e1913de810b22}\label{group__liblolowlevel_ga58266d3085b73fc4dc5e1913de810b22}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_url\_get\_protocol@{lo\_url\_get\_protocol}}
\index{lo\_url\_get\_protocol@{lo\_url\_get\_protocol}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_url\_get\_protocol()}{lo\_url\_get\_protocol()}}
{\footnotesize\ttfamily char$\ast$ lo\+\_\+url\+\_\+get\+\_\+protocol (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url }\end{DoxyParamCaption})}



Return the protocol portion of an O\+SC U\+RL, eg. udp, tcp. 

This library uses O\+SC U\+R\+Ls of the form\+: osc.\+prot\+://hostname\+:port/path if the prot part is missing, U\+DP is assumed.

The return value should be free()\textquotesingle{}d when it is no longer needed. \mbox{\Hypertarget{group__liblolowlevel_ga0550cc91417b530c26a360b10072a3cb}\label{group__liblolowlevel_ga0550cc91417b530c26a360b10072a3cb}} 
\index{Low-\/level OSC API@{Low-\/level OSC API}!lo\_url\_get\_protocol\_id@{lo\_url\_get\_protocol\_id}}
\index{lo\_url\_get\_protocol\_id@{lo\_url\_get\_protocol\_id}!Low-\/level OSC API@{Low-\/level OSC API}}
\doxysubsubsection{\texorpdfstring{lo\_url\_get\_protocol\_id()}{lo\_url\_get\_protocol\_id()}}
{\footnotesize\ttfamily int lo\+\_\+url\+\_\+get\+\_\+protocol\+\_\+id (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url }\end{DoxyParamCaption})}



Return the protocol ID of an O\+SC U\+RL. 

This library uses O\+SC U\+R\+Ls of the form\+: osc.\+prot\+://hostname\+:port/path if the prot part is missing, U\+DP is assumed. Returned value will be one of L\+O\+\_\+\+U\+DP, L\+O\+\_\+\+T\+CP, L\+O\+\_\+\+U\+N\+IX or -\/1.

\begin{DoxyReturn}{Returns}
An integer specifying the protocol. Return -\/1 when the protocol is not supported by liblo. 
\end{DoxyReturn}
