<!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: lo.h File Reference</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  <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="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">lo.h File Reference</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <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> </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"> </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="group__liblo.html#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> </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"> </td><td class="mdescRight">Declare an OSC destination, given IP address and port number, specifying protocol. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Create a lo_address object from an OSC URL. <a href="group__liblo.html#ga1af2cb3c80393cba838f64dfcdc35620"></a><br/></td></tr> <tr class="memitem:ga82b9a2d1d30214114eb5298f43aebac5"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Free the memory used by the lo_address object. <a href="group__liblo.html#ga82b9a2d1d30214114eb5298f43aebac5"></a><br/></td></tr> <tr class="memitem:gacd72097b92411db148844d89071fd281"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Set the Time-to-Live value for a given target address. <a href="group__liblo.html#gacd72097b92411db148844d89071fd281"></a><br/></td></tr> <tr class="memitem:ga3652ba694ba3c153dc96917e7321131c"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Get the Time-to-Live value for a given target address. <a href="group__liblo.html#ga3652ba694ba3c153dc96917e7321131c"></a><br/></td></tr> <tr class="memitem:gafa4253874f97c2c16254ac57d2b7c987"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Send a OSC formatted message to the address specified. <a href="group__liblo.html#gafa4253874f97c2c16254ac57d2b7c987"></a><br/></td></tr> <tr class="memitem:gaa4a314562b09e2fd00749a5d0b4d0955"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Send a OSC formatted message to the address specified, from the same socket as the specificied server. <a href="group__liblo.html#gaa4a314562b09e2fd00749a5d0b4d0955"></a><br/></td></tr> <tr class="memitem:ga42ec6437789c7516c5b7909d8504751a"><td class="memItemLeft" align="right" valign="top">int </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"> </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="group__liblo.html#ga42ec6437789c7516c5b7909d8504751a"></a><br/></td></tr> <tr class="memitem:ga407e1694a2ec58ee5b90c6390e0a5d53"><td class="memItemLeft" align="right" valign="top">int </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"> </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="group__liblo.html#ga407e1694a2ec58ee5b90c6390e0a5d53"></a><br/></td></tr> <tr class="memitem:gace321bfb9e529d8640e96e894db5400c"><td class="memItemLeft" align="right" valign="top">const char * </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"> </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="group__liblo.html#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> </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"> </td><td class="mdescRight">Create a new server thread to handle incoming OSC messages. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Create a new server thread to handle incoming OSC messages, and join a UDP multicast group. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Create a new server thread to handle incoming OSC messages, specifying protocol. <a href="group__liblo.html#ga6713cedfb0b2c4f066ec8a19366bf095"></a><br/></td></tr> <tr class="memitem:gad72be3f2a81b9583ad69dd007080c0e5"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Free memory taken by a server thread. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Add an OSC method to the specifed server thread. <a href="group__liblo.html#gacff9c90a8efc400448276b2d20831010"></a><br/></td></tr> <tr class="memitem:ga072edf53338bc807444c4b510643a828"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Delete an OSC method from the specifed server thread. <a href="group__liblo.html#ga072edf53338bc807444c4b510643a828"></a><br/></td></tr> <tr class="memitem:ga4b284c1b96d0354c5de4ff7ba5a44fbc"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Start the server thread. <a href="group__liblo.html#ga4b284c1b96d0354c5de4ff7ba5a44fbc"></a><br/></td></tr> <tr class="memitem:ga06992ac46b04e58cb77d7c519a578f57"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Stop the server thread. <a href="group__liblo.html#ga06992ac46b04e58cb77d7c519a578f57"></a><br/></td></tr> <tr class="memitem:ga22f4b18eeac41490647ab9fe2333f933"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Return the port number that the server thread has bound to. <a href="group__liblo.html#ga22f4b18eeac41490647ab9fe2333f933"></a><br/></td></tr> <tr class="memitem:gac2805a7cbdd9465be4ca5101c569faf0"><td class="memItemLeft" align="right" valign="top">char * </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"> </td><td class="mdescRight">Return a URL describing the address of the server thread. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Return the lo_server for a lo_server_thread. <a href="group__liblo.html#gab968d51fa6e0d4bea92e3f84f5556161"></a><br/></td></tr> <tr class="memitem:ga7bc3d8361b65e3ad112a1da956d9114e"><td class="memItemLeft" align="right" valign="top">int </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"> </td><td class="mdescRight">Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the thread. <a href="group__liblo.html#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> </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"> </td><td class="mdescRight">Create a new OSC blob type. <a href="group__liblo.html#gaffb2348c70cb0e1214fd50bdc7574c39"></a><br/></td></tr> <tr class="memitem:gaa46ef058cfdf14a16936c062ebac19b9"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Free the memory taken by a blob. <a href="group__liblo.html#gaa46ef058cfdf14a16936c062ebac19b9"></a><br/></td></tr> <tr class="memitem:gab6c9184f0a54f19319d8a6409487b466"><td class="memItemLeft" align="right" valign="top">uint32_t </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"> </td><td class="mdescRight">Return the amount of valid data in a lo_blob object. <a href="group__liblo.html#gab6c9184f0a54f19319d8a6409487b466"></a><br/></td></tr> <tr class="memitem:ga064e3435301e0df338b75023a7ebf38e"><td class="memItemLeft" align="right" valign="top">void * </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"> </td><td class="mdescRight">Return a pointer to the start of the blob data to allow contents to be changed. <a href="group__liblo.html#ga064e3435301e0df338b75023a7ebf38e"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>The liblo main headerfile and high-level API functions. </p> </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>