<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Apache Portable Runtime: IP Multicast</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.9.1 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>IP Multicast<br> <small> [<a class="el" href="group__apr__network__io.html">Network Routines</a>]</small> </h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__mcast.html#ga0">apr_mcast_join</a> (<a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> *sock, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *join, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *iface, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *source)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__mcast.html#ga1">apr_mcast_leave</a> (<a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> *sock, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *addr, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *iface, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *source)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__mcast.html#ga2">apr_mcast_hops</a> (<a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> *sock, apr_byte_t ttl)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__mcast.html#ga3">apr_mcast_loopback</a> (<a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> *sock, apr_byte_t opt)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__mcast.html#ga4">apr_mcast_interface</a> (<a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> *sock, <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> *iface)</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="ga2" doxytag="apr_network_io.h::apr_mcast_hops"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> apr_mcast_hops </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> * </td> <td class="mdname" nowrap> <em>sock</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>apr_byte_t </td> <td class="mdname" nowrap> <em>ttl</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Set the Multicast Time to Live (ttl) for a multicast transmission. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sock</em> </td><td>The socket to set the multicast ttl </td></tr> <tr><td valign="top"></td><td valign="top"><em>ttl</em> </td><td>Time to live to Assign. 0-255, default=1 </td></tr> </table> </dl> <dl compact><dt><b>Remarks:</b></dt><dd>If the TTL is 0, packets will only be seen by sockets on the local machine, and only when multicast loopback is enabled. </dd></dl> </td> </tr> </table> <a class="anchor" name="ga4" doxytag="apr_network_io.h::apr_mcast_interface"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> apr_mcast_interface </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> * </td> <td class="mdname" nowrap> <em>sock</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>iface</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Set the Interface to be used for outgoing Multicast Transmissions. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sock</em> </td><td>The socket to set the multicast interface on </td></tr> <tr><td valign="top"></td><td valign="top"><em>iface</em> </td><td>Address of the interface to use for Multicast </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="ga0" doxytag="apr_network_io.h::apr_mcast_join"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> apr_mcast_join </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> * </td> <td class="mdname" nowrap> <em>sock</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>join</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>iface</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>source</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Join a Multicast Group <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sock</em> </td><td>The socket to join a multicast group </td></tr> <tr><td valign="top"></td><td valign="top"><em>join</em> </td><td>The address of the multicast group to join </td></tr> <tr><td valign="top"></td><td valign="top"><em>iface</em> </td><td>Address of the interface to use. If NULL is passed, the default multicast interface will be used. (OS Dependent) </td></tr> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>Source Address to accept transmissions from (non-NULL implies Source-Specific Multicast) </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="ga1" doxytag="apr_network_io.h::apr_mcast_leave"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> apr_mcast_leave </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> * </td> <td class="mdname" nowrap> <em>sock</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>addr</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>iface</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * </td> <td class="mdname" nowrap> <em>source</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Leave a Multicast Group. All arguments must be the same as apr_mcast_join. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sock</em> </td><td>The socket to leave a multicast group </td></tr> <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>The address of the multicast group to leave </td></tr> <tr><td valign="top"></td><td valign="top"><em>iface</em> </td><td>Address of the interface to use. If NULL is passed, the default multicast interface will be used. (OS Dependent) </td></tr> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>Source Address to accept transmissions from (non-NULL implies Source-Specific Multicast) </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="ga3" doxytag="apr_network_io.h::apr_mcast_loopback"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> apr_mcast_loopback </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__apr__network__io.html#ga0">apr_socket_t</a> * </td> <td class="mdname" nowrap> <em>sock</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>apr_byte_t </td> <td class="mdname" nowrap> <em>opt</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Toggle IP Multicast Loopback <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sock</em> </td><td>The socket to set multicast loopback </td></tr> <tr><td valign="top"></td><td valign="top"><em>opt</em> </td><td>0=disable, 1=enable </td></tr> </table> </dl> </td> </tr> </table> <hr size="1"><address style="align: right;"><small>Generated on Sun Mar 20 19:52:27 2005 for Apache Portable Runtime by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> </body> </html>