<html> <head> <title>Methods of Class StreamSocket</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"> <a href="../../../index.html">Overview</a> </td> <td class="navimain"> <a href="../index.html">Namespace</a> </td> <td class="navimain"> <a href="../c-StreamSocket.html">Class</a> </td> <td class="navimain"> <a href="../../../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../../../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"></table> <hr> <div class="title"><h2>Methods of Class StreamSocket</h2> </div><hr> <dl class="member"> <dt class="member"><a name="StreamSocket-200"> </a>StreamSocket</dt> <dd class="member"><dl> <dt class="simple"> <strong>StreamSocket</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="../../t-oslAddrFamily.html">oslAddrFamily</a> </td> <td> Family = osl_Socket_FamilyInet,</td> </tr> <tr> <td><a href="../../t-oslProtocol.html">oslProtocol</a></td> <td>Protocol = osl_Socket_ProtocolIp,</td> </tr> <tr> <td><a href="../../t-oslSocketType.html">oslSocketType</a></td> <td>Type = osl_Socket_TypeStream );</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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Creates a 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">Type</td> <td><pre>For some protocols it might be desirable to use a different type than <code>osl_Socket_TypeStream</code> (like <code>osl_Socket_TypeSeqPacket</code>). Therefore this parameter is not hidden. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="StreamSocket-201"> </a>StreamSocket</dt> <dd class="member"><dl> <dt class="simple"> <strong>StreamSocket</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="../../osl/c-StreamSocket.html">StreamSocket</a> & </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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"/></dl> <hr> <dl class="member"> <dt class="member"><a name="StreamSocket-202"> </a>StreamSocket</dt> <dd class="member"><dl> <dt class="simple"> <strong>StreamSocket</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="../../e-__sal_NoAcquire.html">__sal_NoAcquire</a></td> <td>noacquire );</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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"/></dl> <hr> <dl class="member"> <dt class="member"><a name="StreamSocket-203"> </a>StreamSocket</dt> <dd class="member"><dl> <dt class="simple"> <strong>StreamSocket</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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"/></dl> <hr> <dl class="member"> <dt class="member"><a name="read-204"> </a>read</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Int32.html">sal_Int32</a> <strong>read</strong>(</dt> <dd><table class="param-table"> <tr> <td>void * </td> <td> pBuffer,</td> </tr> <tr> <td><a href="../../t-sal_uInt32.html">sal_uInt32</a></td> <td>n );</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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Description</dt> <dd>Retrieves n bytes from the stream and copies them into pBuffer. The method avoids incomplete reads due to packet boundaries and is thus blocking. </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. pBuffer must be large enough to hold n bytes. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">n</td> <td><pre>the number of bytes to read. </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="write-205"> </a>write</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Int32.html">sal_Int32</a> <strong>write</strong>(</dt> <dd><table class="param-table"> <tr> <td>const void * </td> <td> pBuffer,</td> </tr> <tr> <td><a href="../../t-sal_uInt32.html">sal_uInt32</a></td> <td>n );</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="flagyes">YES</td> <td class="flagno">NO</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 and is thus blocking. </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> <dl class="member"> <dt class="member"><a name="recv-206"> </a>recv</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Int32.html">sal_Int32</a> <strong>recv</strong>(</dt> <dd><table class="param-table"> <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>flags = osl_Socket_MsgNormal );</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="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Tries to receive BytesToRead data from the 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">pBuffer</td> <td><pre>Points to a buffer that will be filled with the received data. pBuffer must have at least have a size of BytesToRead. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">BytesToRead</td> <td><pre>The number of bytes to read. </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, which may be less than BytesToRead. </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="send-207"> </a>send</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Int32.html">sal_Int32</a> <strong>send</strong>(</dt> <dd><table class="param-table"> <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> = osl_Socket_MsgNormal );</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="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Tries to send BytesToSend data to the 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">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. It may be less than BytesToSend. </dd> </dl> </dd> </dl> <hr> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2008 Sun Microsystems, Inc.</p> </div> <!-- id="adc-cppref" --> </body> </html>