Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > fc480f9d5aabed8eeaffe8ad3401a94c > files > 9468

openoffice.org-devel-doc-3.2.1-0.3mdv2010.2.i586.rpm

<html>
<head>
<title>Global Functions in Namespace  in Sourcefile socket.h</title>
<link rel="stylesheet" type="text/css" href="../cpp.css">
</head>
<body>
<div id="adc-cppref">

<a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0">
<tr align="center" valign="top">
<td class="navimain">&nbsp;<a href="../index.html">Overview</a>&nbsp;</td>
<td class="navimain">&nbsp;<a href="index.html">Namespace</a>&nbsp;</td>
<td class="navimainnone">&nbsp;Class&nbsp;</td>
<td class="navimain">&nbsp;<a href="../index-files/index-1.html">Index</a>&nbsp;</td>
<td class="navimain">&nbsp;<a href="../help.html">Help</a>&nbsp;</td>
</tr>
</table>
<table class="navisub" cellpadding="0" cellspacing="3"></table>
<hr>
<div class="title"><h2>Global Functions in Global Namespace C++<br>
in Sourcefile socket.h</h2>
</div><hr>
<dl class="member">
<dt class="member"><a name="osl_acceptConnectionOnSocket-825"> </a>osl_acceptConnectionOnSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocket.html">oslSocket</a> <strong>osl_acceptConnectionOnSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> *</td>
<td>pAddr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Waits for an ingoing connection on the socket.
This call blocks if there is no incoming connection present.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pAddr</td>
<td><pre>if pAddr is != 0, the peers address is returned.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>0 if the accept-call failed, otherwise you get a socket
representing the new connection.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_acquireSocket-817"> </a>osl_acquireSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_acquireSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>increases the refcount of the socket handle by one
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_addToSocketSet-845"> </a>osl_addToSocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_addToSocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> Set,</td>
</tr>
<tr>
<td><a href="t-oslSocket.html">oslSocket</a></td>
<td>Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Adds a socket to the set.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Set</td>
<td><pre>the set were the socket is added.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>the socket to be added.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_bindAddrToSocket-822"> </a>osl_bindAddrToSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_bindAddrToSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Binds the given address to the socket.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Address</td>
<td><pre>
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_False</code> if the bind failed, <code> sal_True</code> if successful.
</dd>
<dt>See Also</dt>
<dd><a href="o-socket.h.html#osl_getLastSocketError-840">osl_getLastSocketError()</a> <br>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_clearSocketSet-844"> </a>osl_clearSocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_clearSocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> Set );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Clears the set from all previously added sockets.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Set</td>
<td><pre>the set to be cleared.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_closeSocket-849"> </a>osl_closeSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_closeSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Closes the socket terminating any ongoing dataflow.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_connectSocketTo-823"> </a>osl_connectSocketTo</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_connectSocketTo</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>Addr,</td>
</tr>
<tr>
<td>const <a href="t-TimeValue.html">TimeValue</a> *</td>
<td>pTimeout );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Connects the socket to the given address.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>a bound socket.
    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Addr</td>
<td><pre>the peer address.
    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pTimeout</td>
<td><pre>Timeout value or NULL for blocking.
    
    </pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>osl_Socket_Ok</code> on successful connection,
            <code>osl_Socket_TimedOut</code> if operation timed out,
            <code>osl_Socket_Interrupted</code> if operation was interrupted
            <code>osl_Socket_Error</code> if the connection failed.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_copyHostAddr-811"> </a>osl_copyHostAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslHostAddr.html">oslHostAddr</a> <strong>osl_copyHostAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td>const <a href="t-oslHostAddr.html">oslHostAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Create a copy of the given Addr.
</dd>
<dt>Return</dt>
<dd>The copied address or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_copySocketAddr-793"> </a>osl_copySocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_copySocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Creates a new SocketAddress and fills it from Addr.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createEmptySocketAddr-792"> </a>osl_createEmptySocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_createEmptySocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslAddrFamily.html">oslAddrFamily</a> </td>
<td> Family );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Creates a socket-address for the given family.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">family</td>
<td><pre>If family == osl_Socket_FamilyInet the address is
              set to INADDR_ANY    port 0.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>0 if address could not be created.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createHostAddr-808"> </a>osl_createHostAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslHostAddr.html">oslHostAddr</a> <strong>osl_createHostAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strHostname,</td>
</tr>
<tr>
<td>const <a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Create an oslHostAddr from given hostname and socket address.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strHostname</td>
<td><pre>The hostname to be stored.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Addr</td>
<td><pre>The socket address to be stored.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>The created address or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createHostAddrByAddr-810"> </a>osl_createHostAddrByAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslHostAddr.html">oslHostAddr</a> <strong>osl_createHostAddrByAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td>const <a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Create an oslHostAddr by reverse resolution of the given Addr.
Successful name resolution should result in the fully qualified
domain name (FQDN) and it's address as hostname and socket address
members of the resulting oslHostAddr.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Addr</td>
<td><pre>The socket address to be reverse resolved.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>The resulting address or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createHostAddrByName-809"> </a>osl_createHostAddrByName</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslHostAddr.html">oslHostAddr</a> <strong>osl_createHostAddrByName</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strHostname );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Create an oslHostAddr by resolving the given strHostname.
Successful name resolution should result in the fully qualified
domain name (FQDN) and it's address as hostname and socket address
members of the resulting oslHostAddr.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strHostname</td>
<td><pre>The hostname to be resolved.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>The resulting address or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createInetBroadcastAddr-796"> </a>osl_createInetBroadcastAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_createInetBroadcastAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strDottedAddr,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>Port );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Create an internet address usable for sending broadcast datagrams.
To limit the broadcast to your subnet, pass your hosts IP address
in dotted decimal notation as first argument.
</dd>
<dt>See Also</dt>
<dd><a href="o-socket.h.html#osl_sendToSocket-829">osl_sendToSocket()</a> <br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <br>
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strDottedAddr</td>
<td><pre>dotted decimal internet address, may be 0.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Port</td>
<td><pre>port number in host byte order.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>0 if address could not be created.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createInetSocketAddr-797"> </a>osl_createInetSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_createInetSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strDottedAddr,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>Port );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Create an internet-address, consisting of hostaddress and port.
We interpret strDottedAddr as a dotted-decimal inet-addr
(e.g. "141.99.128.50").
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strDottedAddr</td>
<td><pre>String with dotted address.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Port</td>
<td><pre>portnumber in host byte order.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>0 if address could not be created.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createSocket-819"> </a>osl_createSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocket.html">oslSocket</a> <strong>osl_createSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslAddrFamily.html">oslAddrFamily</a> </td>
<td> Family,</td>
</tr>
<tr>
<td><a href="t-oslSocketType.html">oslSocketType</a></td>
<td>Type,</td>
</tr>
<tr>
<td><a href="t-oslProtocol.html">oslProtocol</a></td>
<td>Protocol );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Create a socket of the specified Family and Type. The semantic of
the Protocol parameter depends on the given family and type.
</dd>
<dt>Return</dt>
<dd>0 if socket could not be created, otherwise you get a handle
to the allocated socket-datastructure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_createSocketSet-842"> </a>osl_createSocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketSet.html">oslSocketSet</a> <strong>osl_createSocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td>void </td>
<td>  );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Creates a set of sockets to be used with osl_demultiplexSocketEvents().
</dd>
<dt>Return</dt>
<dd>A oslSocketSet or 0 if creation failed.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_demultiplexSocketEvents-848"> </a>osl_demultiplexSocketEvents</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_demultiplexSocketEvents</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> IncomingSet,</td>
</tr>
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a></td>
<td>OutgoingSet,</td>
</tr>
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a></td>
<td>OutOfBandSet,</td>
</tr>
<tr>
<td>const <a href="t-TimeValue.html">TimeValue</a> *</td>
<td>pTimeout );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Checks multiple sockets for events.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">IncomingSet</td>
<td><pre>Checks the sockets in this set
for incoming events (read, accept). If the set is 0,
it is just skipped.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">OutgoingSet</td>
<td><pre>Checks the sockets in this set
for outgoing events (write, connect). If the set is 0,
it is just skipped.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">OutOfBandSet</td>
<td><pre>Checks the sockets in this set
for out-of-band events. If the set is 0, it is just skipped.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">msTimeout</td>
<td><pre>Number of milliseconds to wait for events. If
msTimeout is -1, the call will block until an event or an error
occurs.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>-1 on errors, otherwise the number of sockets with
pending events. In case of timeout, the number might be 0.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_destroyHostAddr-812"> </a>osl_destroyHostAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_destroyHostAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslHostAddr.html">oslHostAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Frees all resources allocated by Addr. The handle Addr must not
be used after the call anymore.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_destroySocketAddr-798"> </a>osl_destroySocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_destroySocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Frees all resources allocated by Addr. The handle Addr must not
be used after the call anymore.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_destroySocketSet-843"> </a>osl_destroySocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_destroySocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> Set );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Destroys a oslSocketSet.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_enableNonBlockingMode-836"> </a>osl_enableNonBlockingMode</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_enableNonBlockingMode</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-sal_Bool.html">sal_Bool</a></td>
<td>On );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Enables/disables non-blocking-mode of the socket.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>Change mode for this socket.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">On</td>
<td><pre><code>sal_True</code> enables non-blocking mode,
          <code>sal_False</code> disables non-blocking mode.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if mode could be changed.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getAddrOfSocketAddr-806"> </a>osl_getAddrOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_getAddrOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-sal_Sequence.html">sal_Sequence</a> * *</td>
<td>ppByteSeq );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Returns the addr field in the struct sockaddr.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">ppByteSeq</td>
<td><pre>out parameter. After the call, *ppByteSeq contains the ipadrress
                 in network byteorder. *ppByteSeq may be 0 in case of an invalid socket handle.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>osl_Socket_Ok</code> or <code>osl_Socket_Error</code>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getDottedInetAddrOfSocketAddr-804"> </a>osl_getDottedInetAddrOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_getDottedInetAddrOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * *</td>
<td>strDottedInetAddr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Gets the address in dotted decimal format.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strDottedInetAddr</td>
<td><pre>out-parameter. Contains the dotted decimal address
(e.g. 141.99.20.34) represented    by the address.
If the address is invalid or not of type <code>osl_Socket_FamilyInet</code>,
it returns 0.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>osl_Socket_Ok</code> or <code>osl_Socket_Error</code>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getFamilyOfSocketAddr-800"> </a>osl_getFamilyOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslAddrFamily.html">oslAddrFamily</a> <strong>osl_getFamilyOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Retrieves the address-family from the Addr.
</dd>
<dt>Return</dt>
<dd>the family of the socket-address.
In case of an unknown family you get <code>osl_Socket_FamilyInvalid</code>.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getHostnameOfHostAddr-813"> </a>osl_getHostnameOfHostAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_getHostnameOfHostAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td>const <a href="t-oslHostAddr.html">oslHostAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * *</td>
<td>strHostname );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Get the hostname member of Addr.
</dd>
<dt>Return</dt>
<dd>The hostname or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getHostnameOfSocketAddr-803"> </a>osl_getHostnameOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_getHostnameOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * *</td>
<td>strHostname );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Returns the hostname represented by Addr.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strHostname</td>
<td><pre>out-parameter. The hostname represented by the address. If
there is no hostname to be found, it returns 0.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getInetPortOfSocketAddr-801"> </a>osl_getInetPortOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_getInetPortOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Retrieves the internet port-number of Addr.
</dd>
<dt>Return</dt>
<dd>the port-number of the address in host-byte order. If Addr
is not an address of type <code>osl_Socket_FamilyInet</code>, it returns <code>OSL_INVALID_PORT</code>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getLastSocketError-840"> </a>osl_getLastSocketError</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketError.html">oslSocketError</a> <strong>osl_getLastSocketError</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>returns a constant decribing the last error for the socket system.
</dd>
<dt>Return</dt>
<dd><code>osl_Socket_E_NONE</code> if no error occured,
        <code>osl_invalid_SocketError</code> if    an unknown (unmapped)
        error occured, otherwise an enum describing the    error.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getLastSocketErrorDescription-839"> </a>osl_getLastSocketErrorDescription</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_getLastSocketErrorDescription</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * *</td>
<td>strError );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>returns  a string which describes the last socket error.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strError</td>
<td><pre>out-parameter. The string that receives the error message.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getLocalAddrOfSocket-820"> </a>osl_getLocalAddrOfSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_getLocalAddrOfSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Retrieves the Address of the local end of the socket.
Note that a socket must be bound or connected before
a vaild address can be returned.
</dd>
<dt>Return</dt>
<dd>0 if socket-address could not be created, otherwise you get
the created Socket-Address.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getLocalHostname-815"> </a>osl_getLocalHostname</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_getLocalHostname</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * * </td>
<td> strLocalHostname );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Retrieve this machines hostname.
May not always be a fully qualified domain name (FQDN).
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strLocalHostname</td>
<td><pre>out-parameter. The string that receives the local host name.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> upon success, <code>sal_False</code> otherwise.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getPeerAddrOfSocket-821"> </a>osl_getPeerAddrOfSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_getPeerAddrOfSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Retrieves the Address of the remote end of the socket.
Note that a socket must be connected before
a vaild address can be returned.
</dd>
<dt>Return</dt>
<dd>0 if socket-address could not be created, otherwise you get
the created Socket-Address.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getServicePort-799"> </a>osl_getServicePort</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_getServicePort</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strServicename,</td>
</tr>
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> *</td>
<td>strProtocol );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Looks up the port-number designated to the specified service/protocol-pair.
(e.g. "ftp" "tcp").
</dd>
<dt>Return</dt>
<dd>OSL_INVALID_PORT if no appropriate entry was found, otherwise the port-number.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getSocketAddrOfHostAddr-814"> </a>osl_getSocketAddrOfHostAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_getSocketAddrOfHostAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td>const <a href="t-oslHostAddr.html">oslHostAddr</a> </td>
<td> Addr );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Get the socket address member of Addr.
</dd>
<dt>Return</dt>
<dd>The socket address or 0 upon failure.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getSocketOption-834"> </a>osl_getSocketOption</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_getSocketOption</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketOptionLevel.html">oslSocketOptionLevel</a></td>
<td>Level,</td>
</tr>
<tr>
<td><a href="t-oslSocketOption.html">oslSocketOption</a></td>
<td>Option,</td>
</tr>
<tr>
<td>void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BufferLen );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Retrieves attributes associated with the socket.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>is the socket to query.

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Level</td>
<td><pre>selects the level for which an option should be queried.
Valid values are:
<ul>
<li> osl_sol_socket:    Socket Level
<li> osl_sol_tcp:        Level of Transmission Control Protocol
</ul>

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Option</td>
<td><pre>denotes the option to query.
Valid values (depending on the Level) are:
<ul>
<li> <code>osl_Socket_Option_Debug</code><br>
(sal_Bool) Socket debug flag 1 = enabled, 0 = disabled.
        
<li> <code>osl_Socket_OptionAcceptConn</code><br>
<li> <code>osl_Socket_OptionReuseAddr</code><br>
(sal_Bool) Allows the socket to be bound to an address that is
already in use.
1 = multiple bound allowed, 0 = no multiple bounds allowed
          
<li><code>osl_Socket_OptionKeepAlive</code><br>
(sal_Bool) Keepalive packets are sent by the underlying socket.
1 = enabled, 0 = disabled
          
<li><code>osl_Socket_OptionDontRoute</code><br>
(sal_Bool) Do not route: send directly to interface.
1 = do not route , 0 = routing possible
           
<li><code>osl_Socket_OptionBroadcast</code><br>
(sal_Bool) Transmission of broadcast messages are allowed on the socket. 
1 = transmission allowed, 0 = transmission disallowed
           
<li><code>osl_Socket_OptionUseLoopback</code><br>

<li><code>osl_Socket_OptionLinger</code><br>
(sal_Int32) Linger on close if unsent data is present.
0 = linger is off, > 0  = timeout in seconds.
          
<li><code>osl_Socket_OptionOOBinLine</code><br>
          

<li><code>osl_Socket_OptionSndBuf</code><br>
(sal_Int32) Size of the send buffer in bytes. Data is sent after
SndTimeo or when the buffer is full. This allows faster writing
to the socket.
        
<li><code>osl_Socket_OptionRcvBuf</code><br>
(sal_Int32) Size of the receive buffer in bytes. Data is sent after
SndTimeo or when the buffer is full. This allows faster writing
to the socket and larger packet sizes.
        
<li><code>osl_Socket_OptionSndLowat</code><br>
        
<li><code>osl_Socket_OptionRcvLowat</code><br>
        
<li><code>osl_Socket_OptionSndTimeo</code><br>
(sal_Int32) Data is sent after this timeout. This allows gathering
of data to send larger packages but increases latency times.
        
<li><code>osl_Socket_OptionRcvTimeo</code><br>
        
<li><code>osl_Socket_OptionError</code><br>
<li><code>osl_Socket_OptionType</code><br>

<li><code>osl_Socket_OptionTcpNoDelay</code><br>
Disables the Nagle algorithm for send coalescing. (Do not
collect data until a packet is full, instead send immediatly.
This increases network traffic but might improve latency-times.)
1 = disables the algorithm, 0 = keeps it enabled. 
</ul>
If not above mentioned otherwise, the options are only valid for
level <code>osl_Socket_LevelSocket</code>.

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Pointer to a buffer large enough to take the desired
attribute-value.

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BufferSize</td>
<td><pre>contains the length of the Buffer.

</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>-1 if an error occured or else the size of the data copied into
pBuffer.
</dd>
<dt>See Also</dt>
<dd><a href="o-socket.h.html#osl_setSocketOption-835">osl_setSocketOption()</a> <br>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_getSocketType-838"> </a>osl_getSocketType</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketType.html">oslSocketType</a> <strong>osl_getSocketType</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Queries the socket for its type.
</dd>
<dt>Return</dt>
<dd>one of:
<ul>
<li> osl_Socket_TypeStream
<li> osl_Socket_TypeDgram
<li> osl_Socket_TypeRaw
<li> osl_Socket_TypeRdm
<li> osl_Socket_TypeSeqPacket
<li> osl_invalid_SocketType, if an error occured
</ul>

</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isEqualSocketAddr-794"> </a>osl_isEqualSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isEqualSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr1,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>Addr2 );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Compares the values of two SocketAddresses.
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if both addresses denote the same socket address,
        <code>sal_False</code> otherwise.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isExceptionPending-832"> </a>osl_isExceptionPending</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isExceptionPending</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>const <a href="t-TimeValue.html">TimeValue</a> *</td>
<td>pTimeout );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Checks if a request for out-of-band data will block.
You can specify a timeout-value in seconds/microseconds that denotes
how long the operation will block if the Socket has no pending OOB data.
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if OOB-request operations (recv with appropriate flags)
on the Socket will NOT block; <code>sal_False</code> if it would block or if an error occured.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>the Socket to perfom the operation on.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pTimeout</td>
<td><pre>if NULL, the operation will block without a timeout. 
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isInSocketSet-847"> </a>osl_isInSocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isInSocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> Set,</td>
</tr>
<tr>
<td><a href="t-oslSocket.html">oslSocket</a></td>
<td>Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Checks if socket is in the set.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Set</td>
<td><pre>the set to be checked.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>check if this socket is in the set.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if socket is in the set.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isNonBlockingMode-837"> </a>osl_isNonBlockingMode</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isNonBlockingMode</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Query state of non-blocking-mode of the socket.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>Query mode for this socket.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>True if non-blocking-mode is enabled.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isReceiveReady-830"> </a>osl_isReceiveReady</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isReceiveReady</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>const <a href="t-TimeValue.html">TimeValue</a> *</td>
<td>pTimeout );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Checks if read operations will block.

</dd>
<dt>Description</dt>
<dd>You can specify a timeout-value in seconds/microseconds that denotes
how long the operation will block if the Socket is not ready.

</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if read operations (recv, recvFrom, accept) on the Socket
will NOT block; <code>sal_False</code> if it would block or if an error occured.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>the Socket to perfom the operation on.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pTimeout</td>
<td><pre>if NULL, the operation will block without a timeout. 
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_isSendReady-831"> </a>osl_isSendReady</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_isSendReady</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>const <a href="t-TimeValue.html">TimeValue</a> *</td>
<td>pTimeout );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Checks if send operations will block.
You can specify a timeout-value in seconds/microseconds that denotes
how long the operation will block if the Socket is not ready.
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if send operations (send, sendTo) on the Socket
will NOT block; <code>sal_False</code> if it would block or if an error occured.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>the Socket to perfom the operation on.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pTimeout</td>
<td><pre>if NULL, the operation will block without a timeout. Otherwise
the time define by timeout value.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_listenOnSocket-824"> </a>osl_listenOnSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_listenOnSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>MaxPendingConnections );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Prepares the socket to act as an acceptor of incoming connections.
You should call "listen" before you use "accept".
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">MaxPendingConnections</td>
<td><pre>denotes the length of the queue of
pending connections for this socket. If MaxPendingConnections is
-1, the systems default value will be used (Usually 5).
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_False</code> if the listen failed.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_readSocket-850"> </a>osl_readSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_readSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>nSize );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Retrieves n bytes from the stream and copies them into pBuffer.
The function avoids incomplete reads due to packet boundaries.        
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>receives the read data.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">n</td>
<td><pre>the number of bytes to read. pBuffer must be large enough
to hold the n bytes!
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of read bytes. The number will only be smaller than
n if an exceptional condition (e.g. connection closed) occurs. 
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_receiveFromSocket-827"> </a>osl_receiveFromSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_receiveFromSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>SenderAddr,</td>
</tr>
<tr>
<td>void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BufferSize,</td>
</tr>
<tr>
<td><a href="t-oslSocketMsgFlag.html">oslSocketMsgFlag</a></td>
<td>Flag );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Tries to receives BufferSize data from the (usually unconnected)
(datagram-)socket, if no error occurs.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>A bound socket to be used to listen for a datagram.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pSenderAddr</td>
<td><pre>An pointer to a created oslSocketAddr handle
or to a null handle. After the call, it will contain the constructed
oslSocketAddr of the datagrams sender. If pSenderAddr itself is 0,
it is ignored.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Points to a buffer that will be filled with the received
datagram.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BufferSize</td>
<td><pre>The size of pBuffer.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Flag</td>
<td><pre>Modifier for the call. Valid values are:
<ul>
<li><code>osl_Socket_MsgNormal</code>
<li><code>osl_Socket_MsgOOB</code>
<li><code>osl_Socket_MsgPeek</code>
<li><code>osl_Socket_MsgDontRoute</code>
<li><code>osl_Socket_MsgMaxIOVLen</code>
</ul>

</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of received bytes.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_receiveSocket-826"> </a>osl_receiveSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_receiveSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BytesToRead,</td>
</tr>
<tr>
<td><a href="t-oslSocketMsgFlag.html">oslSocketMsgFlag</a></td>
<td>Flag );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Tries to receive BytesToRead data from the connected socket,
if no error occurs. Note that incomplete recvs due to
packet boundaries may occur.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>A connected socket to be used to listen on.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Points to a buffer that will be filled with the received
data.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BytesToRead</td>
<td><pre>The number of bytes to read. pBuffer must have at least
this size.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Flag</td>
<td><pre>Modifier for the call. Valid values are:
<ul>
<li><code>osl_Socket_MsgNormal</code>
<li><code>osl_Socket_MsgOOB</code>
<li><code>osl_Socket_MsgPeek</code>
<li><code>osl_Socket_MsgDontRoute</code>
<li><code>osl_Socket_MsgMaxIOVLen</code>
</ul>

</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of received bytes.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_releaseSocket-818"> </a>osl_releaseSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_releaseSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>decreases the refcount of the socket handle by one.

</dd>
<dt>Description</dt>
<dd>    If the refcount drops to zero, the underlying socket handle
    is destroyed and becomes invalid.
 </dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_removeFromSocketSet-846"> </a>osl_removeFromSocketSet</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
void <strong>osl_removeFromSocketSet</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketSet.html">oslSocketSet</a> </td>
<td> Set,</td>
</tr>
<tr>
<td><a href="t-oslSocket.html">oslSocket</a></td>
<td>Socket );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Removes a socket from the set.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Set</td>
<td><pre>the set were the socket is removed from.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>the socket to be removed.
</pre></td>
</tr>
</table>
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_resolveHostname-795"> </a>osl_resolveHostname</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketAddr.html">oslSocketAddr</a> <strong>osl_resolveHostname</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-rtl_uString.html">rtl_uString</a> * </td>
<td> strHostname );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Uses the systems name-service interface to find an address for strHostname.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">strHostname</td>
<td><pre>The name for which you search for an address.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>The desired address if one could be found, otherwise 0.
Don't forget to destroy the address if you don't need it any longer.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_sendSocket-828"> </a>osl_sendSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_sendSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>const void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BytesToSend,</td>
</tr>
<tr>
<td><a href="t-oslSocketMsgFlag.html">oslSocketMsgFlag</a></td>
<td>Flag );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Tries to send BytesToSend data from the connected socket,
if no error occurs.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>A connected socket.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Points to a buffer that contains the send-data.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BytesToSend</td>
<td><pre>The number of bytes to send. pBuffer must have at least
this size.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Flag</td>
<td><pre>Modifier for the call. Valid values are:
<ul>
<li><code>osl_Socket_MsgNormal</code>
<li><code>osl_Socket_MsgOOB</code>
<li><code>osl_Socket_MsgPeek</code>
<li><code>osl_Socket_MsgDontRoute</code>
<li><code>osl_Socket_MsgMaxIOVLen</code>
</ul>

</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of transfered bytes.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_sendToSocket-829"> </a>osl_sendToSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_sendToSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a></td>
<td>ReceiverAddr,</td>
</tr>
<tr>
<td>const void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BytesToSend,</td>
</tr>
<tr>
<td><a href="t-oslSocketMsgFlag.html">oslSocketMsgFlag</a></td>
<td>Flag );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Description</dt>
<dd>Tries to send one datagram with BytesToSend data to the given ReceiverAddr
via the (implicitly unconnected) datagram-socket.
Since there is only sent one packet, the function sends the data always complete
even with incomplete packet boundaries.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>A bound or unbound socket. Socket will be bound
after a successful call.

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">ReceiverAddr</td>
<td><pre>An initialized oslSocketAddress that contains
the destination address for this send.

</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Points to a buffer that contains the send-data.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BytesToSend</td>
<td><pre>The number of bytes to send. pBuffer must have at least
this size.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Flag</td>
<td><pre>Modifier for the call. Valid values are:
<ul>
<li><code>osl_Socket_MsgNormal</code>
<li><code>osl_Socket_MsgOOB</code>
<li><code>osl_Socket_MsgPeek</code>
<li><code>osl_Socket_MsgDontRoute</code>
<li><code>osl_Socket_MsgMaxIOVLen</code>
</ul>

</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of transfered bytes.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_setAddrOfSocketAddr-805"> </a>osl_setAddrOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-oslSocketResult.html">oslSocketResult</a> <strong>osl_setAddrOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-sal_Sequence.html">sal_Sequence</a> *</td>
<td>pByteSeq );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Sets the addr field in the struct sockaddr with pByteSeq. pByteSeq must be in network byte order.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_setInetPortOfSocketAddr-802"> </a>osl_setInetPortOfSocketAddr</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_setInetPortOfSocketAddr</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocketAddr.html">oslSocketAddr</a> </td>
<td> Addr,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>Port );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Sets the Port of Addr.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Port</td>
<td><pre>is expected in host byte-order.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_False</code> if Addr is not an inet-addr.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_setSocketOption-835"> </a>osl_setSocketOption</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_setSocketOption</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketOptionLevel.html">oslSocketOptionLevel</a></td>
<td>Level,</td>
</tr>
<tr>
<td><a href="t-oslSocketOption.html">oslSocketOption</a></td>
<td>Option,</td>
</tr>
<tr>
<td>void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_uInt32.html">sal_uInt32</a></td>
<td>BufferLen );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Sets the sockets attributes.

</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Socket</td>
<td><pre>is the socket to modify.

    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Level</td>
<td><pre>selects the level for which an option should be changed.
    Valid values are:
    <ul>
    <li> osl_sol_socket:    Socket Level
    <li> osl_sol_tcp:        Level of Transmission Control Protocol
    </ul>
    
    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Option</td>
<td><pre>denotes the option to modify. See osl_setSocketOption() for more
    details.
    
    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>Pointer to a Buffer which contains the attribute-value.

    </pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">BufferSize</td>
<td><pre>contains the length of the Buffer.

    </pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>True if the option could be changed.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_shutdownSocket-833"> </a>osl_shutdownSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Bool.html">sal_Bool</a> <strong>osl_shutdownSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td><a href="t-oslSocketDirection.html">oslSocketDirection</a></td>
<td>Direction );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Shuts down communication on a connected socket.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">Direction</td>
<td><pre>denotes which end of the socket
should be closed:
<ul>
<li> <code>osl_Socket_DirRead</code>    closes read operations.
<li> <code>osl_Socket_DirReadWrite</code> closes write operations.
<li> <code>osl_Socket_DirWrite</code> closes read and write operations.
</ul>
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd><code>sal_True</code> if the socket could be closed down.
</dd>
</dl>
</dd>
</dl>
<hr>
<dl class="member">
<dt class="member"><a name="osl_writeSocket-851"> </a>osl_writeSocket</dt>
<dd class="member"><dl>
<dt class="simple">extern &quot;C&quot;<br>
<a href="t-sal_Int32.html">sal_Int32</a> <strong>osl_writeSocket</strong>(</dt>
<dd><table class="param-table">
<tr>
<td><a href="t-oslSocket.html">oslSocket</a> </td>
<td> Socket,</td>
</tr>
<tr>
<td>const void *</td>
<td>pBuffer,</td>
</tr>
<tr>
<td><a href="t-sal_Int32.html">sal_Int32</a></td>
<td>nSize );</td>
</tr>
</table>
</dd>
</dl>
<br>
</dd>
<dd class="member"><table class="flag-table" border="1" cellspacing="0">
<tr>
<td width="12%" class="flagname">virtual</td>
<td width="12%" class="flagname">abstract</td>
<td width="12%" class="flagname">const</td>
<td width="12%" class="flagname">volatile</td>
<td width="12%" class="flagname">template</td>
<td width="12%" class="flagname">static</td>
<td width="12%" class="flagname">inline</td>
<td width="12%" class="flagname">C-linkage</td>
</tr>
<tr>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagno">NO</td>
<td class="flagyes">YES</td>
</tr>
</table>
<br>
</dd>
<dd class="member"><dl>
<dt>Summary</dt>
<dd>Writes n bytes from pBuffer to the stream. The method avoids 
incomplete writes due to packet boundaries.
</dd>
<dt>Parameters</dt>
<dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table">
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">pBuffer</td>
<td><pre>contains the data to be written.
</pre></td>
</tr>
<tr>
<td width="15%" style="vertical-align:top; font-weight:bold">n</td>
<td><pre>the number of bytes to write.
</pre></td>
</tr>
</table>
</dd>
<dt>Return</dt>
<dd>the number of written bytes. The number will only be smaller than
n if an exceptional condition (e.g. connection closed) occurs.                
</dd>
</dl>
</dd>
</dl>
<hr>
<a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright &copy; 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p>

</div> <!-- id="adc-cppref" -->
</body>

</html>