Home | History | Annotate | Download | only in oscl_html
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      3 <title>osclconfig_io.h File Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
      9 <hr><h1>osclconfig_io.h File Reference</h1>This file contains common typedefs based on the ANSI C limits.h header. 
     10 <a href="#_details">More...</a>
     11 <p>
     12 <code>#include "<a class="el" href="osclconfig_8h-source.html">osclconfig.h</a>"</code><br>
     13 <code>#include &lt;stdio.h&gt;</code><br>
     14 <code>#include &lt;stdlib.h&gt;</code><br>
     15 <code>#include &lt;stdarg.h&gt;</code><br>
     16 <code>#include &lt;sys/socket.h&gt;</code><br>
     17 <code>#include &lt;netinet/in.h&gt;</code><br>
     18 <code>#include &lt;arpa/inet.h&gt;</code><br>
     19 <code>#include &lt;fcntl.h&gt;</code><br>
     20 <code>#include &lt;signal.h&gt;</code><br>
     21 <code>#include &lt;netdb.h&gt;</code><br>
     22 <code>#include &lt;sys/mman.h&gt;</code><br>
     23 <code>#include &lt;sys/types.h&gt;</code><br>
     24 <code>#include &lt;errno.h&gt;</code><br>
     25 <code>#include &lt;sys/vfs.h&gt;</code><br>
     26 <code>#include &lt;dirent.h&gt;</code><br>
     27 <code>#include &lt;sys/stat.h&gt;</code><br>
     28 <code>#include "<a class="el" href="osclconfig__io__check_8h-source.html">osclconfig_io_check.h</a>"</code><br>
     29 
     30 <p>
     31 <a href="osclconfig__io_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
     32 <tr><td></td></tr>
     33 <tr><td colspan=2><br><h2>Defines</h2></td></tr>
     34 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a0">OSCL_HAS_GLOB</a>&nbsp;&nbsp;&nbsp;0</td></tr>
     35 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a1">OSCL_HAS_ANSI_FILE_IO_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     36 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a2">OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION</a>&nbsp;&nbsp;&nbsp;0</td></tr>
     37 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a3">OSCL_HAS_NATIVE_FILE_CACHE_ENABLE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     38 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a4">OSCL_FILE_BUFFER_MAX_SIZE</a>&nbsp;&nbsp;&nbsp;32768</td></tr>
     39 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a5">OSCL_HAS_PV_FILE_CACHE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
     40 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a6">OSCL_HAS_LARGE_FILE_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     41 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a7">OSCL_HAS_SYMBIAN_SOCKET_SERVER</a>&nbsp;&nbsp;&nbsp;0</td></tr>
     42 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a8">OSCL_HAS_SYMBIAN_DNS_SERVER</a>&nbsp;&nbsp;&nbsp;0</td></tr>
     43 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a9">OSCL_HAS_BERKELEY_SOCKETS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     44 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a10">OSCL_HAS_SOCKET_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     45 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a11">OsclValidInetAddr</a>(addr)&nbsp;&nbsp;&nbsp;(inet_addr(addr)!=INADDR_NONE)</td></tr>
     46 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a12">OsclMakeSockAddr</a>(sockaddr, port, addrstr, ok)</td></tr>
     47 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a13">OsclUnMakeSockAddr</a>(sockaddr, addrstr)&nbsp;&nbsp;&nbsp;addrstr=inet_ntoa(sockaddr.sin_addr);</td></tr>
     48 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a14">OsclSetRecvBufferSize</a>(s, val, ok, err)</td></tr>
     49 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a15">OsclBind</a>(s, addr, ok, err)</td></tr>
     50 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a16">OsclJoin</a>(s, addr, ok, err)</td></tr>
     51 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a17">OsclListen</a>(s, size, ok, err)</td></tr>
     52 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a18">OsclAccept</a>(s, accept_s, ok, err, wouldblock)</td></tr>
     53 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a19">OsclSetNonBlocking</a>(s, ok, err)</td></tr>
     54 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a20">OsclShutdown</a>(s, how, ok, err)</td></tr>
     55 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a21">OsclSocket</a>(s, fam, type, prot, ok, err)</td></tr>
     56 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a22">OsclSendTo</a>(s, buf, len, addr, ok, err, nbytes, wouldblock)</td></tr>
     57 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a23">OsclSend</a>(s, buf, len, ok, err, nbytes, wouldblock)</td></tr>
     58 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a24">OsclCloseSocket</a>(s, ok, err)</td></tr>
     59 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a25">OsclConnect</a>(s, addr, ok, err, wouldblock)</td></tr>
     60 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a26">OsclGetAsyncSockErr</a>(s, ok, err)</td></tr>
     61 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a27">OsclConnectComplete</a>(s, wset, eset, success, fail, ok, err)</td></tr>
     62 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a28">OsclRecv</a>(s, buf, len, ok, err, nbytes, wouldblock)</td></tr>
     63 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a29">OsclRecvFrom</a>(s, buf, len, paddr, paddrlen, ok, err, nbytes, wouldblock)</td></tr>
     64 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a30">OsclSocketSelect</a>(nfds, rd, wr, ex, timeout, ok, err, nhandles)</td></tr>
     65 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a31">OsclSocketStartup</a>(ok)</td></tr>
     66 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a32">OsclSocketCleanup</a>(ok)</td></tr>
     67 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a33">OsclGethostbyname</a>(name, hostent, ok, err)</td></tr>
     68 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a34">OsclGetDottedAddr</a>(hostent, dottedaddr, ok)</td></tr>
     69 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a35">OSCL_SD_RECEIVE</a>&nbsp;&nbsp;&nbsp;SHUT_RD</td></tr>
     70 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a36">OSCL_SD_SEND</a>&nbsp;&nbsp;&nbsp;SHUT_WR</td></tr>
     71 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a37">OSCL_SD_BOTH</a>&nbsp;&nbsp;&nbsp;SHUT_RDWR</td></tr>
     72 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a38">OSCL_AF_INET</a>&nbsp;&nbsp;&nbsp;AF_INET</td></tr>
     73 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a39">OSCL_SOCK_STREAM</a>&nbsp;&nbsp;&nbsp;SOCK_STREAM</td></tr>
     74 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a40">OSCL_SOCK_DATAGRAM</a>&nbsp;&nbsp;&nbsp;SOCK_DGRAM</td></tr>
     75 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a41">OSCL_IPPROTO_TCP</a>&nbsp;&nbsp;&nbsp;IPPROTO_TCP</td></tr>
     76 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a42">OSCL_IPPROTO_UDP</a>&nbsp;&nbsp;&nbsp;IPPROTO_UDP</td></tr>
     77 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a43">_FILE_OFFSET_BITS</a>&nbsp;&nbsp;&nbsp;64</td></tr>
     78 <tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
     79 <tr><td nowrap align=right valign=top>typedef int&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a44">TOsclSocket</a></td></tr>
     80 <tr><td nowrap align=right valign=top>typedef sockaddr_in&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a></td></tr>
     81 <tr><td nowrap align=right valign=top>typedef socklen_t&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a46">TOsclSockAddrLen</a></td></tr>
     82 <tr><td nowrap align=right valign=top>typedef hostent&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a47">TOsclHostent</a></td></tr>
     83 <tr><td nowrap align=right valign=top>typedef off_t&nbsp;</td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a></td></tr>
     84 </table>
     85 <hr><a name="_details"></a><h2>Detailed Description</h2>
     86 This file contains common typedefs based on the ANSI C limits.h header.
     87 <p>
     88  This header file should work for any ANSI C compiler to determine the proper native C types to use for OSCL integer types.
     89 <p>
     90 <hr><h2>Define Documentation</h2>
     91 <a name="a43" doxytag="osclconfig_io.h::_FILE_OFFSET_BITS"></a><p>
     92 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     93   <tr>
     94     <td class="md">
     95       <table cellpadding="0" cellspacing="0" border="0">
     96         <tr>
     97           <td class="md" nowrap valign="top"> #define _FILE_OFFSET_BITS&nbsp;&nbsp;&nbsp;64
     98       </table>
     99     </td>
    100   </tr>
    101 </table>
    102 <table cellspacing=5 cellpadding=0 border=0>
    103   <tr>
    104     <td>
    105       &nbsp;
    106     </td>
    107     <td>
    108 
    109 <p>
    110     </td>
    111   </tr>
    112 </table>
    113 <a name="a38" doxytag="osclconfig_io.h::OSCL_AF_INET"></a><p>
    114 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    115   <tr>
    116     <td class="md">
    117       <table cellpadding="0" cellspacing="0" border="0">
    118         <tr>
    119           <td class="md" nowrap valign="top"> #define OSCL_AF_INET&nbsp;&nbsp;&nbsp;AF_INET
    120       </table>
    121     </td>
    122   </tr>
    123 </table>
    124 <table cellspacing=5 cellpadding=0 border=0>
    125   <tr>
    126     <td>
    127       &nbsp;
    128     </td>
    129     <td>
    130 
    131 <p>
    132     </td>
    133   </tr>
    134 </table>
    135 <a name="a4" doxytag="osclconfig_io.h::OSCL_FILE_BUFFER_MAX_SIZE"></a><p>
    136 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    137   <tr>
    138     <td class="md">
    139       <table cellpadding="0" cellspacing="0" border="0">
    140         <tr>
    141           <td class="md" nowrap valign="top"> #define OSCL_FILE_BUFFER_MAX_SIZE&nbsp;&nbsp;&nbsp;32768
    142       </table>
    143     </td>
    144   </tr>
    145 </table>
    146 <table cellspacing=5 cellpadding=0 border=0>
    147   <tr>
    148     <td>
    149       &nbsp;
    150     </td>
    151     <td>
    152 
    153 <p>
    154     </td>
    155   </tr>
    156 </table>
    157 <a name="a1" doxytag="osclconfig_io.h::OSCL_HAS_ANSI_FILE_IO_SUPPORT"></a><p>
    158 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    159   <tr>
    160     <td class="md">
    161       <table cellpadding="0" cellspacing="0" border="0">
    162         <tr>
    163           <td class="md" nowrap valign="top"> #define OSCL_HAS_ANSI_FILE_IO_SUPPORT&nbsp;&nbsp;&nbsp;1
    164       </table>
    165     </td>
    166   </tr>
    167 </table>
    168 <table cellspacing=5 cellpadding=0 border=0>
    169   <tr>
    170     <td>
    171       &nbsp;
    172     </td>
    173     <td>
    174 
    175 <p>
    176     </td>
    177   </tr>
    178 </table>
    179 <a name="a9" doxytag="osclconfig_io.h::OSCL_HAS_BERKELEY_SOCKETS"></a><p>
    180 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    181   <tr>
    182     <td class="md">
    183       <table cellpadding="0" cellspacing="0" border="0">
    184         <tr>
    185           <td class="md" nowrap valign="top"> #define OSCL_HAS_BERKELEY_SOCKETS&nbsp;&nbsp;&nbsp;1
    186       </table>
    187     </td>
    188   </tr>
    189 </table>
    190 <table cellspacing=5 cellpadding=0 border=0>
    191   <tr>
    192     <td>
    193       &nbsp;
    194     </td>
    195     <td>
    196 
    197 <p>
    198     </td>
    199   </tr>
    200 </table>
    201 <a name="a0" doxytag="osclconfig_io.h::OSCL_HAS_GLOB"></a><p>
    202 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    203   <tr>
    204     <td class="md">
    205       <table cellpadding="0" cellspacing="0" border="0">
    206         <tr>
    207           <td class="md" nowrap valign="top"> #define OSCL_HAS_GLOB&nbsp;&nbsp;&nbsp;0
    208       </table>
    209     </td>
    210   </tr>
    211 </table>
    212 <table cellspacing=5 cellpadding=0 border=0>
    213   <tr>
    214     <td>
    215       &nbsp;
    216     </td>
    217     <td>
    218 
    219 <p>
    220     </td>
    221   </tr>
    222 </table>
    223 <a name="a6" doxytag="osclconfig_io.h::OSCL_HAS_LARGE_FILE_SUPPORT"></a><p>
    224 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    225   <tr>
    226     <td class="md">
    227       <table cellpadding="0" cellspacing="0" border="0">
    228         <tr>
    229           <td class="md" nowrap valign="top"> #define OSCL_HAS_LARGE_FILE_SUPPORT&nbsp;&nbsp;&nbsp;1
    230       </table>
    231     </td>
    232   </tr>
    233 </table>
    234 <table cellspacing=5 cellpadding=0 border=0>
    235   <tr>
    236     <td>
    237       &nbsp;
    238     </td>
    239     <td>
    240 
    241 <p>
    242     </td>
    243   </tr>
    244 </table>
    245 <a name="a3" doxytag="osclconfig_io.h::OSCL_HAS_NATIVE_FILE_CACHE_ENABLE"></a><p>
    246 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    247   <tr>
    248     <td class="md">
    249       <table cellpadding="0" cellspacing="0" border="0">
    250         <tr>
    251           <td class="md" nowrap valign="top"> #define OSCL_HAS_NATIVE_FILE_CACHE_ENABLE&nbsp;&nbsp;&nbsp;1
    252       </table>
    253     </td>
    254   </tr>
    255 </table>
    256 <table cellspacing=5 cellpadding=0 border=0>
    257   <tr>
    258     <td>
    259       &nbsp;
    260     </td>
    261     <td>
    262 
    263 <p>
    264     </td>
    265   </tr>
    266 </table>
    267 <a name="a5" doxytag="osclconfig_io.h::OSCL_HAS_PV_FILE_CACHE"></a><p>
    268 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    269   <tr>
    270     <td class="md">
    271       <table cellpadding="0" cellspacing="0" border="0">
    272         <tr>
    273           <td class="md" nowrap valign="top"> #define OSCL_HAS_PV_FILE_CACHE&nbsp;&nbsp;&nbsp;0
    274       </table>
    275     </td>
    276   </tr>
    277 </table>
    278 <table cellspacing=5 cellpadding=0 border=0>
    279   <tr>
    280     <td>
    281       &nbsp;
    282     </td>
    283     <td>
    284 
    285 <p>
    286     </td>
    287   </tr>
    288 </table>
    289 <a name="a10" doxytag="osclconfig_io.h::OSCL_HAS_SOCKET_SUPPORT"></a><p>
    290 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    291   <tr>
    292     <td class="md">
    293       <table cellpadding="0" cellspacing="0" border="0">
    294         <tr>
    295           <td class="md" nowrap valign="top"> #define OSCL_HAS_SOCKET_SUPPORT&nbsp;&nbsp;&nbsp;1
    296       </table>
    297     </td>
    298   </tr>
    299 </table>
    300 <table cellspacing=5 cellpadding=0 border=0>
    301   <tr>
    302     <td>
    303       &nbsp;
    304     </td>
    305     <td>
    306 
    307 <p>
    308     </td>
    309   </tr>
    310 </table>
    311 <a name="a2" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION"></a><p>
    312 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    313   <tr>
    314     <td class="md">
    315       <table cellpadding="0" cellspacing="0" border="0">
    316         <tr>
    317           <td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION&nbsp;&nbsp;&nbsp;0
    318       </table>
    319     </td>
    320   </tr>
    321 </table>
    322 <table cellspacing=5 cellpadding=0 border=0>
    323   <tr>
    324     <td>
    325       &nbsp;
    326     </td>
    327     <td>
    328 
    329 <p>
    330     </td>
    331   </tr>
    332 </table>
    333 <a name="a8" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_DNS_SERVER"></a><p>
    334 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    335   <tr>
    336     <td class="md">
    337       <table cellpadding="0" cellspacing="0" border="0">
    338         <tr>
    339           <td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_DNS_SERVER&nbsp;&nbsp;&nbsp;0
    340       </table>
    341     </td>
    342   </tr>
    343 </table>
    344 <table cellspacing=5 cellpadding=0 border=0>
    345   <tr>
    346     <td>
    347       &nbsp;
    348     </td>
    349     <td>
    350 
    351 <p>
    352     </td>
    353   </tr>
    354 </table>
    355 <a name="a7" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_SOCKET_SERVER"></a><p>
    356 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    357   <tr>
    358     <td class="md">
    359       <table cellpadding="0" cellspacing="0" border="0">
    360         <tr>
    361           <td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_SOCKET_SERVER&nbsp;&nbsp;&nbsp;0
    362       </table>
    363     </td>
    364   </tr>
    365 </table>
    366 <table cellspacing=5 cellpadding=0 border=0>
    367   <tr>
    368     <td>
    369       &nbsp;
    370     </td>
    371     <td>
    372 
    373 <p>
    374     </td>
    375   </tr>
    376 </table>
    377 <a name="a41" doxytag="osclconfig_io.h::OSCL_IPPROTO_TCP"></a><p>
    378 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    379   <tr>
    380     <td class="md">
    381       <table cellpadding="0" cellspacing="0" border="0">
    382         <tr>
    383           <td class="md" nowrap valign="top"> #define OSCL_IPPROTO_TCP&nbsp;&nbsp;&nbsp;IPPROTO_TCP
    384       </table>
    385     </td>
    386   </tr>
    387 </table>
    388 <table cellspacing=5 cellpadding=0 border=0>
    389   <tr>
    390     <td>
    391       &nbsp;
    392     </td>
    393     <td>
    394 
    395 <p>
    396     </td>
    397   </tr>
    398 </table>
    399 <a name="a42" doxytag="osclconfig_io.h::OSCL_IPPROTO_UDP"></a><p>
    400 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    401   <tr>
    402     <td class="md">
    403       <table cellpadding="0" cellspacing="0" border="0">
    404         <tr>
    405           <td class="md" nowrap valign="top"> #define OSCL_IPPROTO_UDP&nbsp;&nbsp;&nbsp;IPPROTO_UDP
    406       </table>
    407     </td>
    408   </tr>
    409 </table>
    410 <table cellspacing=5 cellpadding=0 border=0>
    411   <tr>
    412     <td>
    413       &nbsp;
    414     </td>
    415     <td>
    416 
    417 <p>
    418     </td>
    419   </tr>
    420 </table>
    421 <a name="a37" doxytag="osclconfig_io.h::OSCL_SD_BOTH"></a><p>
    422 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    423   <tr>
    424     <td class="md">
    425       <table cellpadding="0" cellspacing="0" border="0">
    426         <tr>
    427           <td class="md" nowrap valign="top"> #define OSCL_SD_BOTH&nbsp;&nbsp;&nbsp;SHUT_RDWR
    428       </table>
    429     </td>
    430   </tr>
    431 </table>
    432 <table cellspacing=5 cellpadding=0 border=0>
    433   <tr>
    434     <td>
    435       &nbsp;
    436     </td>
    437     <td>
    438 
    439 <p>
    440     </td>
    441   </tr>
    442 </table>
    443 <a name="a35" doxytag="osclconfig_io.h::OSCL_SD_RECEIVE"></a><p>
    444 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    445   <tr>
    446     <td class="md">
    447       <table cellpadding="0" cellspacing="0" border="0">
    448         <tr>
    449           <td class="md" nowrap valign="top"> #define OSCL_SD_RECEIVE&nbsp;&nbsp;&nbsp;SHUT_RD
    450       </table>
    451     </td>
    452   </tr>
    453 </table>
    454 <table cellspacing=5 cellpadding=0 border=0>
    455   <tr>
    456     <td>
    457       &nbsp;
    458     </td>
    459     <td>
    460 
    461 <p>
    462     </td>
    463   </tr>
    464 </table>
    465 <a name="a36" doxytag="osclconfig_io.h::OSCL_SD_SEND"></a><p>
    466 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    467   <tr>
    468     <td class="md">
    469       <table cellpadding="0" cellspacing="0" border="0">
    470         <tr>
    471           <td class="md" nowrap valign="top"> #define OSCL_SD_SEND&nbsp;&nbsp;&nbsp;SHUT_WR
    472       </table>
    473     </td>
    474   </tr>
    475 </table>
    476 <table cellspacing=5 cellpadding=0 border=0>
    477   <tr>
    478     <td>
    479       &nbsp;
    480     </td>
    481     <td>
    482 
    483 <p>
    484     </td>
    485   </tr>
    486 </table>
    487 <a name="a40" doxytag="osclconfig_io.h::OSCL_SOCK_DATAGRAM"></a><p>
    488 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    489   <tr>
    490     <td class="md">
    491       <table cellpadding="0" cellspacing="0" border="0">
    492         <tr>
    493           <td class="md" nowrap valign="top"> #define OSCL_SOCK_DATAGRAM&nbsp;&nbsp;&nbsp;SOCK_DGRAM
    494       </table>
    495     </td>
    496   </tr>
    497 </table>
    498 <table cellspacing=5 cellpadding=0 border=0>
    499   <tr>
    500     <td>
    501       &nbsp;
    502     </td>
    503     <td>
    504 
    505 <p>
    506     </td>
    507   </tr>
    508 </table>
    509 <a name="a39" doxytag="osclconfig_io.h::OSCL_SOCK_STREAM"></a><p>
    510 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    511   <tr>
    512     <td class="md">
    513       <table cellpadding="0" cellspacing="0" border="0">
    514         <tr>
    515           <td class="md" nowrap valign="top"> #define OSCL_SOCK_STREAM&nbsp;&nbsp;&nbsp;SOCK_STREAM
    516       </table>
    517     </td>
    518   </tr>
    519 </table>
    520 <table cellspacing=5 cellpadding=0 border=0>
    521   <tr>
    522     <td>
    523       &nbsp;
    524     </td>
    525     <td>
    526 
    527 <p>
    528     </td>
    529   </tr>
    530 </table>
    531 <a name="a18" doxytag="osclconfig_io.h::OsclAccept"></a><p>
    532 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    533   <tr>
    534     <td class="md">
    535       <table cellpadding="0" cellspacing="0" border="0">
    536         <tr>
    537           <td class="md" nowrap valign="top"> #define OsclAccept</td>
    538           <td class="md" valign="top">(&nbsp;</td>
    539           <td class="md" nowrap valign="top">s,         <tr>
    540           <td></td>
    541           <td></td>
    542           <td class="md" nowrap>accept_s,         <tr>
    543           <td></td>
    544           <td></td>
    545           <td class="md" nowrap>ok,         <tr>
    546           <td></td>
    547           <td></td>
    548           <td class="md" nowrap>err,         <tr>
    549           <td></td>
    550           <td></td>
    551           <td class="md" nowrap>wouldblock&nbsp;</td>
    552           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    553           <td class="md" valign="top">)&nbsp;</td>
    554           <td class="md" nowrap>
    555       </table>
    556     </td>
    557   </tr>
    558 </table>
    559 <table cellspacing=5 cellpadding=0 border=0>
    560   <tr>
    561     <td>
    562       &nbsp;
    563     </td>
    564     <td>
    565 
    566 <p>
    567 <b>Value:</b><div class="fragment"><pre>accept_s=accept(s,<a class="code" href="group__osclbase.html#a81">NULL</a>,<a class="code" href="group__osclbase.html#a81">NULL</a>);\
    568         ok=(accept_s!=(-1));\
    569         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div>    </td>
    570   </tr>
    571 </table>
    572 <a name="a15" doxytag="osclconfig_io.h::OsclBind"></a><p>
    573 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    574   <tr>
    575     <td class="md">
    576       <table cellpadding="0" cellspacing="0" border="0">
    577         <tr>
    578           <td class="md" nowrap valign="top"> #define OsclBind</td>
    579           <td class="md" valign="top">(&nbsp;</td>
    580           <td class="md" nowrap valign="top">s,         <tr>
    581           <td></td>
    582           <td></td>
    583           <td class="md" nowrap>addr,         <tr>
    584           <td></td>
    585           <td></td>
    586           <td class="md" nowrap>ok,         <tr>
    587           <td></td>
    588           <td></td>
    589           <td class="md" nowrap>err&nbsp;</td>
    590           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    591           <td class="md" valign="top">)&nbsp;</td>
    592           <td class="md" nowrap>
    593       </table>
    594     </td>
    595   </tr>
    596 </table>
    597 <table cellspacing=5 cellpadding=0 border=0>
    598   <tr>
    599     <td>
    600       &nbsp;
    601     </td>
    602     <td>
    603 
    604 <p>
    605 <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
    606     sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
    607         ok=(bind(s,sadr,<span class="keyword">sizeof</span>(addr))!=(-1));\
    608         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
    609   </tr>
    610 </table>
    611 <a name="a24" doxytag="osclconfig_io.h::OsclCloseSocket"></a><p>
    612 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    613   <tr>
    614     <td class="md">
    615       <table cellpadding="0" cellspacing="0" border="0">
    616         <tr>
    617           <td class="md" nowrap valign="top"> #define OsclCloseSocket</td>
    618           <td class="md" valign="top">(&nbsp;</td>
    619           <td class="md" nowrap valign="top">s,         <tr>
    620           <td></td>
    621           <td></td>
    622           <td class="md" nowrap>ok,         <tr>
    623           <td></td>
    624           <td></td>
    625           <td class="md" nowrap>err&nbsp;</td>
    626           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    627           <td class="md" valign="top">)&nbsp;</td>
    628           <td class="md" nowrap>
    629       </table>
    630     </td>
    631   </tr>
    632 </table>
    633 <table cellspacing=5 cellpadding=0 border=0>
    634   <tr>
    635     <td>
    636       &nbsp;
    637     </td>
    638     <td>
    639 
    640 <p>
    641 <b>Value:</b><div class="fragment"><pre>ok=(close(s)!=(-1));\
    642         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
    643   </tr>
    644 </table>
    645 <a name="a25" doxytag="osclconfig_io.h::OsclConnect"></a><p>
    646 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    647   <tr>
    648     <td class="md">
    649       <table cellpadding="0" cellspacing="0" border="0">
    650         <tr>
    651           <td class="md" nowrap valign="top"> #define OsclConnect</td>
    652           <td class="md" valign="top">(&nbsp;</td>
    653           <td class="md" nowrap valign="top">s,         <tr>
    654           <td></td>
    655           <td></td>
    656           <td class="md" nowrap>addr,         <tr>
    657           <td></td>
    658           <td></td>
    659           <td class="md" nowrap>ok,         <tr>
    660           <td></td>
    661           <td></td>
    662           <td class="md" nowrap>err,         <tr>
    663           <td></td>
    664           <td></td>
    665           <td class="md" nowrap>wouldblock&nbsp;</td>
    666           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    667           <td class="md" valign="top">)&nbsp;</td>
    668           <td class="md" nowrap>
    669       </table>
    670     </td>
    671   </tr>
    672 </table>
    673 <table cellspacing=5 cellpadding=0 border=0>
    674   <tr>
    675     <td>
    676       &nbsp;
    677     </td>
    678     <td>
    679 
    680 <p>
    681 <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
    682     sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
    683         ok=(connect(s,sadr,<span class="keyword">sizeof</span>(addr))!=(-1));\
    684         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EINPROGRESS);}</pre></div>    </td>
    685   </tr>
    686 </table>
    687 <a name="a27" doxytag="osclconfig_io.h::OsclConnectComplete"></a><p>
    688 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    689   <tr>
    690     <td class="md">
    691       <table cellpadding="0" cellspacing="0" border="0">
    692         <tr>
    693           <td class="md" nowrap valign="top"> #define OsclConnectComplete</td>
    694           <td class="md" valign="top">(&nbsp;</td>
    695           <td class="md" nowrap valign="top">s,         <tr>
    696           <td></td>
    697           <td></td>
    698           <td class="md" nowrap>wset,         <tr>
    699           <td></td>
    700           <td></td>
    701           <td class="md" nowrap>eset,         <tr>
    702           <td></td>
    703           <td></td>
    704           <td class="md" nowrap>success,         <tr>
    705           <td></td>
    706           <td></td>
    707           <td class="md" nowrap>fail,         <tr>
    708           <td></td>
    709           <td></td>
    710           <td class="md" nowrap>ok,         <tr>
    711           <td></td>
    712           <td></td>
    713           <td class="md" nowrap>err&nbsp;</td>
    714           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    715           <td class="md" valign="top">)&nbsp;</td>
    716           <td class="md" nowrap>
    717       </table>
    718     </td>
    719   </tr>
    720 </table>
    721 <table cellspacing=5 cellpadding=0 border=0>
    722   <tr>
    723     <td>
    724       &nbsp;
    725     </td>
    726     <td>
    727 
    728 <p>
    729 <b>Value:</b><div class="fragment"><pre>success=fail=<span class="keyword">false</span>;\
    730         <span class="keywordflow">if</span> (FD_ISSET(s,&amp;eset))\
    731         {fail=<span class="keyword">true</span>;<a class="code" href="osclconfig__io_8h.html#a26">OsclGetAsyncSockErr</a>(s,ok,err);}\
    732         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FD_ISSET(s,&amp;wset))\
    733         {<a class="code" href="osclconfig__io_8h.html#a26">OsclGetAsyncSockErr</a>(s,ok,err);<span class="keywordflow">if</span> (ok &amp;&amp; err==0)success=<span class="keyword">true</span>;<span class="keywordflow">else</span> fail=<span class="keyword">true</span>;}</pre></div>    </td>
    734   </tr>
    735 </table>
    736 <a name="a26" doxytag="osclconfig_io.h::OsclGetAsyncSockErr"></a><p>
    737 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    738   <tr>
    739     <td class="md">
    740       <table cellpadding="0" cellspacing="0" border="0">
    741         <tr>
    742           <td class="md" nowrap valign="top"> #define OsclGetAsyncSockErr</td>
    743           <td class="md" valign="top">(&nbsp;</td>
    744           <td class="md" nowrap valign="top">s,         <tr>
    745           <td></td>
    746           <td></td>
    747           <td class="md" nowrap>ok,         <tr>
    748           <td></td>
    749           <td></td>
    750           <td class="md" nowrap>err&nbsp;</td>
    751           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    752           <td class="md" valign="top">)&nbsp;</td>
    753           <td class="md" nowrap>
    754       </table>
    755     </td>
    756   </tr>
    757 </table>
    758 <table cellspacing=5 cellpadding=0 border=0>
    759   <tr>
    760     <td>
    761       &nbsp;
    762     </td>
    763     <td>
    764 
    765 <p>
    766 <b>Value:</b><div class="fragment"><pre><span class="keywordtype">int</span> opterr;socklen_t optlen=<span class="keyword">sizeof</span>(opterr);\
    767         ok=(getsockopt(s,SOL_SOCKET,SO_ERROR,(<span class="keywordtype">void</span> *)&amp;opterr,&amp;optlen)!=(-1));\
    768         <span class="keywordflow">if</span>(ok)err=opterr;<span class="keywordflow">else</span> err=errno;</pre></div>    </td>
    769   </tr>
    770 </table>
    771 <a name="a34" doxytag="osclconfig_io.h::OsclGetDottedAddr"></a><p>
    772 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    773   <tr>
    774     <td class="md">
    775       <table cellpadding="0" cellspacing="0" border="0">
    776         <tr>
    777           <td class="md" nowrap valign="top"> #define OsclGetDottedAddr</td>
    778           <td class="md" valign="top">(&nbsp;</td>
    779           <td class="md" nowrap valign="top">hostent,         <tr>
    780           <td></td>
    781           <td></td>
    782           <td class="md" nowrap>dottedaddr,         <tr>
    783           <td></td>
    784           <td></td>
    785           <td class="md" nowrap>ok&nbsp;</td>
    786           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    787           <td class="md" valign="top">)&nbsp;</td>
    788           <td class="md" nowrap>
    789       </table>
    790     </td>
    791   </tr>
    792 </table>
    793 <table cellspacing=5 cellpadding=0 border=0>
    794   <tr>
    795     <td>
    796       &nbsp;
    797     </td>
    798     <td>
    799 
    800 <p>
    801 <b>Value:</b><div class="fragment"><pre><span class="keywordtype">long</span> *_hostaddr=(<span class="keywordtype">long</span>*)hostent-&gt;h_addr_list[0];\
    802         <span class="keyword">struct </span>in_addr _inaddr;\
    803         _inaddr.s_addr=*_hostaddr;\
    804         dottedaddr=inet_ntoa(_inaddr);\
    805         ok=(dottedaddr!=<a class="code" href="group__osclbase.html#a81">NULL</a>);</pre></div>    </td>
    806   </tr>
    807 </table>
    808 <a name="a33" doxytag="osclconfig_io.h::OsclGethostbyname"></a><p>
    809 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    810   <tr>
    811     <td class="md">
    812       <table cellpadding="0" cellspacing="0" border="0">
    813         <tr>
    814           <td class="md" nowrap valign="top"> #define OsclGethostbyname</td>
    815           <td class="md" valign="top">(&nbsp;</td>
    816           <td class="md" nowrap valign="top">name,         <tr>
    817           <td></td>
    818           <td></td>
    819           <td class="md" nowrap>hostent,         <tr>
    820           <td></td>
    821           <td></td>
    822           <td class="md" nowrap>ok,         <tr>
    823           <td></td>
    824           <td></td>
    825           <td class="md" nowrap>err&nbsp;</td>
    826           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    827           <td class="md" valign="top">)&nbsp;</td>
    828           <td class="md" nowrap>
    829       </table>
    830     </td>
    831   </tr>
    832 </table>
    833 <table cellspacing=5 cellpadding=0 border=0>
    834   <tr>
    835     <td>
    836       &nbsp;
    837     </td>
    838     <td>
    839 
    840 <p>
    841 <b>Value:</b><div class="fragment"><pre>hostent=gethostbyname((<span class="keyword">const</span> <span class="keywordtype">char</span>*)name);\
    842         ok=(hostent!=<a class="code" href="group__osclbase.html#a81">NULL</a>);\
    843         <span class="keywordflow">if</span> (!ok)err=errno;</pre></div>    </td>
    844   </tr>
    845 </table>
    846 <a name="a16" doxytag="osclconfig_io.h::OsclJoin"></a><p>
    847 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    848   <tr>
    849     <td class="md">
    850       <table cellpadding="0" cellspacing="0" border="0">
    851         <tr>
    852           <td class="md" nowrap valign="top"> #define OsclJoin</td>
    853           <td class="md" valign="top">(&nbsp;</td>
    854           <td class="md" nowrap valign="top">s,         <tr>
    855           <td></td>
    856           <td></td>
    857           <td class="md" nowrap>addr,         <tr>
    858           <td></td>
    859           <td></td>
    860           <td class="md" nowrap>ok,         <tr>
    861           <td></td>
    862           <td></td>
    863           <td class="md" nowrap>err&nbsp;</td>
    864           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    865           <td class="md" valign="top">)&nbsp;</td>
    866           <td class="md" nowrap>
    867       </table>
    868     </td>
    869   </tr>
    870 </table>
    871 <table cellspacing=5 cellpadding=0 border=0>
    872   <tr>
    873     <td>
    874       &nbsp;
    875     </td>
    876     <td>
    877 
    878 <p>
    879 <b>Value:</b><div class="fragment"><pre>{\
    880                 <span class="keyword">struct </span>ip_mreq mreq; \
    881             <span class="keywordtype">void</span>* p = &amp;addr; \
    882             ok=(bind(s,(sockaddr*)p,<span class="keyword">sizeof</span>(addr))!=(-1));\
    883         mreq.imr_multiaddr.s_addr = addr.sin_addr.s_addr ; \
    884         mreq.imr_interface.s_addr = htonl(INADDR_ANY); \
    885         ok=(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &amp;mreq, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> ip_mreq))!=(-1)); \
    886         <span class="keywordflow">if</span> (!ok)err=errno;\
    887 }</pre></div>    </td>
    888   </tr>
    889 </table>
    890 <a name="a17" doxytag="osclconfig_io.h::OsclListen"></a><p>
    891 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    892   <tr>
    893     <td class="md">
    894       <table cellpadding="0" cellspacing="0" border="0">
    895         <tr>
    896           <td class="md" nowrap valign="top"> #define OsclListen</td>
    897           <td class="md" valign="top">(&nbsp;</td>
    898           <td class="md" nowrap valign="top">s,         <tr>
    899           <td></td>
    900           <td></td>
    901           <td class="md" nowrap>size,         <tr>
    902           <td></td>
    903           <td></td>
    904           <td class="md" nowrap>ok,         <tr>
    905           <td></td>
    906           <td></td>
    907           <td class="md" nowrap>err&nbsp;</td>
    908           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    909           <td class="md" valign="top">)&nbsp;</td>
    910           <td class="md" nowrap>
    911       </table>
    912     </td>
    913   </tr>
    914 </table>
    915 <table cellspacing=5 cellpadding=0 border=0>
    916   <tr>
    917     <td>
    918       &nbsp;
    919     </td>
    920     <td>
    921 
    922 <p>
    923 <b>Value:</b><div class="fragment"><pre>ok=(listen(iSocket,qSize)!=(-1));\
    924         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
    925   </tr>
    926 </table>
    927 <a name="a12" doxytag="osclconfig_io.h::OsclMakeSockAddr"></a><p>
    928 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    929   <tr>
    930     <td class="md">
    931       <table cellpadding="0" cellspacing="0" border="0">
    932         <tr>
    933           <td class="md" nowrap valign="top"> #define OsclMakeSockAddr</td>
    934           <td class="md" valign="top">(&nbsp;</td>
    935           <td class="md" nowrap valign="top">sockaddr,         <tr>
    936           <td></td>
    937           <td></td>
    938           <td class="md" nowrap>port,         <tr>
    939           <td></td>
    940           <td></td>
    941           <td class="md" nowrap>addrstr,         <tr>
    942           <td></td>
    943           <td></td>
    944           <td class="md" nowrap>ok&nbsp;</td>
    945           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    946           <td class="md" valign="top">)&nbsp;</td>
    947           <td class="md" nowrap>
    948       </table>
    949     </td>
    950   </tr>
    951 </table>
    952 <table cellspacing=5 cellpadding=0 border=0>
    953   <tr>
    954     <td>
    955       &nbsp;
    956     </td>
    957     <td>
    958 
    959 <p>
    960 <b>Value:</b><div class="fragment"><pre>sockaddr.sin_family=<a class="code" href="osclconfig__io_8h.html#a38">OSCL_AF_INET</a>;\
    961         sockaddr.sin_port=htons(port);\
    962         int32 result=inet_aton((<span class="keyword">const</span> <span class="keywordtype">char</span>*)addrstr,&amp;sockaddr.sin_addr);\
    963         ok=(result!=0);</pre></div>    </td>
    964   </tr>
    965 </table>
    966 <a name="a28" doxytag="osclconfig_io.h::OsclRecv"></a><p>
    967 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    968   <tr>
    969     <td class="md">
    970       <table cellpadding="0" cellspacing="0" border="0">
    971         <tr>
    972           <td class="md" nowrap valign="top"> #define OsclRecv</td>
    973           <td class="md" valign="top">(&nbsp;</td>
    974           <td class="md" nowrap valign="top">s,         <tr>
    975           <td></td>
    976           <td></td>
    977           <td class="md" nowrap>buf,         <tr>
    978           <td></td>
    979           <td></td>
    980           <td class="md" nowrap>len,         <tr>
    981           <td></td>
    982           <td></td>
    983           <td class="md" nowrap>ok,         <tr>
    984           <td></td>
    985           <td></td>
    986           <td class="md" nowrap>err,         <tr>
    987           <td></td>
    988           <td></td>
    989           <td class="md" nowrap>nbytes,         <tr>
    990           <td></td>
    991           <td></td>
    992           <td class="md" nowrap>wouldblock&nbsp;</td>
    993           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    994           <td class="md" valign="top">)&nbsp;</td>
    995           <td class="md" nowrap>
    996       </table>
    997     </td>
    998   </tr>
    999 </table>
   1000 <table cellspacing=5 cellpadding=0 border=0>
   1001   <tr>
   1002     <td>
   1003       &nbsp;
   1004     </td>
   1005     <td>
   1006 
   1007 <p>
   1008 <b>Value:</b><div class="fragment"><pre>nbytes=recv(s,(<span class="keywordtype">void</span> *)(buf),(size_t)(len),0);\
   1009         ok=(nbytes!=(-1));\
   1010         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN);}</pre></div>    </td>
   1011   </tr>
   1012 </table>
   1013 <a name="a29" doxytag="osclconfig_io.h::OsclRecvFrom"></a><p>
   1014 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1015   <tr>
   1016     <td class="md">
   1017       <table cellpadding="0" cellspacing="0" border="0">
   1018         <tr>
   1019           <td class="md" nowrap valign="top"> #define OsclRecvFrom</td>
   1020           <td class="md" valign="top">(&nbsp;</td>
   1021           <td class="md" nowrap valign="top">s,         <tr>
   1022           <td></td>
   1023           <td></td>
   1024           <td class="md" nowrap>buf,         <tr>
   1025           <td></td>
   1026           <td></td>
   1027           <td class="md" nowrap>len,         <tr>
   1028           <td></td>
   1029           <td></td>
   1030           <td class="md" nowrap>paddr,         <tr>
   1031           <td></td>
   1032           <td></td>
   1033           <td class="md" nowrap>paddrlen,         <tr>
   1034           <td></td>
   1035           <td></td>
   1036           <td class="md" nowrap>ok,         <tr>
   1037           <td></td>
   1038           <td></td>
   1039           <td class="md" nowrap>err,         <tr>
   1040           <td></td>
   1041           <td></td>
   1042           <td class="md" nowrap>nbytes,         <tr>
   1043           <td></td>
   1044           <td></td>
   1045           <td class="md" nowrap>wouldblock&nbsp;</td>
   1046           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1047           <td class="md" valign="top">)&nbsp;</td>
   1048           <td class="md" nowrap>
   1049       </table>
   1050     </td>
   1051   </tr>
   1052 </table>
   1053 <table cellspacing=5 cellpadding=0 border=0>
   1054   <tr>
   1055     <td>
   1056       &nbsp;
   1057     </td>
   1058     <td>
   1059 
   1060 <p>
   1061 <b>Value:</b><div class="fragment"><pre>{\
   1062 <span class="keywordtype">void</span>* p=paddr;\
   1063 nbytes=recvfrom(s,(<span class="keywordtype">void</span>*)(buf),(size_t)(len),0,(<span class="keyword">struct</span> sockaddr*)p,paddrlen);\
   1064         ok=(nbytes!=(-1));\
   1065         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN);}\
   1066 }</pre></div>    </td>
   1067   </tr>
   1068 </table>
   1069 <a name="a23" doxytag="osclconfig_io.h::OsclSend"></a><p>
   1070 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1071   <tr>
   1072     <td class="md">
   1073       <table cellpadding="0" cellspacing="0" border="0">
   1074         <tr>
   1075           <td class="md" nowrap valign="top"> #define OsclSend</td>
   1076           <td class="md" valign="top">(&nbsp;</td>
   1077           <td class="md" nowrap valign="top">s,         <tr>
   1078           <td></td>
   1079           <td></td>
   1080           <td class="md" nowrap>buf,         <tr>
   1081           <td></td>
   1082           <td></td>
   1083           <td class="md" nowrap>len,         <tr>
   1084           <td></td>
   1085           <td></td>
   1086           <td class="md" nowrap>ok,         <tr>
   1087           <td></td>
   1088           <td></td>
   1089           <td class="md" nowrap>err,         <tr>
   1090           <td></td>
   1091           <td></td>
   1092           <td class="md" nowrap>nbytes,         <tr>
   1093           <td></td>
   1094           <td></td>
   1095           <td class="md" nowrap>wouldblock&nbsp;</td>
   1096           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1097           <td class="md" valign="top">)&nbsp;</td>
   1098           <td class="md" nowrap>
   1099       </table>
   1100     </td>
   1101   </tr>
   1102 </table>
   1103 <table cellspacing=5 cellpadding=0 border=0>
   1104   <tr>
   1105     <td>
   1106       &nbsp;
   1107     </td>
   1108     <td>
   1109 
   1110 <p>
   1111 <b>Value:</b><div class="fragment"><pre>nbytes=send(s,(<span class="keyword">const</span> <span class="keywordtype">void</span>*)(buf),(size_t)(len),0);\
   1112         ok=(nbytes!=(-1));\
   1113         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div>    </td>
   1114   </tr>
   1115 </table>
   1116 <a name="a22" doxytag="osclconfig_io.h::OsclSendTo"></a><p>
   1117 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1118   <tr>
   1119     <td class="md">
   1120       <table cellpadding="0" cellspacing="0" border="0">
   1121         <tr>
   1122           <td class="md" nowrap valign="top"> #define OsclSendTo</td>
   1123           <td class="md" valign="top">(&nbsp;</td>
   1124           <td class="md" nowrap valign="top">s,         <tr>
   1125           <td></td>
   1126           <td></td>
   1127           <td class="md" nowrap>buf,         <tr>
   1128           <td></td>
   1129           <td></td>
   1130           <td class="md" nowrap>len,         <tr>
   1131           <td></td>
   1132           <td></td>
   1133           <td class="md" nowrap>addr,         <tr>
   1134           <td></td>
   1135           <td></td>
   1136           <td class="md" nowrap>ok,         <tr>
   1137           <td></td>
   1138           <td></td>
   1139           <td class="md" nowrap>err,         <tr>
   1140           <td></td>
   1141           <td></td>
   1142           <td class="md" nowrap>nbytes,         <tr>
   1143           <td></td>
   1144           <td></td>
   1145           <td class="md" nowrap>wouldblock&nbsp;</td>
   1146           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1147           <td class="md" valign="top">)&nbsp;</td>
   1148           <td class="md" nowrap>
   1149       </table>
   1150     </td>
   1151   </tr>
   1152 </table>
   1153 <table cellspacing=5 cellpadding=0 border=0>
   1154   <tr>
   1155     <td>
   1156       &nbsp;
   1157     </td>
   1158     <td>
   1159 
   1160 <p>
   1161 <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
   1162     sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
   1163         nbytes=sendto(s,(<span class="keyword">const</span> <span class="keywordtype">void</span>*)(buf),(size_t)(len),0,sadr,(socklen_t)<span class="keyword">sizeof</span>(addr));\
   1164         ok=(nbytes!=(-1));\
   1165         <span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div>    </td>
   1166   </tr>
   1167 </table>
   1168 <a name="a19" doxytag="osclconfig_io.h::OsclSetNonBlocking"></a><p>
   1169 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1170   <tr>
   1171     <td class="md">
   1172       <table cellpadding="0" cellspacing="0" border="0">
   1173         <tr>
   1174           <td class="md" nowrap valign="top"> #define OsclSetNonBlocking</td>
   1175           <td class="md" valign="top">(&nbsp;</td>
   1176           <td class="md" nowrap valign="top">s,         <tr>
   1177           <td></td>
   1178           <td></td>
   1179           <td class="md" nowrap>ok,         <tr>
   1180           <td></td>
   1181           <td></td>
   1182           <td class="md" nowrap>err&nbsp;</td>
   1183           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1184           <td class="md" valign="top">)&nbsp;</td>
   1185           <td class="md" nowrap>
   1186       </table>
   1187     </td>
   1188   </tr>
   1189 </table>
   1190 <table cellspacing=5 cellpadding=0 border=0>
   1191   <tr>
   1192     <td>
   1193       &nbsp;
   1194     </td>
   1195     <td>
   1196 
   1197 <p>
   1198 <b>Value:</b><div class="fragment"><pre>ok=(fcntl(s,F_SETFL,O_NONBLOCK)!=(-1));\
   1199         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
   1200   </tr>
   1201 </table>
   1202 <a name="a14" doxytag="osclconfig_io.h::OsclSetRecvBufferSize"></a><p>
   1203 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1204   <tr>
   1205     <td class="md">
   1206       <table cellpadding="0" cellspacing="0" border="0">
   1207         <tr>
   1208           <td class="md" nowrap valign="top"> #define OsclSetRecvBufferSize</td>
   1209           <td class="md" valign="top">(&nbsp;</td>
   1210           <td class="md" nowrap valign="top">s,         <tr>
   1211           <td></td>
   1212           <td></td>
   1213           <td class="md" nowrap>val,         <tr>
   1214           <td></td>
   1215           <td></td>
   1216           <td class="md" nowrap>ok,         <tr>
   1217           <td></td>
   1218           <td></td>
   1219           <td class="md" nowrap>err&nbsp;</td>
   1220           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1221           <td class="md" valign="top">)&nbsp;</td>
   1222           <td class="md" nowrap>
   1223       </table>
   1224     </td>
   1225   </tr>
   1226 </table>
   1227 <table cellspacing=5 cellpadding=0 border=0>
   1228   <tr>
   1229     <td>
   1230       &nbsp;
   1231     </td>
   1232     <td>
   1233 
   1234 <p>
   1235 <b>Value:</b><div class="fragment"><pre>ok=(setsockopt(s,SOL_SOCKET,SO_RCVBUF,(<span class="keywordtype">char</span>*)&amp;val, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) !=-1);\
   1236         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
   1237   </tr>
   1238 </table>
   1239 <a name="a20" doxytag="osclconfig_io.h::OsclShutdown"></a><p>
   1240 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1241   <tr>
   1242     <td class="md">
   1243       <table cellpadding="0" cellspacing="0" border="0">
   1244         <tr>
   1245           <td class="md" nowrap valign="top"> #define OsclShutdown</td>
   1246           <td class="md" valign="top">(&nbsp;</td>
   1247           <td class="md" nowrap valign="top">s,         <tr>
   1248           <td></td>
   1249           <td></td>
   1250           <td class="md" nowrap>how,         <tr>
   1251           <td></td>
   1252           <td></td>
   1253           <td class="md" nowrap>ok,         <tr>
   1254           <td></td>
   1255           <td></td>
   1256           <td class="md" nowrap>err&nbsp;</td>
   1257           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1258           <td class="md" valign="top">)&nbsp;</td>
   1259           <td class="md" nowrap>
   1260       </table>
   1261     </td>
   1262   </tr>
   1263 </table>
   1264 <table cellspacing=5 cellpadding=0 border=0>
   1265   <tr>
   1266     <td>
   1267       &nbsp;
   1268     </td>
   1269     <td>
   1270 
   1271 <p>
   1272 <b>Value:</b><div class="fragment"><pre>ok=(shutdown(iSocket,how)!=(-1));\
   1273         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
   1274   </tr>
   1275 </table>
   1276 <a name="a21" doxytag="osclconfig_io.h::OsclSocket"></a><p>
   1277 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1278   <tr>
   1279     <td class="md">
   1280       <table cellpadding="0" cellspacing="0" border="0">
   1281         <tr>
   1282           <td class="md" nowrap valign="top"> #define OsclSocket</td>
   1283           <td class="md" valign="top">(&nbsp;</td>
   1284           <td class="md" nowrap valign="top">s,         <tr>
   1285           <td></td>
   1286           <td></td>
   1287           <td class="md" nowrap>fam,         <tr>
   1288           <td></td>
   1289           <td></td>
   1290           <td class="md" nowrap>type,         <tr>
   1291           <td></td>
   1292           <td></td>
   1293           <td class="md" nowrap>prot,         <tr>
   1294           <td></td>
   1295           <td></td>
   1296           <td class="md" nowrap>ok,         <tr>
   1297           <td></td>
   1298           <td></td>
   1299           <td class="md" nowrap>err&nbsp;</td>
   1300           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1301           <td class="md" valign="top">)&nbsp;</td>
   1302           <td class="md" nowrap>
   1303       </table>
   1304     </td>
   1305   </tr>
   1306 </table>
   1307 <table cellspacing=5 cellpadding=0 border=0>
   1308   <tr>
   1309     <td>
   1310       &nbsp;
   1311     </td>
   1312     <td>
   1313 
   1314 <p>
   1315 <b>Value:</b><div class="fragment"><pre>s=socket(fam,type,prot);\
   1316         ok=(s!=(-1));\
   1317         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
   1318   </tr>
   1319 </table>
   1320 <a name="a32" doxytag="osclconfig_io.h::OsclSocketCleanup"></a><p>
   1321 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1322   <tr>
   1323     <td class="md">
   1324       <table cellpadding="0" cellspacing="0" border="0">
   1325         <tr>
   1326           <td class="md" nowrap valign="top"> #define OsclSocketCleanup</td>
   1327           <td class="md" valign="top">(&nbsp;</td>
   1328           <td class="md" nowrap valign="top">ok&nbsp;</td>
   1329           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1330           <td class="md" valign="top">)&nbsp;</td>
   1331           <td class="md" nowrap>
   1332       </table>
   1333     </td>
   1334   </tr>
   1335 </table>
   1336 <table cellspacing=5 cellpadding=0 border=0>
   1337   <tr>
   1338     <td>
   1339       &nbsp;
   1340     </td>
   1341     <td>
   1342 
   1343 <p>
   1344 <b>Value:</b><div class="fragment"><pre>signal(SIGPIPE,SIG_DFL);\
   1345         ok=<span class="keyword">true</span></pre></div>    </td>
   1346   </tr>
   1347 </table>
   1348 <a name="a30" doxytag="osclconfig_io.h::OsclSocketSelect"></a><p>
   1349 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1350   <tr>
   1351     <td class="md">
   1352       <table cellpadding="0" cellspacing="0" border="0">
   1353         <tr>
   1354           <td class="md" nowrap valign="top"> #define OsclSocketSelect</td>
   1355           <td class="md" valign="top">(&nbsp;</td>
   1356           <td class="md" nowrap valign="top">nfds,         <tr>
   1357           <td></td>
   1358           <td></td>
   1359           <td class="md" nowrap>rd,         <tr>
   1360           <td></td>
   1361           <td></td>
   1362           <td class="md" nowrap>wr,         <tr>
   1363           <td></td>
   1364           <td></td>
   1365           <td class="md" nowrap>ex,         <tr>
   1366           <td></td>
   1367           <td></td>
   1368           <td class="md" nowrap>timeout,         <tr>
   1369           <td></td>
   1370           <td></td>
   1371           <td class="md" nowrap>ok,         <tr>
   1372           <td></td>
   1373           <td></td>
   1374           <td class="md" nowrap>err,         <tr>
   1375           <td></td>
   1376           <td></td>
   1377           <td class="md" nowrap>nhandles&nbsp;</td>
   1378           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1379           <td class="md" valign="top">)&nbsp;</td>
   1380           <td class="md" nowrap>
   1381       </table>
   1382     </td>
   1383   </tr>
   1384 </table>
   1385 <table cellspacing=5 cellpadding=0 border=0>
   1386   <tr>
   1387     <td>
   1388       &nbsp;
   1389     </td>
   1390     <td>
   1391 
   1392 <p>
   1393 <b>Value:</b><div class="fragment"><pre>nhandles=select(nfds,&amp;rd,&amp;wr,&amp;ex,&amp;timeout);\
   1394         ok=(nhandles!=(-1));\
   1395         <span class="keywordflow">if</span> (!ok)err=errno</pre></div>    </td>
   1396   </tr>
   1397 </table>
   1398 <a name="a31" doxytag="osclconfig_io.h::OsclSocketStartup"></a><p>
   1399 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1400   <tr>
   1401     <td class="md">
   1402       <table cellpadding="0" cellspacing="0" border="0">
   1403         <tr>
   1404           <td class="md" nowrap valign="top"> #define OsclSocketStartup</td>
   1405           <td class="md" valign="top">(&nbsp;</td>
   1406           <td class="md" nowrap valign="top">ok&nbsp;</td>
   1407           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1408           <td class="md" valign="top">)&nbsp;</td>
   1409           <td class="md" nowrap>
   1410       </table>
   1411     </td>
   1412   </tr>
   1413 </table>
   1414 <table cellspacing=5 cellpadding=0 border=0>
   1415   <tr>
   1416     <td>
   1417       &nbsp;
   1418     </td>
   1419     <td>
   1420 
   1421 <p>
   1422 <b>Value:</b><div class="fragment"><pre>signal(SIGPIPE,SIG_IGN);\
   1423         ok=<span class="keyword">true</span></pre></div>    </td>
   1424   </tr>
   1425 </table>
   1426 <a name="a13" doxytag="osclconfig_io.h::OsclUnMakeSockAddr"></a><p>
   1427 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1428   <tr>
   1429     <td class="md">
   1430       <table cellpadding="0" cellspacing="0" border="0">
   1431         <tr>
   1432           <td class="md" nowrap valign="top"> #define OsclUnMakeSockAddr</td>
   1433           <td class="md" valign="top">(&nbsp;</td>
   1434           <td class="md" nowrap valign="top">sockaddr,         <tr>
   1435           <td></td>
   1436           <td></td>
   1437           <td class="md" nowrap>addrstr&nbsp;</td>
   1438           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1439           <td class="md" valign="top">)&nbsp;</td>
   1440           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;addrstr=inet_ntoa(sockaddr.sin_addr);
   1441       </table>
   1442     </td>
   1443   </tr>
   1444 </table>
   1445 <table cellspacing=5 cellpadding=0 border=0>
   1446   <tr>
   1447     <td>
   1448       &nbsp;
   1449     </td>
   1450     <td>
   1451 
   1452 <p>
   1453     </td>
   1454   </tr>
   1455 </table>
   1456 <a name="a11" doxytag="osclconfig_io.h::OsclValidInetAddr"></a><p>
   1457 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1458   <tr>
   1459     <td class="md">
   1460       <table cellpadding="0" cellspacing="0" border="0">
   1461         <tr>
   1462           <td class="md" nowrap valign="top"> #define OsclValidInetAddr</td>
   1463           <td class="md" valign="top">(&nbsp;</td>
   1464           <td class="md" nowrap valign="top">addr&nbsp;</td>
   1465           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1466           <td class="md" valign="top">)&nbsp;</td>
   1467           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(inet_addr(addr)!=INADDR_NONE)
   1468       </table>
   1469     </td>
   1470   </tr>
   1471 </table>
   1472 <table cellspacing=5 cellpadding=0 border=0>
   1473   <tr>
   1474     <td>
   1475       &nbsp;
   1476     </td>
   1477     <td>
   1478 
   1479 <p>
   1480     </td>
   1481   </tr>
   1482 </table>
   1483 <hr><h2>Typedef Documentation</h2>
   1484 <a name="a48" doxytag="osclconfig_io.h::TOsclFileOffset"></a><p>
   1485 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1486   <tr>
   1487     <td class="md">
   1488       <table cellpadding="0" cellspacing="0" border="0">
   1489         <tr>
   1490           <td class="md" nowrap valign="top"> typedef off_t TOsclFileOffset
   1491       </table>
   1492     </td>
   1493   </tr>
   1494 </table>
   1495 <table cellspacing=5 cellpadding=0 border=0>
   1496   <tr>
   1497     <td>
   1498       &nbsp;
   1499     </td>
   1500     <td>
   1501 
   1502 <p>
   1503     </td>
   1504   </tr>
   1505 </table>
   1506 <a name="a47" doxytag="osclconfig_io.h::TOsclHostent"></a><p>
   1507 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1508   <tr>
   1509     <td class="md">
   1510       <table cellpadding="0" cellspacing="0" border="0">
   1511         <tr>
   1512           <td class="md" nowrap valign="top"> typedef struct hostent TOsclHostent
   1513       </table>
   1514     </td>
   1515   </tr>
   1516 </table>
   1517 <table cellspacing=5 cellpadding=0 border=0>
   1518   <tr>
   1519     <td>
   1520       &nbsp;
   1521     </td>
   1522     <td>
   1523 
   1524 <p>
   1525     </td>
   1526   </tr>
   1527 </table>
   1528 <a name="a45" doxytag="osclconfig_io.h::TOsclSockAddr"></a><p>
   1529 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1530   <tr>
   1531     <td class="md">
   1532       <table cellpadding="0" cellspacing="0" border="0">
   1533         <tr>
   1534           <td class="md" nowrap valign="top"> typedef struct sockaddr_in TOsclSockAddr
   1535       </table>
   1536     </td>
   1537   </tr>
   1538 </table>
   1539 <table cellspacing=5 cellpadding=0 border=0>
   1540   <tr>
   1541     <td>
   1542       &nbsp;
   1543     </td>
   1544     <td>
   1545 
   1546 <p>
   1547     </td>
   1548   </tr>
   1549 </table>
   1550 <a name="a46" doxytag="osclconfig_io.h::TOsclSockAddrLen"></a><p>
   1551 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1552   <tr>
   1553     <td class="md">
   1554       <table cellpadding="0" cellspacing="0" border="0">
   1555         <tr>
   1556           <td class="md" nowrap valign="top"> typedef socklen_t TOsclSockAddrLen
   1557       </table>
   1558     </td>
   1559   </tr>
   1560 </table>
   1561 <table cellspacing=5 cellpadding=0 border=0>
   1562   <tr>
   1563     <td>
   1564       &nbsp;
   1565     </td>
   1566     <td>
   1567 
   1568 <p>
   1569     </td>
   1570   </tr>
   1571 </table>
   1572 <a name="a44" doxytag="osclconfig_io.h::TOsclSocket"></a><p>
   1573 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1574   <tr>
   1575     <td class="md">
   1576       <table cellpadding="0" cellspacing="0" border="0">
   1577         <tr>
   1578           <td class="md" nowrap valign="top"> typedef int TOsclSocket
   1579       </table>
   1580     </td>
   1581   </tr>
   1582 </table>
   1583 <table cellspacing=5 cellpadding=0 border=0>
   1584   <tr>
   1585     <td>
   1586       &nbsp;
   1587     </td>
   1588     <td>
   1589 
   1590 <p>
   1591     </td>
   1592   </tr>
   1593 </table>
   1594 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
   1595 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
   1596 </small></address>
   1597 </body>
   1598 </html>
   1599