Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > d5bf8b251edc06b3f60bde270534ff3f > files > 33

liblo-devel-0.26-4.fc17.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>liblo: Low-level OSC API</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">liblo
   &#160;<span id="projectnumber">0.26</span>
   </div>
   
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Low-level OSC API</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga0062385786b0375d4b6954ba1fb8d52b"><td class="memItemLeft" align="right" valign="top">typedef long double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga0062385786b0375d4b6954ba1fb8d52b">lo_hires</a></td></tr>
<tr class="memdesc:ga0062385786b0375d4b6954ba1fb8d52b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type used to represent numerical values in conversions between OSC types.  <a href="#ga0062385786b0375d4b6954ba1fb8d52b"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga175a13c6d81adf5c346cdca9bbdcf225"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga175a13c6d81adf5c346cdca9bbdcf225">lo_send_message</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, const char *path, <a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> msg)</td></tr>
<tr class="memdesc:ga175a13c6d81adf5c346cdca9bbdcf225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a lo_message object to target targ.  <a href="#ga175a13c6d81adf5c346cdca9bbdcf225"></a><br/></td></tr>
<tr class="memitem:ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822">lo_send_message_from</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, <a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> serv, const char *path, <a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> msg)</td></tr>
<tr class="memdesc:ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a lo_message object to target targ from address of serv.  <a href="#ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822"></a><br/></td></tr>
<tr class="memitem:gad1138d0f777693ae0321e3da65aee53e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad1138d0f777693ae0321e3da65aee53e">lo_send_bundle</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, <a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b)</td></tr>
<tr class="memdesc:gad1138d0f777693ae0321e3da65aee53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a lo_bundle object to address targ.  <a href="#gad1138d0f777693ae0321e3da65aee53e"></a><br/></td></tr>
<tr class="memitem:gab5de220b7d6d7c2bf6b0ca4316a54b7a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gab5de220b7d6d7c2bf6b0ca4316a54b7a">lo_send_bundle_from</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, <a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> serv, <a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b)</td></tr>
<tr class="memdesc:gab5de220b7d6d7c2bf6b0ca4316a54b7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a lo_bundle object to address targ from address of serv.  <a href="#gab5de220b7d6d7c2bf6b0ca4316a54b7a"></a><br/></td></tr>
<tr class="memitem:ga2cce2e97452e3e9d6b5d3af33bb1d153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153">lo_message_new</a> ()</td></tr>
<tr class="memdesc:ga2cce2e97452e3e9d6b5d3af33bb1d153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new lo_message object.  <a href="#ga2cce2e97452e3e9d6b5d3af33bb1d153"></a><br/></td></tr>
<tr class="memitem:ga93d3687e77ae20167b82830c917a3e50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga93d3687e77ae20167b82830c917a3e50">lo_message_free</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga93d3687e77ae20167b82830c917a3e50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory allocated by <a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153" title="Create a new lo_message object.">lo_message_new()</a> and any subsequent <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add_int32</a> lo_message_add*() calls.  <a href="#ga93d3687e77ae20167b82830c917a3e50"></a><br/></td></tr>
<tr class="memitem:ga4e7a6d91a06e795ded9676d089abea24"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga4e7a6d91a06e795ded9676d089abea24">lo_message_add</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *types,...)</td></tr>
<tr class="memdesc:ga4e7a6d91a06e795ded9676d089abea24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a number of arguments to a message.  <a href="#ga4e7a6d91a06e795ded9676d089abea24"></a><br/></td></tr>
<tr class="memitem:ga9cd98b0c6ad5468692fd0b1936bd093f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga9cd98b0c6ad5468692fd0b1936bd093f">lo_message_add_varargs</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *types, va_list ap)</td></tr>
<tr class="memdesc:ga9cd98b0c6ad5468692fd0b1936bd093f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a varargs list to a message.  <a href="#ga9cd98b0c6ad5468692fd0b1936bd093f"></a><br/></td></tr>
<tr class="memitem:ga7c9df1bd975a32fb6c8105e6fe327149"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add_int32</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, int32_t a)</td></tr>
<tr class="memdesc:ga7c9df1bd975a32fb6c8105e6fe327149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message.  <a href="#ga7c9df1bd975a32fb6c8105e6fe327149"></a><br/></td></tr>
<tr class="memitem:ga42815097ea691fd1ec0798beca7f8e5e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga42815097ea691fd1ec0798beca7f8e5e">lo_message_add_float</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, float a)</td></tr>
<tr class="memdesc:ga42815097ea691fd1ec0798beca7f8e5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga42815097ea691fd1ec0798beca7f8e5e"></a><br/></td></tr>
<tr class="memitem:ga4ff414b1b3d87454668dfd728b830888"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga4ff414b1b3d87454668dfd728b830888">lo_message_add_string</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *a)</td></tr>
<tr class="memdesc:ga4ff414b1b3d87454668dfd728b830888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga4ff414b1b3d87454668dfd728b830888"></a><br/></td></tr>
<tr class="memitem:gac0ae2fc81d2a48fe63b0803637997fd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gac0ae2fc81d2a48fe63b0803637997fd4">lo_message_add_blob</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, <a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> a)</td></tr>
<tr class="memdesc:gac0ae2fc81d2a48fe63b0803637997fd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#gac0ae2fc81d2a48fe63b0803637997fd4"></a><br/></td></tr>
<tr class="memitem:ga282ef81387abab0ce18f7479a4a817b5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga282ef81387abab0ce18f7479a4a817b5">lo_message_add_int64</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, int64_t a)</td></tr>
<tr class="memdesc:ga282ef81387abab0ce18f7479a4a817b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga282ef81387abab0ce18f7479a4a817b5"></a><br/></td></tr>
<tr class="memitem:ga03f8eafa4ba598c545f30e17b23d1c89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga03f8eafa4ba598c545f30e17b23d1c89">lo_message_add_timetag</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, <a class="el" href="structlo__timetag.html">lo_timetag</a> a)</td></tr>
<tr class="memdesc:ga03f8eafa4ba598c545f30e17b23d1c89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga03f8eafa4ba598c545f30e17b23d1c89"></a><br/></td></tr>
<tr class="memitem:gadd3a8441ad5a749c43694e77594cf47b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gadd3a8441ad5a749c43694e77594cf47b">lo_message_add_double</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, double a)</td></tr>
<tr class="memdesc:gadd3a8441ad5a749c43694e77594cf47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#gadd3a8441ad5a749c43694e77594cf47b"></a><br/></td></tr>
<tr class="memitem:ga90e4dab46ecaabab4e34214429d622a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga90e4dab46ecaabab4e34214429d622a7">lo_message_add_symbol</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *a)</td></tr>
<tr class="memdesc:ga90e4dab46ecaabab4e34214429d622a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga90e4dab46ecaabab4e34214429d622a7"></a><br/></td></tr>
<tr class="memitem:gab2423db077dea59c4049103819d2810b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gab2423db077dea59c4049103819d2810b">lo_message_add_char</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, char a)</td></tr>
<tr class="memdesc:gab2423db077dea59c4049103819d2810b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#gab2423db077dea59c4049103819d2810b"></a><br/></td></tr>
<tr class="memitem:gaaea6ac25787de608199a988dc214f32e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaaea6ac25787de608199a988dc214f32e">lo_message_add_midi</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, uint8_t a[4])</td></tr>
<tr class="memdesc:gaaea6ac25787de608199a988dc214f32e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#gaaea6ac25787de608199a988dc214f32e"></a><br/></td></tr>
<tr class="memitem:ga9da3df4838126910171a8e45ea34e9ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga9da3df4838126910171a8e45ea34e9ec">lo_message_add_true</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga9da3df4838126910171a8e45ea34e9ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga9da3df4838126910171a8e45ea34e9ec"></a><br/></td></tr>
<tr class="memitem:ga1c8a136e87e3d2befeb466e0a8a5a4ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga1c8a136e87e3d2befeb466e0a8a5a4ad">lo_message_add_false</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga1c8a136e87e3d2befeb466e0a8a5a4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga1c8a136e87e3d2befeb466e0a8a5a4ad"></a><br/></td></tr>
<tr class="memitem:gabd3cd7f86137ae1a180e33c3bc5c9644"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gabd3cd7f86137ae1a180e33c3bc5c9644">lo_message_add_nil</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:gabd3cd7f86137ae1a180e33c3bc5c9644"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#gabd3cd7f86137ae1a180e33c3bc5c9644"></a><br/></td></tr>
<tr class="memitem:ga4cbd7d3834a67446b15f53acf316a72a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga4cbd7d3834a67446b15f53acf316a72a">lo_message_add_infinitum</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga4cbd7d3834a67446b15f53acf316a72a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details.  <a href="#ga4cbd7d3834a67446b15f53acf316a72a"></a><br/></td></tr>
<tr class="memitem:ga1f4e07e4f8b67edc98f4b300412a3dbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga1f4e07e4f8b67edc98f4b300412a3dbb">lo_message_get_source</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga1f4e07e4f8b67edc98f4b300412a3dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the source (lo_address) of an incoming message.  <a href="#ga1f4e07e4f8b67edc98f4b300412a3dbb"></a><br/></td></tr>
<tr class="memitem:ga164e068064afa94454eb6515b9b1748d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structlo__timetag.html">lo_timetag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga164e068064afa94454eb6515b9b1748d">lo_message_get_timestamp</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga164e068064afa94454eb6515b9b1748d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the timestamp (<a class="el" href="structlo__timetag.html" title="A structure to store OSC TimeTag values.">lo_timetag</a> *) of a bundled incoming message.  <a href="#ga164e068064afa94454eb6515b9b1748d"></a><br/></td></tr>
<tr class="memitem:gad3c1a312fd90bb4c35a4c1fac2d0b25d"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad3c1a312fd90bb4c35a4c1fac2d0b25d">lo_message_get_types</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:gad3c1a312fd90bb4c35a4c1fac2d0b25d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the message type tag string.  <a href="#gad3c1a312fd90bb4c35a4c1fac2d0b25d"></a><br/></td></tr>
<tr class="memitem:ga5b391362eda2c6019011f3db55049db3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga5b391362eda2c6019011f3db55049db3">lo_message_get_argc</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga5b391362eda2c6019011f3db55049db3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the message argument count.  <a href="#ga5b391362eda2c6019011f3db55049db3"></a><br/></td></tr>
<tr class="memitem:gab28b48cdbefb60eb7e57557ae9d23171"><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionlo__arg.html">lo_arg</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gab28b48cdbefb60eb7e57557ae9d23171">lo_message_get_argv</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:gab28b48cdbefb60eb7e57557ae9d23171"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the message arguments. Do not free the returned data.  <a href="#gab28b48cdbefb60eb7e57557ae9d23171"></a><br/></td></tr>
<tr class="memitem:ga0855039d071b7031727213272857c27e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga0855039d071b7031727213272857c27e">lo_message_length</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *path)</td></tr>
<tr class="memdesc:ga0855039d071b7031727213272857c27e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the length of a message in bytes.  <a href="#ga0855039d071b7031727213272857c27e"></a><br/></td></tr>
<tr class="memitem:ga5a14045edea33d63792e9a4c82e13b02"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga5a14045edea33d63792e9a4c82e13b02">lo_message_serialise</a> (<a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m, const char *path, void *to, size_t *size)</td></tr>
<tr class="memdesc:ga5a14045edea33d63792e9a4c82e13b02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialise the lo_message object to an area of memory and return a pointer to the serialised form. Opposite of <a class="el" href="group__liblolowlevel.html#ga2f4644b2a1aae0d0eee456fe93ac158e" title="Deserialise a raw OSC message and return a new lo_message object. Opposite of lo_message_serialise()...">lo_message_deserialise()</a>.  <a href="#ga5a14045edea33d63792e9a4c82e13b02"></a><br/></td></tr>
<tr class="memitem:ga2f4644b2a1aae0d0eee456fe93ac158e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga2f4644b2a1aae0d0eee456fe93ac158e">lo_message_deserialise</a> (void *data, size_t size, int *result)</td></tr>
<tr class="memdesc:ga2f4644b2a1aae0d0eee456fe93ac158e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialise a raw OSC message and return a new lo_message object. Opposite of <a class="el" href="group__liblolowlevel.html#ga5a14045edea33d63792e9a4c82e13b02" title="Serialise the lo_message object to an area of memory and return a pointer to the serialised form...">lo_message_serialise()</a>.  <a href="#ga2f4644b2a1aae0d0eee456fe93ac158e"></a><br/></td></tr>
<tr class="memitem:ga9e96445401c94c3751de27f8db1a0b50"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga9e96445401c94c3751de27f8db1a0b50">lo_server_dispatch_data</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s, void *data, size_t size)</td></tr>
<tr class="memdesc:ga9e96445401c94c3751de27f8db1a0b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dispatch a raw block of memory containing an OSC message.  <a href="#ga9e96445401c94c3751de27f8db1a0b50"></a><br/></td></tr>
<tr class="memitem:ga7dbaa4a6dfc9d7369cfbca195809be3c"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga7dbaa4a6dfc9d7369cfbca195809be3c">lo_address_get_hostname</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:ga7dbaa4a6dfc9d7369cfbca195809be3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hostname of a lo_address object.  <a href="#ga7dbaa4a6dfc9d7369cfbca195809be3c"></a><br/></td></tr>
<tr class="memitem:ga75bc15ab78de049c0e0d7e24a0d6d0c1"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga75bc15ab78de049c0e0d7e24a0d6d0c1">lo_address_get_port</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:ga75bc15ab78de049c0e0d7e24a0d6d0c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the port/service name of a lo_address object.  <a href="#ga75bc15ab78de049c0e0d7e24a0d6d0c1"></a><br/></td></tr>
<tr class="memitem:gaaae09ebb4cf42e92504fe9aa7e7b2184"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaaae09ebb4cf42e92504fe9aa7e7b2184">lo_address_get_protocol</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:gaaae09ebb4cf42e92504fe9aa7e7b2184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the protocol of a lo_address object.  <a href="#gaaae09ebb4cf42e92504fe9aa7e7b2184"></a><br/></td></tr>
<tr class="memitem:ga85d7101e9e3a3339544445b539e3a5d2"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga85d7101e9e3a3339544445b539e3a5d2">lo_address_get_url</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:ga85d7101e9e3a3339544445b539e3a5d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a URL representing an OSC address.  <a href="#ga85d7101e9e3a3339544445b539e3a5d2"></a><br/></td></tr>
<tr class="memitem:gacd72097b92411db148844d89071fd281"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gacd72097b92411db148844d89071fd281">lo_address_set_ttl</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> t, int ttl)</td></tr>
<tr class="memdesc:gacd72097b92411db148844d89071fd281"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Time-to-Live value for a given target address.  <a href="#gacd72097b92411db148844d89071fd281"></a><br/></td></tr>
<tr class="memitem:ga3652ba694ba3c153dc96917e7321131c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga3652ba694ba3c153dc96917e7321131c">lo_address_get_ttl</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> t)</td></tr>
<tr class="memdesc:ga3652ba694ba3c153dc96917e7321131c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Time-to-Live value for a given target address.  <a href="#ga3652ba694ba3c153dc96917e7321131c"></a><br/></td></tr>
<tr class="memitem:ga330a4a4e6227b185b3ec6219ff3e2859"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga330a4a4e6227b185b3ec6219ff3e2859">lo_bundle_new</a> (<a class="el" href="structlo__timetag.html">lo_timetag</a> tt)</td></tr>
<tr class="memdesc:ga330a4a4e6227b185b3ec6219ff3e2859"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new bundle object.  <a href="#ga330a4a4e6227b185b3ec6219ff3e2859"></a><br/></td></tr>
<tr class="memitem:ga1cc5e2eb20ce567a694f343764e25bb7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga1cc5e2eb20ce567a694f343764e25bb7">lo_bundle_add_message</a> (<a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b, const char *path, <a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> m)</td></tr>
<tr class="memdesc:ga1cc5e2eb20ce567a694f343764e25bb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an OSC message to an existing bundle.  <a href="#ga1cc5e2eb20ce567a694f343764e25bb7"></a><br/></td></tr>
<tr class="memitem:gaa105f1c5b97a16beabdb6b4ab7af2b46"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaa105f1c5b97a16beabdb6b4ab7af2b46">lo_bundle_length</a> (<a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b)</td></tr>
<tr class="memdesc:gaa105f1c5b97a16beabdb6b4ab7af2b46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the length of a bundle in bytes.  <a href="#gaa105f1c5b97a16beabdb6b4ab7af2b46"></a><br/></td></tr>
<tr class="memitem:gaea61bc73c281efe4e2f95456e4d0f9f5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaea61bc73c281efe4e2f95456e4d0f9f5">lo_bundle_serialise</a> (<a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b, void *to, size_t *size)</td></tr>
<tr class="memdesc:gaea61bc73c281efe4e2f95456e4d0f9f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialise the bundle object to an area of memory and return a pointer to the serialised form.  <a href="#gaea61bc73c281efe4e2f95456e4d0f9f5"></a><br/></td></tr>
<tr class="memitem:ga2ba37901788d863d08a2b7d6ca4250e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga2ba37901788d863d08a2b7d6ca4250e6">lo_bundle_free</a> (<a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b)</td></tr>
<tr class="memdesc:ga2ba37901788d863d08a2b7d6ca4250e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the memory taken by a bundle object.  <a href="#ga2ba37901788d863d08a2b7d6ca4250e6"></a><br/></td></tr>
<tr class="memitem:ga2773611a57270837fff398b716fa8459"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga2773611a57270837fff398b716fa8459">lo_bundle_free_messages</a> (<a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> b)</td></tr>
<tr class="memdesc:ga2773611a57270837fff398b716fa8459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the memory taken by a bundle object and messages in the bundle.  <a href="#ga2773611a57270837fff398b716fa8459"></a><br/></td></tr>
<tr class="memitem:gace222e42c35d0256f115e00b84e8f853"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gace222e42c35d0256f115e00b84e8f853">lo_is_numerical_type</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> a)</td></tr>
<tr class="memdesc:gace222e42c35d0256f115e00b84e8f853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the type specified has a numerical value, such as LO_INT32, LO_FLOAT etc.  <a href="#gace222e42c35d0256f115e00b84e8f853"></a><br/></td></tr>
<tr class="memitem:gaeb9f59d9f7bf8d50f21809e44889eee7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaeb9f59d9f7bf8d50f21809e44889eee7">lo_is_string_type</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> a)</td></tr>
<tr class="memdesc:gaeb9f59d9f7bf8d50f21809e44889eee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the type specified has a textual value, such as LO_STRING or LO_SYMBOL.  <a href="#gaeb9f59d9f7bf8d50f21809e44889eee7"></a><br/></td></tr>
<tr class="memitem:gaf85d7a54ab80e1b2a3d17c4cfef38402"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaf85d7a54ab80e1b2a3d17c4cfef38402">lo_coerce</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type_to, <a class="el" href="unionlo__arg.html">lo_arg</a> *to, <a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type_from, <a class="el" href="unionlo__arg.html">lo_arg</a> *from)</td></tr>
<tr class="memdesc:gaf85d7a54ab80e1b2a3d17c4cfef38402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to convert one OSC type to another.  <a href="#gaf85d7a54ab80e1b2a3d17c4cfef38402"></a><br/></td></tr>
<tr class="memitem:gafb7036664581480c9f2e898e57704c1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__liblolowlevel.html#ga0062385786b0375d4b6954ba1fb8d52b">lo_hires</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gafb7036664581480c9f2e898e57704c1b">lo_hires_val</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type, <a class="el" href="unionlo__arg.html">lo_arg</a> *p)</td></tr>
<tr class="memdesc:gafb7036664581480c9f2e898e57704c1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the numerical value of the given argument with the maximum native system precision.  <a href="#gafb7036664581480c9f2e898e57704c1b"></a><br/></td></tr>
<tr class="memitem:ga78cfb23346e44465695293d4393447ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga78cfb23346e44465695293d4393447ae">lo_server_new</a> (const char *port, <a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a> err_h)</td></tr>
<tr class="memdesc:ga78cfb23346e44465695293d4393447ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server instance.  <a href="#ga78cfb23346e44465695293d4393447ae"></a><br/></td></tr>
<tr class="memitem:ga4afa474b11ed0d4511857ae79c56aaa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga4afa474b11ed0d4511857ae79c56aaa1">lo_server_new_with_proto</a> (const char *port, int proto, <a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a> err_h)</td></tr>
<tr class="memdesc:ga4afa474b11ed0d4511857ae79c56aaa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server instance, specifying protocol.  <a href="#ga4afa474b11ed0d4511857ae79c56aaa1"></a><br/></td></tr>
<tr class="memitem:ga849f4517a29ad850069cf8f2976a9284"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga849f4517a29ad850069cf8f2976a9284">lo_server_new_multicast</a> (const char *group, const char *port, <a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a> err_h)</td></tr>
<tr class="memdesc:ga849f4517a29ad850069cf8f2976a9284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server instance, and join a UDP multicast group.  <a href="#ga849f4517a29ad850069cf8f2976a9284"></a><br/></td></tr>
<tr class="memitem:gad3dc9193e1eef0d71a4b046242b64216"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad3dc9193e1eef0d71a4b046242b64216">lo_server_free</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:gad3dc9193e1eef0d71a4b046242b64216"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free up memory used by the lo_server object.  <a href="#gad3dc9193e1eef0d71a4b046242b64216"></a><br/></td></tr>
<tr class="memitem:ga33cdcfbab89d58f82175386a76698822"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga33cdcfbab89d58f82175386a76698822">lo_server_wait</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s, int timeout)</td></tr>
<tr class="memdesc:ga33cdcfbab89d58f82175386a76698822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for an OSC message to be received.  <a href="#ga33cdcfbab89d58f82175386a76698822"></a><br/></td></tr>
<tr class="memitem:ga784a257252d05cc0e7210f4691f0661b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga784a257252d05cc0e7210f4691f0661b">lo_server_recv_noblock</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s, int timeout)</td></tr>
<tr class="memdesc:ga784a257252d05cc0e7210f4691f0661b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Look for an OSC message waiting to be received.  <a href="#ga784a257252d05cc0e7210f4691f0661b"></a><br/></td></tr>
<tr class="memitem:gaebef3611d24e4b5f60f16cce76a9e271"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaebef3611d24e4b5f60f16cce76a9e271">lo_server_recv</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:gaebef3611d24e4b5f60f16cce76a9e271"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block, waiting for an OSC message to be received.  <a href="#gaebef3611d24e4b5f60f16cce76a9e271"></a><br/></td></tr>
<tr class="memitem:ga0c183cabaac67eb9aad3265ae1efa580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a66faedf5da13231d8c0166870477dce5">lo_method</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga0c183cabaac67eb9aad3265ae1efa580">lo_server_add_method</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s, const char *path, const char *typespec, <a class="el" href="lo__types_8h.html#a3b1c86c0925d05e13b5438ce8fe80a6c">lo_method_handler</a> h, void *user_data)</td></tr>
<tr class="memdesc:ga0c183cabaac67eb9aad3265ae1efa580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an OSC method to the specifed server.  <a href="#ga0c183cabaac67eb9aad3265ae1efa580"></a><br/></td></tr>
<tr class="memitem:gaf834a6d62de7dcceaede62325e74c763"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaf834a6d62de7dcceaede62325e74c763">lo_server_del_method</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s, const char *path, const char *typespec)</td></tr>
<tr class="memdesc:gaf834a6d62de7dcceaede62325e74c763"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an OSC method from the specifed server.  <a href="#gaf834a6d62de7dcceaede62325e74c763"></a><br/></td></tr>
<tr class="memitem:gae11ca5a5b4ec2943d5a04642ba5052ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gae11ca5a5b4ec2943d5a04642ba5052ae">lo_server_get_socket_fd</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:gae11ca5a5b4ec2943d5a04642ba5052ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the file descriptor of the server socket.  <a href="#gae11ca5a5b4ec2943d5a04642ba5052ae"></a><br/></td></tr>
<tr class="memitem:ga532ef6e1b8675b23e65dd19eeb648c1d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga532ef6e1b8675b23e65dd19eeb648c1d">lo_server_get_port</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:ga532ef6e1b8675b23e65dd19eeb648c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the port number that the server has bound to.  <a href="#ga532ef6e1b8675b23e65dd19eeb648c1d"></a><br/></td></tr>
<tr class="memitem:gab40a599fe8440512b18479dac333e89f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gab40a599fe8440512b18479dac333e89f">lo_server_get_protocol</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:gab40a599fe8440512b18479dac333e89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the protocol that the server is using.  <a href="#gab40a599fe8440512b18479dac333e89f"></a><br/></td></tr>
<tr class="memitem:ga33df48c641833d330a8ba6704caf4977"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga33df48c641833d330a8ba6704caf4977">lo_server_get_url</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:ga33df48c641833d330a8ba6704caf4977"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an OSC URL that can be used to contact the server.  <a href="#ga33df48c641833d330a8ba6704caf4977"></a><br/></td></tr>
<tr class="memitem:ga04feb1063c3f4df6fec41405b28dd99a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga04feb1063c3f4df6fec41405b28dd99a">lo_server_events_pending</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:ga04feb1063c3f4df6fec41405b28dd99a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the server.  <a href="#ga04feb1063c3f4df6fec41405b28dd99a"></a><br/></td></tr>
<tr class="memitem:ga750076fdd75e2a7d3e442f6bd5968fb9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga750076fdd75e2a7d3e442f6bd5968fb9">lo_server_next_event_delay</a> (<a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> s)</td></tr>
<tr class="memdesc:ga750076fdd75e2a7d3e442f6bd5968fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the time in seconds until the next scheduled event.  <a href="#ga750076fdd75e2a7d3e442f6bd5968fb9"></a><br/></td></tr>
<tr class="memitem:ga58266d3085b73fc4dc5e1913de810b22"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga58266d3085b73fc4dc5e1913de810b22">lo_url_get_protocol</a> (const char *url)</td></tr>
<tr class="memdesc:ga58266d3085b73fc4dc5e1913de810b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the protocol portion of an OSC URL, eg. udp, tcp.  <a href="#ga58266d3085b73fc4dc5e1913de810b22"></a><br/></td></tr>
<tr class="memitem:ga0550cc91417b530c26a360b10072a3cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga0550cc91417b530c26a360b10072a3cb">lo_url_get_protocol_id</a> (const char *url)</td></tr>
<tr class="memdesc:ga0550cc91417b530c26a360b10072a3cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the protocol ID of an OSC URL.  <a href="#ga0550cc91417b530c26a360b10072a3cb"></a><br/></td></tr>
<tr class="memitem:gab1b7df7061a0b2cd0db31d3fca1b399b"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gab1b7df7061a0b2cd0db31d3fca1b399b">lo_url_get_hostname</a> (const char *url)</td></tr>
<tr class="memdesc:gab1b7df7061a0b2cd0db31d3fca1b399b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hostname portion of an OSC URL.  <a href="#gab1b7df7061a0b2cd0db31d3fca1b399b"></a><br/></td></tr>
<tr class="memitem:ga488fb8e96fb86320590c1a8ca389593d"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga488fb8e96fb86320590c1a8ca389593d">lo_url_get_port</a> (const char *url)</td></tr>
<tr class="memdesc:ga488fb8e96fb86320590c1a8ca389593d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the port portion of an OSC URL.  <a href="#ga488fb8e96fb86320590c1a8ca389593d"></a><br/></td></tr>
<tr class="memitem:ga617d046cc702a2c5ab8539659381ef18"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga617d046cc702a2c5ab8539659381ef18">lo_url_get_path</a> (const char *url)</td></tr>
<tr class="memdesc:ga617d046cc702a2c5ab8539659381ef18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path portion of an OSC URL.  <a href="#ga617d046cc702a2c5ab8539659381ef18"></a><br/></td></tr>
<tr class="memitem:gae62aa870bad161e4507f6338820ac243"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gae62aa870bad161e4507f6338820ac243">lo_strsize</a> (const char *s)</td></tr>
<tr class="memdesc:gae62aa870bad161e4507f6338820ac243"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to calculate the amount of OSC message space required by a C char *.  <a href="#gae62aa870bad161e4507f6338820ac243"></a><br/></td></tr>
<tr class="memitem:ga2315f71c3832c365bce25d9b21726043"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga2315f71c3832c365bce25d9b21726043">lo_blobsize</a> (<a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> b)</td></tr>
<tr class="memdesc:ga2315f71c3832c365bce25d9b21726043"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to calculate the amount of OSC message space required by a lo_blob object.  <a href="#ga2315f71c3832c365bce25d9b21726043"></a><br/></td></tr>
<tr class="memitem:gac26f3d15dbd23f34d4f9e4f6f0b81bbb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gac26f3d15dbd23f34d4f9e4f6f0b81bbb">lo_pattern_match</a> (const char *str, const char *p)</td></tr>
<tr class="memdesc:gac26f3d15dbd23f34d4f9e4f6f0b81bbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test a string against an OSC pattern glob.  <a href="#gac26f3d15dbd23f34d4f9e4f6f0b81bbb"></a><br/></td></tr>
<tr class="memitem:ga9937fce1bfce695b01cd3289ead8b919"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga9937fce1bfce695b01cd3289ead8b919">lo_timetag_diff</a> (<a class="el" href="structlo__timetag.html">lo_timetag</a> a, <a class="el" href="structlo__timetag.html">lo_timetag</a> b)</td></tr>
<tr class="memdesc:ga9937fce1bfce695b01cd3289ead8b919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the time difference between two timetags.  <a href="#ga9937fce1bfce695b01cd3289ead8b919"></a><br/></td></tr>
<tr class="memitem:gad687e21ed611e68748e962502ae63d8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad687e21ed611e68748e962502ae63d8e">lo_timetag_now</a> (<a class="el" href="structlo__timetag.html">lo_timetag</a> *t)</td></tr>
<tr class="memdesc:gad687e21ed611e68748e962502ae63d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a timetag for the current time.  <a href="#gad687e21ed611e68748e962502ae63d8e"></a><br/></td></tr>
<tr class="memitem:gaf793bbd32346a91d7d680d91ae68d1bd"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gaf793bbd32346a91d7d680d91ae68d1bd">lo_arg_size</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type, void *data)</td></tr>
<tr class="memdesc:gaf793bbd32346a91d7d680d91ae68d1bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the storage size, in bytes, of the given argument.  <a href="#gaf793bbd32346a91d7d680d91ae68d1bd"></a><br/></td></tr>
<tr class="memitem:gad38872ce4270bbfed9d62a655a4facab"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad38872ce4270bbfed9d62a655a4facab">lo_get_path</a> (void *data, ssize_t size)</td></tr>
<tr class="memdesc:gad38872ce4270bbfed9d62a655a4facab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a raw OSC message, return the message path.  <a href="#gad38872ce4270bbfed9d62a655a4facab"></a><br/></td></tr>
<tr class="memitem:ga29fc246595334f29d97d11b0186b17bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#ga29fc246595334f29d97d11b0186b17bd">lo_arg_host_endian</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type, void *data)</td></tr>
<tr class="memdesc:ga29fc246595334f29d97d11b0186b17bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the specified argument to host byte order where necessary.  <a href="#ga29fc246595334f29d97d11b0186b17bd"></a><br/></td></tr>
<tr class="memitem:gad775da1d9ef1feaf1b76077143dc3e96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblolowlevel.html#gad775da1d9ef1feaf1b76077143dc3e96">lo_arg_network_endian</a> (<a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> type, void *data)</td></tr>
<tr class="memdesc:gad775da1d9ef1feaf1b76077143dc3e96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the specified argument to network byte order where necessary.  <a href="#gad775da1d9ef1feaf1b76077143dc3e96"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Use these functions if you require more precise control over OSC message contruction or handling that what is provided in the high-level functions described in liblo. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga0062385786b0375d4b6954ba1fb8d52b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef long double <a class="el" href="group__liblolowlevel.html#ga0062385786b0375d4b6954ba1fb8d52b">lo_hires</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Type used to represent numerical values in conversions between OSC types. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7dbaa4a6dfc9d7369cfbca195809be3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__liblolowlevel.html#ga7dbaa4a6dfc9d7369cfbca195809be3c">lo_address_get_hostname</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the hostname of a lo_address object. </p>
<p>Returned value must not be modified or free'd. Value will be a dotted quad, colon'd IPV6 address, or resolvable name. </p>

</div>
</div>
<a class="anchor" id="ga75bc15ab78de049c0e0d7e24a0d6d0c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__liblolowlevel.html#ga75bc15ab78de049c0e0d7e24a0d6d0c1">lo_address_get_port</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the port/service name of a lo_address object. </p>
<p>Returned value must not be modified or free'd. Value will be a service name or ASCII representation of the port number. </p>

</div>
</div>
<a class="anchor" id="gaaae09ebb4cf42e92504fe9aa7e7b2184"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gaaae09ebb4cf42e92504fe9aa7e7b2184">lo_address_get_protocol</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the protocol of a lo_address object. </p>
<p>Returned value will be one of LO_UDP, LO_TCP or LO_UNIX. </p>

</div>
</div>
<a class="anchor" id="ga3652ba694ba3c153dc96917e7321131c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga3652ba694ba3c153dc96917e7321131c">lo_address_get_ttl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the Time-to-Live value for a given target address. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>An OSC address. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>An integer specifying the scope of a multicast UDP message. </dd></dl>

</div>
</div>
<a class="anchor" id="ga85d7101e9e3a3339544445b539e3a5d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#ga85d7101e9e3a3339544445b539e3a5d2">lo_address_get_url</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a URL representing an OSC address. </p>
<p>Returned value must be free'd. </p>

</div>
</div>
<a class="anchor" id="gacd72097b92411db148844d89071fd281"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#gacd72097b92411db148844d89071fd281">lo_address_set_ttl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ttl</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the Time-to-Live value for a given target address. </p>
<p>This is required for sending multicast UDP messages. A value of 1 (the usual case) keeps the message within the subnet, while 255 means a global, unrestricted scope.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>An OSC address. </td></tr>
    <tr><td class="paramname">ttl</td><td>An integer specifying the scope of a multicast UDP message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga29fc246595334f29d97d11b0186b17bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#ga29fc246595334f29d97d11b0186b17bd">lo_arg_host_endian</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert the specified argument to host byte order where necessary. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The OSC type of the data item (eg. LO_FLOAT). </td></tr>
    <tr><td class="paramname">data</td><td>A pointer to the data item to be converted. It is changed in-place. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad775da1d9ef1feaf1b76077143dc3e96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#gad775da1d9ef1feaf1b76077143dc3e96">lo_arg_network_endian</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert the specified argument to network byte order where necessary. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The OSC type of the data item (eg. LO_FLOAT). </td></tr>
    <tr><td class="paramname">data</td><td>A pointer to the data item to be converted. It is changed in-place. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf793bbd32346a91d7d680d91ae68d1bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="group__liblolowlevel.html#gaf793bbd32346a91d7d680d91ae68d1bd">lo_arg_size</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the storage size, in bytes, of the given argument. </p>

</div>
</div>
<a class="anchor" id="ga2315f71c3832c365bce25d9b21726043"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t <a class="el" href="group__liblolowlevel.html#ga2315f71c3832c365bce25d9b21726043">lo_blobsize</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a>&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A function to calculate the amount of OSC message space required by a lo_blob object. </p>
<p>Returns the storage size in bytes, which will always be a multiple of four. </p>

</div>
</div>
<a class="anchor" id="ga1cc5e2eb20ce567a694f343764e25bb7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga1cc5e2eb20ce567a694f343764e25bb7">lo_bundle_add_message</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds an OSC message to an existing bundle. </p>
<p>The message passed is appended to the list of messages in the bundle to be dispatched to 'path'.</p>
<dl class="section return"><dt>Returns:</dt><dd>0 if successful, less than 0 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2ba37901788d863d08a2b7d6ca4250e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#ga2ba37901788d863d08a2b7d6ca4250e6">lo_bundle_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees the memory taken by a bundle object. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>The bundle to be freed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2773611a57270837fff398b716fa8459"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#ga2773611a57270837fff398b716fa8459">lo_bundle_free_messages</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees the memory taken by a bundle object and messages in the bundle. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>The bundle, which may contain messages, to be freed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa105f1c5b97a16beabdb6b4ab7af2b46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="group__liblolowlevel.html#gaa105f1c5b97a16beabdb6b4ab7af2b46">lo_bundle_length</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the length of a bundle in bytes. </p>
<p>Includes the marker and typetage length.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>The bundle to be sized </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga330a4a4e6227b185b3ec6219ff3e2859"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a> <a class="el" href="group__liblolowlevel.html#ga330a4a4e6227b185b3ec6219ff3e2859">lo_bundle_new</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlo__timetag.html">lo_timetag</a>&#160;</td>
          <td class="paramname"><em>tt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new bundle object. </p>
<p>OSC Bundles encapsulate one or more OSC messages and may include a timestamp indicating when the bundle should be dispatched.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">tt</td><td>The timestamp when the bundle should be handled by the receiver. Pass LO_TT_IMMEDIATE if you want the receiving server to dispatch the bundle as soon as it receives it. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaea61bc73c281efe4e2f95456e4d0f9f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__liblolowlevel.html#gaea61bc73c281efe4e2f95456e4d0f9f5">lo_bundle_serialise</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Serialise the bundle object to an area of memory and return a pointer to the serialised form. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>The bundle to be serialised </td></tr>
    <tr><td class="paramname">to</td><td>The address to serialise to, memory will be allocated if to is NULL. </td></tr>
    <tr><td class="paramname">size</td><td>If this pointer is non-NULL the size of the memory area will be written here</td></tr>
  </table>
  </dd>
</dl>
<p>The returned form is suitable to be sent over a low level OSC transport, having the correct endianess and bit-packed structure. </p>

</div>
</div>
<a class="anchor" id="gaf85d7a54ab80e1b2a3d17c4cfef38402"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gaf85d7a54ab80e1b2a3d17c4cfef38402">lo_coerce</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type_to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionlo__arg.html">lo_arg</a> *&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type_from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionlo__arg.html">lo_arg</a> *&#160;</td>
          <td class="paramname"><em>from</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempt to convert one OSC type to another. </p>
<p>Numerical types (eg LO_INT32, LO_FLOAT etc.) may be converted to other numerical types and string types (LO_STRING and LO_SYMBOL) 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).</p>
<p>On failure no translation occurs and false is returned.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type_to</td><td>The type of the destination variable. </td></tr>
    <tr><td class="paramname">to</td><td>A pointer to the destination variable. </td></tr>
    <tr><td class="paramname">type_from</td><td>The type of the source variable. </td></tr>
    <tr><td class="paramname">from</td><td>A pointer to the source variable. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad38872ce4270bbfed9d62a655a4facab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#gad38872ce4270bbfed9d62a655a4facab">lo_get_path</a> </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ssize_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a raw OSC message, return the message path. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>A pointer to the raw OSC message data. </td></tr>
    <tr><td class="paramname">size</td><td>The size of data in bytes (total buffer bytes).</td></tr>
  </table>
  </dd>
</dl>
<p>Returns the message path or NULL if an error occurs. Do not free() the returned pointer. </p>

</div>
</div>
<a class="anchor" id="gafb7036664581480c9f2e898e57704c1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__liblolowlevel.html#ga0062385786b0375d4b6954ba1fb8d52b">lo_hires</a> <a class="el" href="group__liblolowlevel.html#gafb7036664581480c9f2e898e57704c1b">lo_hires_val</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionlo__arg.html">lo_arg</a> *&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the numerical value of the given argument with the maximum native system precision. </p>

</div>
</div>
<a class="anchor" id="gace222e42c35d0256f115e00b84e8f853"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gace222e42c35d0256f115e00b84e8f853">lo_is_numerical_type</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if the type specified has a numerical value, such as LO_INT32, LO_FLOAT etc. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>The type to be tested. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaeb9f59d9f7bf8d50f21809e44889eee7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gaeb9f59d9f7bf8d50f21809e44889eee7">lo_is_string_type</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a>&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if the type specified has a textual value, such as LO_STRING or LO_SYMBOL. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>The type to be tested. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4e7a6d91a06e795ded9676d089abea24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga4e7a6d91a06e795ded9676d089abea24">lo_message_add</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a number of arguments to a message. </p>
<p>The data will be added in OSC byteorder (bigendian).</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>The message to be extended. </td></tr>
    <tr><td class="paramname">types</td><td>The types of the data items in the message, types are defined in lo_types_common.h </td></tr>
    <tr><td class="paramname">...</td><td>The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="gac0ae2fc81d2a48fe63b0803637997fd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gac0ae2fc81d2a48fe63b0803637997fd4">lo_message_add_blob</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a>&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="gab2423db077dea59c4049103819d2810b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gab2423db077dea59c4049103819d2810b">lo_message_add_char</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="gadd3a8441ad5a749c43694e77594cf47b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gadd3a8441ad5a749c43694e77594cf47b">lo_message_add_double</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1c8a136e87e3d2befeb466e0a8a5a4ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga1c8a136e87e3d2befeb466e0a8a5a4ad">lo_message_add_false</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga42815097ea691fd1ec0798beca7f8e5e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga42815097ea691fd1ec0798beca7f8e5e">lo_message_add_float</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4cbd7d3834a67446b15f53acf316a72a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga4cbd7d3834a67446b15f53acf316a72a">lo_message_add_infinitum</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7c9df1bd975a32fb6c8105e6fe327149"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add_int32</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. </p>
<p>The data will be added in OSC byteorder (bigendian).</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>The message to be extended. </td></tr>
    <tr><td class="paramname">a</td><td>The data item.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga282ef81387abab0ce18f7479a4a817b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga282ef81387abab0ce18f7479a4a817b5">lo_message_add_int64</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="gaaea6ac25787de608199a988dc214f32e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gaaea6ac25787de608199a988dc214f32e">lo_message_add_midi</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>a</em>[4]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="gabd3cd7f86137ae1a180e33c3bc5c9644"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gabd3cd7f86137ae1a180e33c3bc5c9644">lo_message_add_nil</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4ff414b1b3d87454668dfd728b830888"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga4ff414b1b3d87454668dfd728b830888">lo_message_add_string</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga90e4dab46ecaabab4e34214429d622a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga90e4dab46ecaabab4e34214429d622a7">lo_message_add_symbol</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga03f8eafa4ba598c545f30e17b23d1c89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga03f8eafa4ba598c545f30e17b23d1c89">lo_message_add_timetag</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structlo__timetag.html">lo_timetag</a>&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9da3df4838126910171a8e45ea34e9ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga9da3df4838126910171a8e45ea34e9ec">lo_message_add_true</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a data item and typechar of the specified type to a message. See <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149" title="Append a data item and typechar of the specified type to a message.">lo_message_add_int32()</a> for details. </p>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9cd98b0c6ad5468692fd0b1936bd093f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga9cd98b0c6ad5468692fd0b1936bd093f">lo_message_add_varargs</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</td>
          <td class="paramname"><em>ap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a varargs list to a message. </p>
<p>The data will be added in OSC byteorder (bigendian). IMPORTANT: args list must be terminated with LO_ARGS_END, or this call will fail. This is used to do simple error checking on the sizes of parameters passed.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>The message to be extended. </td></tr>
    <tr><td class="paramname">types</td><td>The types of the data items in the message, types are defined in lo_types_common.h </td></tr>
    <tr><td class="paramname">ap</td><td>The va_list created by a C function declared with an ellipsis (...) argument, and pre-initialised with "va_start(ap)". The types of the arguments passed here must agree with the types specified in the type parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Less than 0 on failure, 0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2f4644b2a1aae0d0eee456fe93ac158e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> <a class="el" href="group__liblolowlevel.html#ga2f4644b2a1aae0d0eee456fe93ac158e">lo_message_deserialise</a> </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Deserialise a raw OSC message and return a new lo_message object. Opposite of <a class="el" href="group__liblolowlevel.html#ga5a14045edea33d63792e9a4c82e13b02" title="Serialise the lo_message object to an area of memory and return a pointer to the serialised form...">lo_message_serialise()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Pointer to the raw OSC message data in network transmission form (network byte order where appropriate). </td></tr>
    <tr><td class="paramname">size</td><td>The size of data in bytes </td></tr>
    <tr><td class="paramname">result</td><td>If this pointer is non-NULL, the result or error code will be written here.</td></tr>
  </table>
  </dd>
</dl>
<p>Returns a new lo_message, or NULL if deserialisation fails. Use <a class="el" href="group__liblolowlevel.html#ga93d3687e77ae20167b82830c917a3e50" title="Free memory allocated by lo_message_new() and any subsequent lo_message_add_int32 lo_message_add*() c...">lo_message_free()</a> to free the resulting object. </p>

</div>
</div>
<a class="anchor" id="ga93d3687e77ae20167b82830c917a3e50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#ga93d3687e77ae20167b82830c917a3e50">lo_message_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free memory allocated by <a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153" title="Create a new lo_message object.">lo_message_new()</a> and any subsequent <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add_int32</a> lo_message_add*() calls. </p>

</div>
</div>
<a class="anchor" id="ga5b391362eda2c6019011f3db55049db3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga5b391362eda2c6019011f3db55049db3">lo_message_get_argc</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the message argument count. </p>
<p>The result is valid until further data is added with lo_message_add*(). </p>

</div>
</div>
<a class="anchor" id="gab28b48cdbefb60eb7e57557ae9d23171"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unionlo__arg.html">lo_arg</a>** <a class="el" href="group__liblolowlevel.html#gab28b48cdbefb60eb7e57557ae9d23171">lo_message_get_argv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the message arguments. Do not free the returned data. </p>
<p>The result is valid until further data is added with lo_message_add*(). </p>

</div>
</div>
<a class="anchor" id="ga1f4e07e4f8b67edc98f4b300412a3dbb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> <a class="el" href="group__liblolowlevel.html#ga1f4e07e4f8b67edc98f4b300412a3dbb">lo_message_get_source</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the source (lo_address) of an incoming message. </p>
<p>Returns NULL if the message is outgoing. Do not free the returned address. </p>

</div>
</div>
<a class="anchor" id="ga164e068064afa94454eb6515b9b1748d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structlo__timetag.html">lo_timetag</a> <a class="el" href="group__liblolowlevel.html#ga164e068064afa94454eb6515b9b1748d">lo_message_get_timestamp</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the timestamp (<a class="el" href="structlo__timetag.html" title="A structure to store OSC TimeTag values.">lo_timetag</a> *) of a bundled incoming message. </p>
<p>Returns LO_TT_IMMEDIATE if the message is outgoing, or did not arrive contained in a bundle. Do not free the returned timetag. </p>

</div>
</div>
<a class="anchor" id="gad3c1a312fd90bb4c35a4c1fac2d0b25d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#gad3c1a312fd90bb4c35a4c1fac2d0b25d">lo_message_get_types</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the message type tag string. </p>
<p>The result is valid until further data is added with lo_message_add*(). </p>

</div>
</div>
<a class="anchor" id="ga0855039d071b7031727213272857c27e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="group__liblolowlevel.html#ga0855039d071b7031727213272857c27e">lo_message_length</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the length of a message in bytes. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>The message to be sized </td></tr>
    <tr><td class="paramname">path</td><td>The path the message will be sent to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2cce2e97452e3e9d6b5d3af33bb1d153"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a> <a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153">lo_message_new</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new lo_message object. </p>

</div>
</div>
<a class="anchor" id="ga5a14045edea33d63792e9a4c82e13b02"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__liblolowlevel.html#ga5a14045edea33d63792e9a4c82e13b02">lo_message_serialise</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Serialise the lo_message object to an area of memory and return a pointer to the serialised form. Opposite of <a class="el" href="group__liblolowlevel.html#ga2f4644b2a1aae0d0eee456fe93ac158e" title="Deserialise a raw OSC message and return a new lo_message object. Opposite of lo_message_serialise()...">lo_message_deserialise()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>The message to be serialised </td></tr>
    <tr><td class="paramname">path</td><td>The path the message will be sent to </td></tr>
    <tr><td class="paramname">to</td><td>The address to serialise to, memory will be allocated if to is NULL. </td></tr>
    <tr><td class="paramname">size</td><td>If this pointer is non-NULL the size of the memory area will be written here</td></tr>
  </table>
  </dd>
</dl>
<p>The returned form is suitable to be sent over a low level OSC transport, having the correct endianess and bit-packed structure. </p>

</div>
</div>
<a class="anchor" id="gac26f3d15dbd23f34d4f9e4f6f0b81bbb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gac26f3d15dbd23f34d4f9e4f6f0b81bbb">lo_pattern_match</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test a string against an OSC pattern glob. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>The string to test </td></tr>
    <tr><td class="paramname">p</td><td>The pattern to test against </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad1138d0f777693ae0321e3da65aee53e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gad1138d0f777693ae0321e3da65aee53e">lo_send_bundle</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>targ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send a lo_bundle object to address targ. </p>
<p>Bundles are constructed with the <a class="el" href="group__liblolowlevel.html#ga330a4a4e6227b185b3ec6219ff3e2859" title="Create a new bundle object.">lo_bundle_new()</a> and <a class="el" href="group__liblolowlevel.html#ga1cc5e2eb20ce567a694f343764e25bb7" title="Adds an OSC message to an existing bundle.">lo_bundle_add_message()</a> functions. </p>

</div>
</div>
<a class="anchor" id="gab5de220b7d6d7c2bf6b0ca4316a54b7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gab5de220b7d6d7c2bf6b0ca4316a54b7a">lo_send_bundle_from</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>targ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>serv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a96254950ad34e9cfbf8a6613fc74025b">lo_bundle</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send a lo_bundle object to address targ from address of serv. </p>
<p>Bundles are constructed with the <a class="el" href="group__liblolowlevel.html#ga330a4a4e6227b185b3ec6219ff3e2859" title="Create a new bundle object.">lo_bundle_new()</a> and <a class="el" href="group__liblolowlevel.html#ga1cc5e2eb20ce567a694f343764e25bb7" title="Adds an OSC message to an existing bundle.">lo_bundle_add_message()</a> functions.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">targ</td><td>The address to send the bundle to </td></tr>
    <tr><td class="paramname">serv</td><td>The server socket to send the bundle from (can be NULL to use new socket) </td></tr>
    <tr><td class="paramname">b</td><td>The bundle itself </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga175a13c6d81adf5c346cdca9bbdcf225"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga175a13c6d81adf5c346cdca9bbdcf225">lo_send_message</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>targ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send a lo_message object to target targ. </p>
<p>This is slightly more efficient than <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> if you want to send a lot of similar messages. The messages are constructed with the <a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153" title="Create a new lo_message object.">lo_message_new()</a> and <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add*()</a> functions. </p>

</div>
</div>
<a class="anchor" id="ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga9d1aa7c1ee1ce60fe0cf7e3f1e5a6822">lo_send_message_from</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a>&#160;</td>
          <td class="paramname"><em>targ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>serv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#ad126083c98d941f00eb72d1690b38d63">lo_message</a>&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send a lo_message object to target targ from address of serv. </p>
<p>This is slightly more efficient than <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> if you want to send a lot of similar messages. The messages are constructed with the <a class="el" href="group__liblolowlevel.html#ga2cce2e97452e3e9d6b5d3af33bb1d153" title="Create a new lo_message object.">lo_message_new()</a> and <a class="el" href="group__liblolowlevel.html#ga7c9df1bd975a32fb6c8105e6fe327149">lo_message_add*()</a> functions.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">targ</td><td>The address to send the message to </td></tr>
    <tr><td class="paramname">serv</td><td>The server socket to send the message from (can be NULL to use new socket) </td></tr>
    <tr><td class="paramname">path</td><td>The path to send the message to </td></tr>
    <tr><td class="paramname">msg</td><td>The bundle itself </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga0c183cabaac67eb9aad3265ae1efa580"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a66faedf5da13231d8c0166870477dce5">lo_method</a> <a class="el" href="group__liblolowlevel.html#ga0c183cabaac67eb9aad3265ae1efa580">lo_server_add_method</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>typespec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a3b1c86c0925d05e13b5438ce8fe80a6c">lo_method_handler</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an OSC method to the specifed server. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The server the method is to be added to. </td></tr>
    <tr><td class="paramname">path</td><td>The OSC path to register the method to. If NULL is passed the method will match all paths. </td></tr>
    <tr><td class="paramname">typespec</td><td>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. </td></tr>
    <tr><td class="paramname">h</td><td>The method handler callback function that will be called if a matching message is received </td></tr>
    <tr><td class="paramname">user_data</td><td>A value that will be passed to the callback function, h, when its invoked matching from this method. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf834a6d62de7dcceaede62325e74c763"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#gaf834a6d62de7dcceaede62325e74c763">lo_server_del_method</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>typespec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete an OSC method from the specifed server. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The server the method is to be removed from. </td></tr>
    <tr><td class="paramname">path</td><td>The OSC path of the method to delete. If NULL is passed the method will match the generic handler. </td></tr>
    <tr><td class="paramname">typespec</td><td>The typespec the method accepts. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9e96445401c94c3751de27f8db1a0b50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga9e96445401c94c3751de27f8db1a0b50">lo_server_dispatch_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dispatch a raw block of memory containing an OSC message. </p>
<p>This is useful when a raw block of memory is available that is structured as OSC, and you wish to use liblo to dispatch the message to a handler function as if it had been received over the network.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The lo_server to use for dispatching. </td></tr>
    <tr><td class="paramname">data</td><td>Pointer to the raw OSC message data in network transmission form (network byte order where appropriate). </td></tr>
    <tr><td class="paramname">size</td><td>The size of data in bytes</td></tr>
  </table>
  </dd>
</dl>
<p>Returns the number of bytes used if successful, or less than 0 otherwise. </p>

</div>
</div>
<a class="anchor" id="ga04feb1063c3f4df6fec41405b28dd99a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga04feb1063c3f4df6fec41405b28dd99a">lo_server_events_pending</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="gad3dc9193e1eef0d71a4b046242b64216"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#gad3dc9193e1eef0d71a4b046242b64216">lo_server_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free up memory used by the lo_server object. </p>

</div>
</div>
<a class="anchor" id="ga532ef6e1b8675b23e65dd19eeb648c1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga532ef6e1b8675b23e65dd19eeb648c1d">lo_server_get_port</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the port number that the server has bound to. </p>
<p>Useful when NULL is passed for the port number and you wish to know how to address the server. </p>

</div>
</div>
<a class="anchor" id="gab40a599fe8440512b18479dac333e89f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gab40a599fe8440512b18479dac333e89f">lo_server_get_protocol</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the protocol that the server is using. </p>
<p>Returned value will be one of LO_UDP, LO_TCP or LO_UNIX. </p>

</div>
</div>
<a class="anchor" id="gae11ca5a5b4ec2943d5a04642ba5052ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gae11ca5a5b4ec2943d5a04642ba5052ae">lo_server_get_socket_fd</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the file descriptor of the server socket. </p>
<p>If the server protocol supports exposing the server's underlying receive mechanism for monitoring with select() or poll(), this function returns the file descriptor needed, otherwise, it returns -1.</p>
<p>WARNING: when using this function beware that not all OSC packets that are received are dispatched immediately. <a class="el" href="group__liblolowlevel.html#ga04feb1063c3f4df6fec41405b28dd99a" title="Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the server...">lo_server_events_pending()</a> and <a class="el" href="group__liblolowlevel.html#ga750076fdd75e2a7d3e442f6bd5968fb9" title="Return the time in seconds until the next scheduled event.">lo_server_next_event_delay()</a> can be used to tell if there are pending events and how long before you should attempt to receive them. </p>

</div>
</div>
<a class="anchor" id="ga33df48c641833d330a8ba6704caf4977"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#ga33df48c641833d330a8ba6704caf4977">lo_server_get_url</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return an OSC URL that can be used to contact the server. </p>
<p>The return value should be free()'d when it is no longer needed. </p>

</div>
</div>
<a class="anchor" id="ga78cfb23346e44465695293d4393447ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> <a class="el" href="group__liblolowlevel.html#ga78cfb23346e44465695293d4393447ae">lo_server_new</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a>&#160;</td>
          <td class="paramname"><em>err_h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new server instance. </p>
<p>Using <a class="el" href="group__liblolowlevel.html#gaebef3611d24e4b5f60f16cce76a9e271" title="Block, waiting for an OSC message to be received.">lo_server_recv()</a>, lo_servers block until they receive OSC messages. If you want non-blocking behaviour see <a class="el" href="group__liblolowlevel.html#ga784a257252d05cc0e7210f4691f0661b" title="Look for an OSC message waiting to be received.">lo_server_recv_noblock()</a> or the <a class="el" href="group__liblo.html#gabe3e0c31189adfd7624de6c507b610ba">lo_server_thread_*</a> functions.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">port</td><td>If NULL is passed then an unused UDP port will be chosen by the system, its number may be retrieved with <a class="el" href="group__liblo.html#ga22f4b18eeac41490647ab9fe2333f933" title="Return the port number that the server thread has bound to.">lo_server_thread_get_port()</a> so it can be passed to clients. Otherwise a decimal port number, service name or UNIX domain socket path may be passed. </td></tr>
    <tr><td class="paramname">err_h</td><td>An error callback function that will be called if there is an error in messge reception or server creation. Pass NULL if you do not want error handling. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga849f4517a29ad850069cf8f2976a9284"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> <a class="el" href="group__liblolowlevel.html#ga849f4517a29ad850069cf8f2976a9284">lo_server_new_multicast</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>group</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a>&#160;</td>
          <td class="paramname"><em>err_h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new server instance, and join a UDP multicast group. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">group</td><td>The multicast group to join. See documentation on IP multicast for the acceptable address range; e.g., <a href="http://tldp.org/HOWTO/Multicast-HOWTO-2.html">http://tldp.org/HOWTO/Multicast-HOWTO-2.html</a> </td></tr>
    <tr><td class="paramname">port</td><td>If using UDP then NULL may be passed to find an unused port. Otherwise a decimal port number or service name or may be passed. If using UNIX domain sockets then a socket path should be passed here. </td></tr>
    <tr><td class="paramname">err_h</td><td>An error callback function that will be called if there is an error in messge reception or server creation. Pass NULL if you do not want error handling. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4afa474b11ed0d4511857ae79c56aaa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a> <a class="el" href="group__liblolowlevel.html#ga4afa474b11ed0d4511857ae79c56aaa1">lo_server_new_with_proto</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>proto</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#aa5d2e4aa0ff9d4459fcc76e7ed5839fc">lo_err_handler</a>&#160;</td>
          <td class="paramname"><em>err_h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new server instance, specifying protocol. </p>
<p>Using <a class="el" href="group__liblolowlevel.html#gaebef3611d24e4b5f60f16cce76a9e271" title="Block, waiting for an OSC message to be received.">lo_server_recv()</a>, lo_servers block until they receive OSC messages. If you want non-blocking behaviour see <a class="el" href="group__liblolowlevel.html#ga784a257252d05cc0e7210f4691f0661b" title="Look for an OSC message waiting to be received.">lo_server_recv_noblock()</a> or the <a class="el" href="group__liblo.html#gabe3e0c31189adfd7624de6c507b610ba">lo_server_thread_*</a> functions.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">port</td><td>If using UDP then NULL may be passed to find an unused port. Otherwise a decimal port number orservice name or may be passed. If using UNIX domain sockets then a socket path should be passed here. </td></tr>
    <tr><td class="paramname">proto</td><td>The protocol to use, should be one of LO_UDP, LO_TCP or LO_UNIX. </td></tr>
    <tr><td class="paramname">err_h</td><td>An error callback function that will be called if there is an error in messge reception or server creation. Pass NULL if you do not want error handling. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga750076fdd75e2a7d3e442f6bd5968fb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="group__liblolowlevel.html#ga750076fdd75e2a7d3e442f6bd5968fb9">lo_server_next_event_delay</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the time in seconds until the next scheduled event. </p>
<p>If the delay is greater than 100 seconds then it will return 100.0. </p>

</div>
</div>
<a class="anchor" id="gaebef3611d24e4b5f60f16cce76a9e271"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gaebef3611d24e4b5f60f16cce76a9e271">lo_server_recv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Block, waiting for an OSC message to be received. </p>
<p>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. </p>

</div>
</div>
<a class="anchor" id="ga784a257252d05cc0e7210f4691f0661b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga784a257252d05cc0e7210f4691f0661b">lo_server_recv_noblock</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Look for an OSC message waiting to be received. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The server to wait for connections on. </td></tr>
    <tr><td class="paramname">timeout</td><td>A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.</td></tr>
  </table>
  </dd>
</dl>
<p>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. </p>

</div>
</div>
<a class="anchor" id="ga33cdcfbab89d58f82175386a76698822"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga33cdcfbab89d58f82175386a76698822">lo_server_wait</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a59067bf50cf8abb4371da6f03c9036c9">lo_server</a>&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Wait for an OSC message to be received. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The server to wait for connections on. </td></tr>
    <tr><td class="paramname">timeout</td><td>A timeout in milliseconds to wait for the incoming packet. a value of 0 will return immediately.</td></tr>
  </table>
  </dd>
</dl>
<p>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 <a class="el" href="group__liblolowlevel.html#gaebef3611d24e4b5f60f16cce76a9e271" title="Block, waiting for an OSC message to be received.">lo_server_recv()</a> to receive that message. </p>

</div>
</div>
<a class="anchor" id="gae62aa870bad161e4507f6338820ac243"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#gae62aa870bad161e4507f6338820ac243">lo_strsize</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A function to calculate the amount of OSC message space required by a C char *. </p>
<p>Returns the storage size in bytes, which will always be a multiple of four. </p>

</div>
</div>
<a class="anchor" id="ga9937fce1bfce695b01cd3289ead8b919"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="group__liblolowlevel.html#ga9937fce1bfce695b01cd3289ead8b919">lo_timetag_diff</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlo__timetag.html">lo_timetag</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structlo__timetag.html">lo_timetag</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find the time difference between two timetags. </p>
<p>Returns a - b in seconds. </p>

</div>
</div>
<a class="anchor" id="gad687e21ed611e68748e962502ae63d8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblolowlevel.html#gad687e21ed611e68748e962502ae63d8e">lo_timetag_now</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlo__timetag.html">lo_timetag</a> *&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a timetag for the current time. </p>
<p>On exit the timetag pointed to by t is filled with the OSC representation of this instant in time. </p>

</div>
</div>
<a class="anchor" id="gab1b7df7061a0b2cd0db31d3fca1b399b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#gab1b7df7061a0b2cd0db31d3fca1b399b">lo_url_get_hostname</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the hostname portion of an OSC URL. </p>
<p>The return value should be free()'d when it is no longer needed. </p>

</div>
</div>
<a class="anchor" id="ga617d046cc702a2c5ab8539659381ef18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#ga617d046cc702a2c5ab8539659381ef18">lo_url_get_path</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the path portion of an OSC URL. </p>
<p>The return value should be free()'d when it is no longer needed. </p>

</div>
</div>
<a class="anchor" id="ga488fb8e96fb86320590c1a8ca389593d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#ga488fb8e96fb86320590c1a8ca389593d">lo_url_get_port</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the port portion of an OSC URL. </p>
<p>The return value should be free()'d when it is no longer needed. </p>

</div>
</div>
<a class="anchor" id="ga58266d3085b73fc4dc5e1913de810b22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblolowlevel.html#ga58266d3085b73fc4dc5e1913de810b22">lo_url_get_protocol</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the protocol portion of an OSC URL, eg. udp, tcp. </p>
<p>This library uses OSC URLs of the form: osc.prot://hostname:port/path if the prot part is missing, UDP is assumed.</p>
<p>The return value should be free()'d when it is no longer needed. </p>

</div>
</div>
<a class="anchor" id="ga0550cc91417b530c26a360b10072a3cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblolowlevel.html#ga0550cc91417b530c26a360b10072a3cb">lo_url_get_protocol_id</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the protocol ID of an OSC URL. </p>
<p>This library uses OSC URLs of the form: osc.prot://hostname:port/path if the prot part is missing, UDP is assumed. Returned value will be one of LO_UDP, LO_TCP, LO_UNIX or -1.</p>
<dl class="section return"><dt>Returns:</dt><dd>An integer specifying the protocol. Return -1 when the protocol is not supported by liblo. </dd></dl>

</div>
</div>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
Generated for liblo by <a href="http://www.doxygen.org/
index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>
1.8.0</small></address>
</body>
</html>