Sophie

Sophie

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

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: High-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="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">High-level OSC API</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlo__timetag.html">lo_timetag</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure to store OSC TimeTag values.  <a href="structlo__timetag.html#details">More...</a><br/></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionlo__arg.html">lo_arg</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Union used to read values from incoming messages.  <a href="unionlo__arg.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr class="memitem:gafa8cfc08b763b0c039fb64a73c4c77da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gafa8cfc08b763b0c039fb64a73c4c77da">LO_TT_IMMEDIATE</a>&#160;&#160;&#160;((<a class="el" href="structlo__timetag.html">lo_timetag</a>){0U,1U})</td></tr>
<tr class="memdesc:gafa8cfc08b763b0c039fb64a73c4c77da"><td class="mdescLeft">&#160;</td><td class="mdescRight">A timetag constant representing "now".  <a href="#gafa8cfc08b763b0c039fb64a73c4c77da"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga11838c576b0197c255ce805fd7434736"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a> { <br/>
&#160;&#160;<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d">LO_INT32</a> =  'i', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3">LO_FLOAT</a> =  'f', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2">LO_STRING</a> =  's', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b">LO_BLOB</a> =  'b', 
<br/>
&#160;&#160;<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30">LO_INT64</a> =  'h', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe">LO_TIMETAG</a> =  't', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6">LO_DOUBLE</a> =  'd', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948">LO_SYMBOL</a> =  'S', 
<br/>
&#160;&#160;<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26">LO_CHAR</a> =  'c', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0">LO_MIDI</a> =  'm', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009">LO_TRUE</a> =  'T', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4">LO_FALSE</a> =  'F', 
<br/>
&#160;&#160;<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3">LO_NIL</a> =  'N', 
<a class="el" href="group__liblo.html#gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273">LO_INFINITUM</a> =  'I'
<br/>
 }</td></tr>
<tr class="memdesc:ga11838c576b0197c255ce805fd7434736"><td class="mdescLeft">&#160;</td><td class="mdescRight">An enumeration of the OSC types liblo can send and receive.  <a href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae5af61a02ab08871d3ea070c8f770cfe"><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__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe">lo_address_new</a> (const char *host, const char *port)</td></tr>
<tr class="memdesc:gae5af61a02ab08871d3ea070c8f770cfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declare an OSC destination, given IP address and port number. Same as <a class="el" href="group__liblo.html#gaceb4b068bc48c2b075e790910cab3075" title="Declare an OSC destination, given IP address and port number, specifying protocol.">lo_address_new_with_proto()</a>, but using UDP.  <a href="#gae5af61a02ab08871d3ea070c8f770cfe"></a><br/></td></tr>
<tr class="memitem:gaceb4b068bc48c2b075e790910cab3075"><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__liblo.html#gaceb4b068bc48c2b075e790910cab3075">lo_address_new_with_proto</a> (int proto, const char *host, const char *port)</td></tr>
<tr class="memdesc:gaceb4b068bc48c2b075e790910cab3075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declare an OSC destination, given IP address and port number, specifying protocol.  <a href="#gaceb4b068bc48c2b075e790910cab3075"></a><br/></td></tr>
<tr class="memitem:ga1af2cb3c80393cba838f64dfcdc35620"><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__liblo.html#ga1af2cb3c80393cba838f64dfcdc35620">lo_address_new_from_url</a> (const char *url)</td></tr>
<tr class="memdesc:ga1af2cb3c80393cba838f64dfcdc35620"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a lo_address object from an OSC URL.  <a href="#ga1af2cb3c80393cba838f64dfcdc35620"></a><br/></td></tr>
<tr class="memitem:ga82b9a2d1d30214114eb5298f43aebac5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga82b9a2d1d30214114eb5298f43aebac5">lo_address_free</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> t)</td></tr>
<tr class="memdesc:ga82b9a2d1d30214114eb5298f43aebac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the memory used by the lo_address object.  <a href="#ga82b9a2d1d30214114eb5298f43aebac5"></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__liblo.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__liblo.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:gafa4253874f97c2c16254ac57d2b7c987"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987">lo_send</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, const char *path, const char *type,...)</td></tr>
<tr class="memdesc:gafa4253874f97c2c16254ac57d2b7c987"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a OSC formatted message to the address specified.  <a href="#gafa4253874f97c2c16254ac57d2b7c987"></a><br/></td></tr>
<tr class="memitem:gaa4a314562b09e2fd00749a5d0b4d0955"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gaa4a314562b09e2fd00749a5d0b4d0955">lo_send_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> from, <a class="el" href="structlo__timetag.html">lo_timetag</a> ts, const char *path, const char *type,...)</td></tr>
<tr class="memdesc:gaa4a314562b09e2fd00749a5d0b4d0955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a OSC formatted message to the address specified, from the same socket as the specificied server.  <a href="#gaa4a314562b09e2fd00749a5d0b4d0955"></a><br/></td></tr>
<tr class="memitem:ga42ec6437789c7516c5b7909d8504751a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga42ec6437789c7516c5b7909d8504751a">lo_send_timestamped</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> targ, <a class="el" href="structlo__timetag.html">lo_timetag</a> ts, const char *path, const char *type,...)</td></tr>
<tr class="memdesc:ga42ec6437789c7516c5b7909d8504751a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the future.  <a href="#ga42ec6437789c7516c5b7909d8504751a"></a><br/></td></tr>
<tr class="memitem:ga407e1694a2ec58ee5b90c6390e0a5d53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga407e1694a2ec58ee5b90c6390e0a5d53">lo_address_errno</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:ga407e1694a2ec58ee5b90c6390e0a5d53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the error number from the last failed <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> or <a class="el" href="group__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe" title="Declare an OSC destination, given IP address and port number. Same as lo_address_new_with_proto(), but using UDP.">lo_address_new()</a> call.  <a href="#ga407e1694a2ec58ee5b90c6390e0a5d53"></a><br/></td></tr>
<tr class="memitem:gace321bfb9e529d8640e96e894db5400c"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gace321bfb9e529d8640e96e894db5400c">lo_address_errstr</a> (<a class="el" href="lo__types_8h.html#abf9b53223467de596b89e1377b0f3f3d">lo_address</a> a)</td></tr>
<tr class="memdesc:gace321bfb9e529d8640e96e894db5400c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the error string from the last failed <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> or <a class="el" href="group__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe" title="Declare an OSC destination, given IP address and port number. Same as lo_address_new_with_proto(), but using UDP.">lo_address_new()</a> call.  <a href="#gace321bfb9e529d8640e96e894db5400c"></a><br/></td></tr>
<tr class="memitem:gabe3e0c31189adfd7624de6c507b610ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gabe3e0c31189adfd7624de6c507b610ba">lo_server_thread_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:gabe3e0c31189adfd7624de6c507b610ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server thread to handle incoming OSC messages.  <a href="#gabe3e0c31189adfd7624de6c507b610ba"></a><br/></td></tr>
<tr class="memitem:ga0fa9fcae4eabe09847d46b134dc33aa4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga0fa9fcae4eabe09847d46b134dc33aa4">lo_server_thread_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:ga0fa9fcae4eabe09847d46b134dc33aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server thread to handle incoming OSC messages, and join a UDP multicast group.  <a href="#ga0fa9fcae4eabe09847d46b134dc33aa4"></a><br/></td></tr>
<tr class="memitem:ga6713cedfb0b2c4f066ec8a19366bf095"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga6713cedfb0b2c4f066ec8a19366bf095">lo_server_thread_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:ga6713cedfb0b2c4f066ec8a19366bf095"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new server thread to handle incoming OSC messages, specifying protocol.  <a href="#ga6713cedfb0b2c4f066ec8a19366bf095"></a><br/></td></tr>
<tr class="memitem:gad72be3f2a81b9583ad69dd007080c0e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gad72be3f2a81b9583ad69dd007080c0e5">lo_server_thread_free</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:gad72be3f2a81b9583ad69dd007080c0e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory taken by a server thread.  <a href="#gad72be3f2a81b9583ad69dd007080c0e5"></a><br/></td></tr>
<tr class="memitem:gacff9c90a8efc400448276b2d20831010"><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__liblo.html#gacff9c90a8efc400448276b2d20831010">lo_server_thread_add_method</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st, 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:gacff9c90a8efc400448276b2d20831010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an OSC method to the specifed server thread.  <a href="#gacff9c90a8efc400448276b2d20831010"></a><br/></td></tr>
<tr class="memitem:ga072edf53338bc807444c4b510643a828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga072edf53338bc807444c4b510643a828">lo_server_thread_del_method</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st, const char *path, const char *typespec)</td></tr>
<tr class="memdesc:ga072edf53338bc807444c4b510643a828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an OSC method from the specifed server thread.  <a href="#ga072edf53338bc807444c4b510643a828"></a><br/></td></tr>
<tr class="memitem:ga4b284c1b96d0354c5de4ff7ba5a44fbc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga4b284c1b96d0354c5de4ff7ba5a44fbc">lo_server_thread_start</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:ga4b284c1b96d0354c5de4ff7ba5a44fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the server thread.  <a href="#ga4b284c1b96d0354c5de4ff7ba5a44fbc"></a><br/></td></tr>
<tr class="memitem:ga06992ac46b04e58cb77d7c519a578f57"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga06992ac46b04e58cb77d7c519a578f57">lo_server_thread_stop</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:ga06992ac46b04e58cb77d7c519a578f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the server thread.  <a href="#ga06992ac46b04e58cb77d7c519a578f57"></a><br/></td></tr>
<tr class="memitem:ga22f4b18eeac41490647ab9fe2333f933"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga22f4b18eeac41490647ab9fe2333f933">lo_server_thread_get_port</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:ga22f4b18eeac41490647ab9fe2333f933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the port number that the server thread has bound to.  <a href="#ga22f4b18eeac41490647ab9fe2333f933"></a><br/></td></tr>
<tr class="memitem:gac2805a7cbdd9465be4ca5101c569faf0"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gac2805a7cbdd9465be4ca5101c569faf0">lo_server_thread_get_url</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:gac2805a7cbdd9465be4ca5101c569faf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a URL describing the address of the server thread.  <a href="#gac2805a7cbdd9465be4ca5101c569faf0"></a><br/></td></tr>
<tr class="memitem:gab968d51fa6e0d4bea92e3f84f5556161"><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__liblo.html#gab968d51fa6e0d4bea92e3f84f5556161">lo_server_thread_get_server</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:gab968d51fa6e0d4bea92e3f84f5556161"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the lo_server for a lo_server_thread.  <a href="#gab968d51fa6e0d4bea92e3f84f5556161"></a><br/></td></tr>
<tr class="memitem:ga7bc3d8361b65e3ad112a1da956d9114e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga7bc3d8361b65e3ad112a1da956d9114e">lo_server_thread_events_pending</a> (<a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> st)</td></tr>
<tr class="memdesc:ga7bc3d8361b65e3ad112a1da956d9114e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the thread.  <a href="#ga7bc3d8361b65e3ad112a1da956d9114e"></a><br/></td></tr>
<tr class="memitem:gaffb2348c70cb0e1214fd50bdc7574c39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gaffb2348c70cb0e1214fd50bdc7574c39">lo_blob_new</a> (int32_t size, const void *data)</td></tr>
<tr class="memdesc:gaffb2348c70cb0e1214fd50bdc7574c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new OSC blob type.  <a href="#gaffb2348c70cb0e1214fd50bdc7574c39"></a><br/></td></tr>
<tr class="memitem:gaa46ef058cfdf14a16936c062ebac19b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gaa46ef058cfdf14a16936c062ebac19b9">lo_blob_free</a> (<a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> b)</td></tr>
<tr class="memdesc:gaa46ef058cfdf14a16936c062ebac19b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the memory taken by a blob.  <a href="#gaa46ef058cfdf14a16936c062ebac19b9"></a><br/></td></tr>
<tr class="memitem:gab6c9184f0a54f19319d8a6409487b466"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#gab6c9184f0a54f19319d8a6409487b466">lo_blob_datasize</a> (<a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> b)</td></tr>
<tr class="memdesc:gab6c9184f0a54f19319d8a6409487b466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the amount of valid data in a lo_blob object.  <a href="#gab6c9184f0a54f19319d8a6409487b466"></a><br/></td></tr>
<tr class="memitem:ga064e3435301e0df338b75023a7ebf38e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__liblo.html#ga064e3435301e0df338b75023a7ebf38e">lo_blob_dataptr</a> (<a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> b)</td></tr>
<tr class="memdesc:ga064e3435301e0df338b75023a7ebf38e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the start of the blob data to allow contents to be changed.  <a href="#ga064e3435301e0df338b75023a7ebf38e"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Defines the high-level API functions necessary to implement OSC support. Should be adequate for most applications, but if you require lower level control you can use the functions defined in <a class="el" href="lo__lowlevel_8h.html">lo_lowlevel.h</a> </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gafa8cfc08b763b0c039fb64a73c4c77da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__liblo.html#gafa8cfc08b763b0c039fb64a73c4c77da">LO_TT_IMMEDIATE</a>&#160;&#160;&#160;((<a class="el" href="structlo__timetag.html">lo_timetag</a>){0U,1U})</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A timetag constant representing "now". </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga11838c576b0197c255ce805fd7434736"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__liblo.html#ga11838c576b0197c255ce805fd7434736">lo_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An enumeration of the OSC types liblo can send and receive. </p>
<p>The value of the enumeration is the typechar used to tag messages and to specify arguments with <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a>. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d"></a>LO_INT32</em>&nbsp;</td><td>
<p>32 bit signed integer. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3"></a>LO_FLOAT</em>&nbsp;</td><td>
<p>32 bit IEEE-754 float. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2"></a>LO_STRING</em>&nbsp;</td><td>
<p>Standard C, NULL terminated string. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b"></a>LO_BLOB</em>&nbsp;</td><td>
<p>OSC binary blob type. Accessed using the lo_blob_*() functions. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30"></a>LO_INT64</em>&nbsp;</td><td>
<p>64 bit signed integer. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe"></a>LO_TIMETAG</em>&nbsp;</td><td>
<p>OSC TimeTag type, represented by the <a class="el" href="structlo__timetag.html" title="A structure to store OSC TimeTag values.">lo_timetag</a> structure. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6"></a>LO_DOUBLE</em>&nbsp;</td><td>
<p>64 bit IEEE-754 double. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948"></a>LO_SYMBOL</em>&nbsp;</td><td>
<p>Standard C, NULL terminated, string. Used in systems which distinguish strings and symbols. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26"></a>LO_CHAR</em>&nbsp;</td><td>
<p>Standard C, 8 bit, char variable. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0"></a>LO_MIDI</em>&nbsp;</td><td>
<p>A 4 byte MIDI packet. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009"></a>LO_TRUE</em>&nbsp;</td><td>
<p>Sybol representing the value True. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4"></a>LO_FALSE</em>&nbsp;</td><td>
<p>Sybol representing the value False. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3"></a>LO_NIL</em>&nbsp;</td><td>
<p>Sybol representing the value Nil. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273"></a>LO_INFINITUM</em>&nbsp;</td><td>
<p>Sybol representing the value Infinitum. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga407e1694a2ec58ee5b90c6390e0a5d53"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga407e1694a2ec58ee5b90c6390e0a5d53">lo_address_errno</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 error number from the last failed <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> or <a class="el" href="group__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe" title="Declare an OSC destination, given IP address and port number. Same as lo_address_new_with_proto(), but using UDP.">lo_address_new()</a> call. </p>

</div>
</div>
<a class="anchor" id="gace321bfb9e529d8640e96e894db5400c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__liblo.html#gace321bfb9e529d8640e96e894db5400c">lo_address_errstr</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 error string from the last failed <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send()</a> or <a class="el" href="group__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe" title="Declare an OSC destination, given IP address and port number. Same as lo_address_new_with_proto(), but using UDP.">lo_address_new()</a> call. </p>

</div>
</div>
<a class="anchor" id="ga82b9a2d1d30214114eb5298f43aebac5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblo.html#ga82b9a2d1d30214114eb5298f43aebac5">lo_address_free</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>Free the memory used by the lo_address object. </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="gae5af61a02ab08871d3ea070c8f770cfe"></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__liblo.html#gae5af61a02ab08871d3ea070c8f770cfe">lo_address_new</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Declare an OSC destination, given IP address and port number. Same as <a class="el" href="group__liblo.html#gaceb4b068bc48c2b075e790910cab3075" title="Declare an OSC destination, given IP address and port number, specifying protocol.">lo_address_new_with_proto()</a>, but using UDP. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>An IP address or number, or NULL for the local machine. </td></tr>
    <tr><td class="paramname">port</td><td>a decimal port number or service name.</td></tr>
  </table>
  </dd>
</dl>
<p>The lo_address object may be used as the target of OSC messages.</p>
<p>Note: if you wish to receive replies from the target of this address, you must first create a lo_server_thread or lo_server object which will receive the replies. The last lo_server(_thread) object creted will be the receiver. </p>

</div>
</div>
<a class="anchor" id="ga1af2cb3c80393cba838f64dfcdc35620"></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__liblo.html#ga1af2cb3c80393cba838f64dfcdc35620">lo_address_new_from_url</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>Create a lo_address object from an OSC URL. </p>
<p>example: <code>"osc.udp://localhost:4444/my/path/"</code> </p>

</div>
</div>
<a class="anchor" id="gaceb4b068bc48c2b075e790910cab3075"></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__liblo.html#gaceb4b068bc48c2b075e790910cab3075">lo_address_new_with_proto</a> </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">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Declare an OSC destination, given IP address and port number, specifying protocol. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">proto</td><td>The protocol to use, must be one of LO_UDP, LO_TCP or LO_UNIX. </td></tr>
    <tr><td class="paramname">host</td><td>An IP address or number, or NULL for the local machine. </td></tr>
    <tr><td class="paramname">port</td><td>a decimal port number or service name.</td></tr>
  </table>
  </dd>
</dl>
<p>The lo_address object may be used as the target of OSC messages.</p>
<p>Note: if you wish to receive replies from the target of this address, you must first create a lo_server_thread or lo_server object which will receive the replies. The last lo_server(_thread) object creted will be the receiver. </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="ga064e3435301e0df338b75023a7ebf38e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__liblo.html#ga064e3435301e0df338b75023a7ebf38e">lo_blob_dataptr</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>Return a pointer to the start of the blob data to allow contents to be changed. </p>

</div>
</div>
<a class="anchor" id="gab6c9184f0a54f19319d8a6409487b466"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t <a class="el" href="group__liblo.html#gab6c9184f0a54f19319d8a6409487b466">lo_blob_datasize</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>Return the amount of valid data in a lo_blob object. </p>
<p>If you want to know the storage size, use <a class="el" href="group__liblolowlevel.html#gaf793bbd32346a91d7d680d91ae68d1bd" title="Return the storage size, in bytes, of the given argument.">lo_arg_size()</a>. </p>

</div>
</div>
<a class="anchor" id="gaa46ef058cfdf14a16936c062ebac19b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblo.html#gaa46ef058cfdf14a16936c062ebac19b9">lo_blob_free</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>Free the memory taken by a blob. </p>

</div>
</div>
<a class="anchor" id="gaffb2348c70cb0e1214fd50bdc7574c39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a8e780f8c09e3e4dd737fe249f11d16fc">lo_blob</a> <a class="el" href="group__liblo.html#gaffb2348c70cb0e1214fd50bdc7574c39">lo_blob_new</a> </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const 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>Create a new OSC blob type. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>The amount of space to allocate in the blob structure. </td></tr>
    <tr><td class="paramname">data</td><td>The data that will be used to initialise the blob, should be size bytes long. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafa4253874f97c2c16254ac57d2b7c987"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987">lo_send</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">const char *&#160;</td>
          <td class="paramname"><em>type</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>Send a OSC formatted message to the address specified. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">targ</td><td>The target OSC address </td></tr>
    <tr><td class="paramname">path</td><td>The OSC path the message will be delivered to </td></tr>
    <tr><td class="paramname">type</td><td>The types of the data items in the message, types are defined in <a class="el" href="lo__osc__types_8h.html">lo_osc_types.h</a> </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>
<p>example: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987" title="Send a OSC formatted message to the address specified.">lo_send</a>(t, <span class="stringliteral">&quot;/foo/bar&quot;</span>, <span class="stringliteral">&quot;ff&quot;</span>, 0.1f, 23.0f);
</pre></div><dl class="section return"><dt>Returns:</dt><dd>-1 on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa4a314562b09e2fd00749a5d0b4d0955"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#gaa4a314562b09e2fd00749a5d0b4d0955">lo_send_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>from</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>ts</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>type</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>Send a OSC formatted message to the address specified, from the same socket as the specificied server. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">targ</td><td>The target OSC address </td></tr>
    <tr><td class="paramname">from</td><td>The server to send message from (can be NULL to use new socket) </td></tr>
    <tr><td class="paramname">ts</td><td>The OSC timetag timestamp at which the message will be processed (can be LO_TT_IMMEDIATE if you don't want to attach a timetag) </td></tr>
    <tr><td class="paramname">path</td><td>The OSC path the message will be delivered to </td></tr>
    <tr><td class="paramname">type</td><td>The types of the data items in the message, types are defined in <a class="el" href="lo__osc__types_8h.html">lo_osc_types.h</a> </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>
<p>example: </p>
<div class="fragment"><pre class="fragment"> serv = <a class="code" href="group__liblolowlevel.html#ga78cfb23346e44465695293d4393447ae" title="Create a new server instance.">lo_server_new</a>(NULL, err);
 <a class="code" href="group__liblolowlevel.html#ga0c183cabaac67eb9aad3265ae1efa580" title="Add an OSC method to the specifed server.">lo_server_add_method</a>(serv, <span class="stringliteral">&quot;/reply&quot;</span>, <span class="stringliteral">&quot;ss&quot;</span>, reply_handler, NULL);
 <a class="code" href="group__liblo.html#gaa4a314562b09e2fd00749a5d0b4d0955" title="Send a OSC formatted message to the address specified, from the same socket as the specificied server...">lo_send_from</a>(t, serv, <a class="code" href="group__liblo.html#gafa8cfc08b763b0c039fb64a73c4c77da" title="A timetag constant representing &quot;now&quot;.">LO_TT_IMMEDIATE</a>, <span class="stringliteral">&quot;/foo/bar&quot;</span>, <span class="stringliteral">&quot;ff&quot;</span>, 0.1f, 23.0f);
</pre></div><dl class="section return"><dt>Returns:</dt><dd>on success, the number of bytes sent, or -1 on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ga42ec6437789c7516c5b7909d8504751a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga42ec6437789c7516c5b7909d8504751a">lo_send_timestamped</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="structlo__timetag.html">lo_timetag</a>&#160;</td>
          <td class="paramname"><em>ts</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>type</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>Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the future. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">targ</td><td>The target OSC address </td></tr>
    <tr><td class="paramname">ts</td><td>The OSC timetag timestamp at which the message will be processed </td></tr>
    <tr><td class="paramname">path</td><td>The OSC path the message will be delivered to </td></tr>
    <tr><td class="paramname">type</td><td>The types of the data items in the message, types are defined in <a class="el" href="lo__osc__types_8h.html">lo_osc_types.h</a> </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>
<p>example: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structlo__timetag.html" title="A structure to store OSC TimeTag values.">lo_timetag</a> now;&lt;br&gt;
 <a class="code" href="group__liblolowlevel.html#gad687e21ed611e68748e962502ae63d8e" title="Return a timetag for the current time.">lo_timetag_now</a>(&amp;now);&lt;br&gt;
 <a class="code" href="group__liblo.html#ga42ec6437789c7516c5b7909d8504751a" title="Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the f...">lo_send_timestamped</a>(t, now, <span class="stringliteral">&quot;/foo/bar&quot;</span>, <span class="stringliteral">&quot;ff&quot;</span>, 0.1f, 23.0f);
</pre></div><dl class="section return"><dt>Returns:</dt><dd>on success, the number of bytes sent, or -1 on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="gacff9c90a8efc400448276b2d20831010"></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__liblo.html#gacff9c90a8efc400448276b2d20831010">lo_server_thread_add_method</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</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 thread. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">st</td><td>The server thread 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 it 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="ga072edf53338bc807444c4b510643a828"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblo.html#ga072edf53338bc807444c4b510643a828">lo_server_thread_del_method</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</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 thread. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">st</td><td>The server thread 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="ga7bc3d8361b65e3ad112a1da956d9114e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga7bc3d8361b65e3ad112a1da956d9114e">lo_server_thread_events_pending</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</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 thread. </p>

</div>
</div>
<a class="anchor" id="gad72be3f2a81b9583ad69dd007080c0e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__liblo.html#gad72be3f2a81b9583ad69dd007080c0e5">lo_server_thread_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free memory taken by a server thread. </p>
<p>Frees the memory, and, if currently running will stop the associated thread. </p>

</div>
</div>
<a class="anchor" id="ga22f4b18eeac41490647ab9fe2333f933"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga22f4b18eeac41490647ab9fe2333f933">lo_server_thread_get_port</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the port number that the server thread has bound to. </p>

</div>
</div>
<a class="anchor" id="gab968d51fa6e0d4bea92e3f84f5556161"></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__liblo.html#gab968d51fa6e0d4bea92e3f84f5556161">lo_server_thread_get_server</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the lo_server for a lo_server_thread. </p>
<p>This function is useful for passing a thread's lo_server to <a class="el" href="group__liblo.html#gaa4a314562b09e2fd00749a5d0b4d0955" title="Send a OSC formatted message to the address specified, from the same socket as the specificied server...">lo_send_from()</a>. </p>

</div>
</div>
<a class="anchor" id="gac2805a7cbdd9465be4ca5101c569faf0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="group__liblo.html#gac2805a7cbdd9465be4ca5101c569faf0">lo_server_thread_get_url</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a URL describing the address of the server thread. </p>
<p>Return value must be free()'d to reclaim memory. </p>

</div>
</div>
<a class="anchor" id="gabe3e0c31189adfd7624de6c507b610ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> <a class="el" href="group__liblo.html#gabe3e0c31189adfd7624de6c507b610ba">lo_server_thread_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 thread to handle incoming OSC messages. </p>
<p>Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.</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 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>A function that will be called in the event of an error being raised. The function prototype is defined in <a class="el" href="lo__types_8h.html">lo_types.h</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga0fa9fcae4eabe09847d46b134dc33aa4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> <a class="el" href="group__liblo.html#ga0fa9fcae4eabe09847d46b134dc33aa4">lo_server_thread_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 thread to handle incoming OSC messages, and join a UDP multicast group. </p>
<p>Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.</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 NULL is passed then an unused 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>A function that will be called in the event of an error being raised. The function prototype is defined in <a class="el" href="lo__types_8h.html">lo_types.h</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6713cedfb0b2c4f066ec8a19366bf095"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a> <a class="el" href="group__liblo.html#ga6713cedfb0b2c4f066ec8a19366bf095">lo_server_thread_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 thread to handle incoming OSC messages, specifying protocol. </p>
<p>Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.</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 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">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>A function that will be called in the event of an error being raised. The function prototype is defined in <a class="el" href="lo__types_8h.html">lo_types.h</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4b284c1b96d0354c5de4ff7ba5a44fbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga4b284c1b96d0354c5de4ff7ba5a44fbc">lo_server_thread_start</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start the server thread. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">st</td><td>the server thread to start. </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="ga06992ac46b04e58cb77d7c519a578f57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__liblo.html#ga06992ac46b04e58cb77d7c519a578f57">lo_server_thread_stop</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="lo__types_8h.html#a09996ffb6bde21b8fb6106897b88feae">lo_server_thread</a>&#160;</td>
          <td class="paramname"><em>st</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stop the server thread. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">st</td><td>the server thread to start. </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>
</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>