<!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"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>GNU CommonC++: socket.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GNU CommonC++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><a class="el" href="dir_6b3e09e31d3da6038137f0238e9fb19b.html">cc++</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">socket.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Network addresses and sockets related classes. <a href="#details">More...</a></p> <div class="textblock"><code>#include <<a class="el" href="address_8h_source.html">cc++/address.h</a>></code><br/> </div> <p><a href="socket_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classost_1_1_socket.html" title="The Socket is used as the base for all Internet protocol services under Common C++. ">Socket</a> is used as the base for all Internet protocol services under Common C++. <a href="classost_1_1_socket.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_d_c_c_p_socket.html">ost::DCCPSocket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">DCCP sockets are used for stream based connected sessions between two sockets. <a href="classost_1_1_d_c_c_p_socket.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_socket.html">ost::UDPSocket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">UDP sockets implement the TCP SOCK_DGRAM UDP protocol. <a href="classost_1_1_u_d_p_socket.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_broadcast.html">ost::UDPBroadcast</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Representing a UDP socket used for subnet broadcasts, this class provides an alternate binding and setPeer() capability for UDP sockets. <a href="classost_1_1_u_d_p_broadcast.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html">ost::UDPTransmit</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. <a href="classost_1_1_u_d_p_transmit.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_receive.html">ost::UDPReceive</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. <a href="classost_1_1_u_d_p_receive.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_duplex.html">ost::UDPDuplex</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">UDP duplex connections impliment a bi-directional point-to-point UDP session between two peer hosts. <a href="classost_1_1_u_d_p_duplex.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_socket.html">ost::TCPSocket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">TCP sockets are used for stream based connected sessions between two sockets. <a href="classost_1_1_t_c_p_socket.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_v6_socket.html">ost::TCPV6Socket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">TCPV6 sockets are used for stream based connected sessions between two ipv6 sockets. <a href="classost_1_1_t_c_p_v6_socket.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html">ost::TCPStream</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections. <a href="classost_1_1_t_c_p_stream.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_session.html">ost::TCPSession</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The TCP session is used to primarily to represent a client connection that can be managed on a seperate thread. <a href="classost_1_1_t_c_p_session.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_simple_t_c_p_stream.html">ost::SimpleTCPStream</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Simple TCP Stream, to be used with Common C++ Library. <a href="classost_1_1_simple_t_c_p_stream.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespaceost"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html">ost</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a26769957ec1a2beaf223f33b66ee64ab"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a26769957ec1a2beaf223f33b66ee64ab">INVALID_SOCKET</a>   -1</td></tr> <tr class="separator:a26769957ec1a2beaf223f33b66ee64ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:addbcacf8e7b5164e650dc7f2ab47fea1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#addbcacf8e7b5164e650dc7f2ab47fea1">_IOLEN64</a></td></tr> <tr class="separator:addbcacf8e7b5164e650dc7f2ab47fea1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a35f7b32f9389e9dade562c8bbe0514f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a35f7b32f9389e9dade562c8bbe0514f6">_IORET64</a></td></tr> <tr class="separator:a35f7b32f9389e9dade562c8bbe0514f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab18d3d439e4a9c8d0f73e7166e8eb376"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#ab18d3d439e4a9c8d0f73e7166e8eb376">MSG_DONTWAIT</a>   0</td></tr> <tr class="separator:ab18d3d439e4a9c8d0f73e7166e8eb376"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f55d0e90dc8cc6b2287312435cdde48"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a9f55d0e90dc8cc6b2287312435cdde48">MSG_NOSIGNAL</a>   0</td></tr> <tr class="separator:a9f55d0e90dc8cc6b2287312435cdde48"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4f9a3faa2c7b9488103960ead54e7d88"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a4f9a3faa2c7b9488103960ead54e7d88">SOCK_DCCP</a>   6</td></tr> <tr class="separator:a4f9a3faa2c7b9488103960ead54e7d88"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe40d548994c51723b9da30440be3c08"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#abe40d548994c51723b9da30440be3c08">IPPROTO_DCCP</a>   33</td></tr> <tr class="separator:abe40d548994c51723b9da30440be3c08"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab2290ff3727586e79a74d1319a9fec83"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#ab2290ff3727586e79a74d1319a9fec83">SOL_DCCP</a>   269</td></tr> <tr class="separator:ab2290ff3727586e79a74d1319a9fec83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a16c181b16f7720e75f6cc61535cc122d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a16c181b16f7720e75f6cc61535cc122d">DCCP_SOCKOPT_AVAILABLE_CCIDS</a>   12</td></tr> <tr class="separator:a16c181b16f7720e75f6cc61535cc122d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad44ca1305ac56bb818451e8b63bbe7a2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#ad44ca1305ac56bb818451e8b63bbe7a2">DCCP_SOCKOPT_CCID</a>   13</td></tr> <tr class="separator:ad44ca1305ac56bb818451e8b63bbe7a2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af9af996be1e65747467d42107a9fcaa0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#af9af996be1e65747467d42107a9fcaa0">DCCP_SOCKOPT_TX_CCID</a>   14</td></tr> <tr class="separator:af9af996be1e65747467d42107a9fcaa0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af81f3e7855b319a6eef64a91256c93e1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#af81f3e7855b319a6eef64a91256c93e1">DCCP_SOCKOPT_RX_CCID</a>   15</td></tr> <tr class="separator:af81f3e7855b319a6eef64a91256c93e1"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a8dc8083897335125630f1af5dafd5831"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#a8dc8083897335125630f1af5dafd5831">SOCKET</a></td></tr> <tr class="separator:a8dc8083897335125630f1af5dafd5831"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a33ac1051cb7ef5d55c254ff51054d2e7"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a33ac1051cb7ef5d55c254ff51054d2e7">ost::SimpleTCPStream</a></td></tr> <tr class="separator:a33ac1051cb7ef5d55c254ff51054d2e7"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Network addresses and sockets related classes. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="addbcacf8e7b5164e650dc7f2ab47fea1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _IOLEN64</td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classost_1_1_socket_port.html#afb7798f8cc7e50d42ad82a1537e89c63">ost::SocketPort::peek()</a>, <a class="el" href="classost_1_1_u_d_p_socket.html#a64b09e6ac9325d8f44d7ca7ed59215bf">ost::UDPSocket::peek()</a>, <a class="el" href="classost_1_1_t_c_p_stream.html#a0150df4f03d32e200b22d0f06404ac39">ost::TCPStream::peek()</a>, <a class="el" href="classost_1_1_socket_port.html#a872c38a65b17113a580af345946146d7">ost::SocketPort::receive()</a>, <a class="el" href="classost_1_1_u_d_p_receive.html#a39f5e896422f2f3dda0948f265b8b013">ost::UDPReceive::receive()</a>, <a class="el" href="classost_1_1_socket_port.html#a9218e4528f5bdf4215200e2040eefe5b">ost::SocketPort::send()</a>, <a class="el" href="classost_1_1_u_d_p_transmit.html#ac20e40569ec5502849fa3337dcfdf611">ost::UDPTransmit::send()</a>, and <a class="el" href="classost_1_1_u_d_p_transmit.html#ab648dd889101cf98bcad682299c48329">ost::UDPTransmit::transmit()</a>.</p> </div> </div> <a class="anchor" id="a35f7b32f9389e9dade562c8bbe0514f6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _IORET64</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a16c181b16f7720e75f6cc61535cc122d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DCCP_SOCKOPT_AVAILABLE_CCIDS   12</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ad44ca1305ac56bb818451e8b63bbe7a2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DCCP_SOCKOPT_CCID   13</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af81f3e7855b319a6eef64a91256c93e1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DCCP_SOCKOPT_RX_CCID   15</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af9af996be1e65747467d42107a9fcaa0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DCCP_SOCKOPT_TX_CCID   14</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a26769957ec1a2beaf223f33b66ee64ab"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INVALID_SOCKET   -1</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="abe40d548994c51723b9da30440be3c08"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IPPROTO_DCCP   33</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab18d3d439e4a9c8d0f73e7166e8eb376"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MSG_DONTWAIT   0</td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classost_1_1_u_d_p_transmit.html#ab648dd889101cf98bcad682299c48329">ost::UDPTransmit::transmit()</a>.</p> </div> </div> <a class="anchor" id="a9f55d0e90dc8cc6b2287312435cdde48"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MSG_NOSIGNAL   0</td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classost_1_1_u_d_p_transmit.html#ac20e40569ec5502849fa3337dcfdf611">ost::UDPTransmit::send()</a>, and <a class="el" href="classost_1_1_u_d_p_transmit.html#ab648dd889101cf98bcad682299c48329">ost::UDPTransmit::transmit()</a>.</p> </div> </div> <a class="anchor" id="a4f9a3faa2c7b9488103960ead54e7d88"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SOCK_DCCP   6</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab2290ff3727586e79a74d1319a9fec83"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SOL_DCCP   269</td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="a8dc8083897335125630f1af5dafd5831"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int <a class="el" href="socket_8h.html#a8dc8083897335125630f1af5dafd5831">SOCKET</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>