blob: cb7b9332c28ce2625347de26adf0d428da01dd65 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>osclconfig_io.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<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>
<hr><h1>osclconfig_io.h File Reference</h1>This file contains common typedefs based on the ANSI C limits.h header.
<a href="#_details">More...</a>
<p>
<code>#include "<a class="el" href="osclconfig_8h-source.html">osclconfig.h</a>"</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;stdarg.h&gt;</code><br>
<code>#include &lt;sys/socket.h&gt;</code><br>
<code>#include &lt;netinet/in.h&gt;</code><br>
<code>#include &lt;arpa/inet.h&gt;</code><br>
<code>#include &lt;fcntl.h&gt;</code><br>
<code>#include &lt;signal.h&gt;</code><br>
<code>#include &lt;netdb.h&gt;</code><br>
<code>#include &lt;sys/mman.h&gt;</code><br>
<code>#include &lt;sys/types.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &lt;sys/vfs.h&gt;</code><br>
<code>#include &lt;dirent.h&gt;</code><br>
<code>#include &lt;sys/stat.h&gt;</code><br>
<code>#include "<a class="el" href="osclconfig__io__check_8h-source.html">osclconfig_io_check.h</a>"</code><br>
<p>
<a href="osclconfig__io_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains common typedefs based on the ANSI C limits.h header.
<p>
This header file should work for any ANSI C compiler to determine the proper native C types to use for OSCL integer types.
<p>
<hr><h2>Define Documentation</h2>
<a name="a43" doxytag="osclconfig_io.h::_FILE_OFFSET_BITS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define _FILE_OFFSET_BITS&nbsp;&nbsp;&nbsp;64
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a38" doxytag="osclconfig_io.h::OSCL_AF_INET"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_AF_INET&nbsp;&nbsp;&nbsp;AF_INET
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a4" doxytag="osclconfig_io.h::OSCL_FILE_BUFFER_MAX_SIZE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_FILE_BUFFER_MAX_SIZE&nbsp;&nbsp;&nbsp;32768
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a1" doxytag="osclconfig_io.h::OSCL_HAS_ANSI_FILE_IO_SUPPORT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_ANSI_FILE_IO_SUPPORT&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a9" doxytag="osclconfig_io.h::OSCL_HAS_BERKELEY_SOCKETS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_BERKELEY_SOCKETS&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a0" doxytag="osclconfig_io.h::OSCL_HAS_GLOB"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_GLOB&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a6" doxytag="osclconfig_io.h::OSCL_HAS_LARGE_FILE_SUPPORT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_LARGE_FILE_SUPPORT&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a3" doxytag="osclconfig_io.h::OSCL_HAS_NATIVE_FILE_CACHE_ENABLE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_NATIVE_FILE_CACHE_ENABLE&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a5" doxytag="osclconfig_io.h::OSCL_HAS_PV_FILE_CACHE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_PV_FILE_CACHE&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a10" doxytag="osclconfig_io.h::OSCL_HAS_SOCKET_SUPPORT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_SOCKET_SUPPORT&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a2" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a8" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_DNS_SERVER"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_DNS_SERVER&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a7" doxytag="osclconfig_io.h::OSCL_HAS_SYMBIAN_SOCKET_SERVER"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_HAS_SYMBIAN_SOCKET_SERVER&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a41" doxytag="osclconfig_io.h::OSCL_IPPROTO_TCP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_IPPROTO_TCP&nbsp;&nbsp;&nbsp;IPPROTO_TCP
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a42" doxytag="osclconfig_io.h::OSCL_IPPROTO_UDP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_IPPROTO_UDP&nbsp;&nbsp;&nbsp;IPPROTO_UDP
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a37" doxytag="osclconfig_io.h::OSCL_SD_BOTH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_SD_BOTH&nbsp;&nbsp;&nbsp;SHUT_RDWR
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a35" doxytag="osclconfig_io.h::OSCL_SD_RECEIVE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_SD_RECEIVE&nbsp;&nbsp;&nbsp;SHUT_RD
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a36" doxytag="osclconfig_io.h::OSCL_SD_SEND"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_SD_SEND&nbsp;&nbsp;&nbsp;SHUT_WR
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a40" doxytag="osclconfig_io.h::OSCL_SOCK_DATAGRAM"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_SOCK_DATAGRAM&nbsp;&nbsp;&nbsp;SOCK_DGRAM
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a39" doxytag="osclconfig_io.h::OSCL_SOCK_STREAM"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_SOCK_STREAM&nbsp;&nbsp;&nbsp;SOCK_STREAM
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a18" doxytag="osclconfig_io.h::OsclAccept"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclAccept</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>accept_s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<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>);\
ok=(accept_s!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div> </td>
</tr>
</table>
<a name="a15" doxytag="osclconfig_io.h::OsclBind"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclBind</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
ok=(bind(s,sadr,<span class="keyword">sizeof</span>(addr))!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a24" doxytag="osclconfig_io.h::OsclCloseSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclCloseSocket</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>ok=(close(s)!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a25" doxytag="osclconfig_io.h::OsclConnect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclConnect</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
ok=(connect(s,sadr,<span class="keyword">sizeof</span>(addr))!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EINPROGRESS);}</pre></div> </td>
</tr>
</table>
<a name="a27" doxytag="osclconfig_io.h::OsclConnectComplete"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclConnectComplete</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wset, <tr>
<td></td>
<td></td>
<td class="md" nowrap>eset, <tr>
<td></td>
<td></td>
<td class="md" nowrap>success, <tr>
<td></td>
<td></td>
<td class="md" nowrap>fail, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>success=fail=<span class="keyword">false</span>;\
<span class="keywordflow">if</span> (FD_ISSET(s,&amp;eset))\
{fail=<span class="keyword">true</span>;<a class="code" href="osclconfig__io_8h.html#a26">OsclGetAsyncSockErr</a>(s,ok,err);}\
<span class="keywordflow">else</span> <span class="keywordflow">if</span> (FD_ISSET(s,&amp;wset))\
{<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>
</tr>
</table>
<a name="a26" doxytag="osclconfig_io.h::OsclGetAsyncSockErr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclGetAsyncSockErr</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre><span class="keywordtype">int</span> opterr;socklen_t optlen=<span class="keyword">sizeof</span>(opterr);\
ok=(getsockopt(s,SOL_SOCKET,SO_ERROR,(<span class="keywordtype">void</span> *)&amp;opterr,&amp;optlen)!=(-1));\
<span class="keywordflow">if</span>(ok)err=opterr;<span class="keywordflow">else</span> err=errno;</pre></div> </td>
</tr>
</table>
<a name="a34" doxytag="osclconfig_io.h::OsclGetDottedAddr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclGetDottedAddr</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">hostent, <tr>
<td></td>
<td></td>
<td class="md" nowrap>dottedaddr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre><span class="keywordtype">long</span> *_hostaddr=(<span class="keywordtype">long</span>*)hostent-&gt;h_addr_list[0];\
<span class="keyword">struct </span>in_addr _inaddr;\
_inaddr.s_addr=*_hostaddr;\
dottedaddr=inet_ntoa(_inaddr);\
ok=(dottedaddr!=<a class="code" href="group__osclbase.html#a81">NULL</a>);</pre></div> </td>
</tr>
</table>
<a name="a33" doxytag="osclconfig_io.h::OsclGethostbyname"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclGethostbyname</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">name, <tr>
<td></td>
<td></td>
<td class="md" nowrap>hostent, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>hostent=gethostbyname((<span class="keyword">const</span> <span class="keywordtype">char</span>*)name);\
ok=(hostent!=<a class="code" href="group__osclbase.html#a81">NULL</a>);\
<span class="keywordflow">if</span> (!ok)err=errno;</pre></div> </td>
</tr>
</table>
<a name="a16" doxytag="osclconfig_io.h::OsclJoin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclJoin</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>{\
<span class="keyword">struct </span>ip_mreq mreq; \
<span class="keywordtype">void</span>* p = &amp;addr; \
ok=(bind(s,(sockaddr*)p,<span class="keyword">sizeof</span>(addr))!=(-1));\
mreq.imr_multiaddr.s_addr = addr.sin_addr.s_addr ; \
mreq.imr_interface.s_addr = htonl(INADDR_ANY); \
ok=(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &amp;mreq, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> ip_mreq))!=(-1)); \
<span class="keywordflow">if</span> (!ok)err=errno;\
}</pre></div> </td>
</tr>
</table>
<a name="a17" doxytag="osclconfig_io.h::OsclListen"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclListen</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>size, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>ok=(listen(iSocket,qSize)!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a12" doxytag="osclconfig_io.h::OsclMakeSockAddr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclMakeSockAddr</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">sockaddr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>port, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addrstr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>sockaddr.sin_family=<a class="code" href="osclconfig__io_8h.html#a38">OSCL_AF_INET</a>;\
sockaddr.sin_port=htons(port);\
int32 result=inet_aton((<span class="keyword">const</span> <span class="keywordtype">char</span>*)addrstr,&amp;sockaddr.sin_addr);\
ok=(result!=0);</pre></div> </td>
</tr>
</table>
<a name="a28" doxytag="osclconfig_io.h::OsclRecv"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclRecv</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>buf, <tr>
<td></td>
<td></td>
<td class="md" nowrap>len, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>nbytes, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>nbytes=recv(s,(<span class="keywordtype">void</span> *)(buf),(size_t)(len),0);\
ok=(nbytes!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN);}</pre></div> </td>
</tr>
</table>
<a name="a29" doxytag="osclconfig_io.h::OsclRecvFrom"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclRecvFrom</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>buf, <tr>
<td></td>
<td></td>
<td class="md" nowrap>len, <tr>
<td></td>
<td></td>
<td class="md" nowrap>paddr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>paddrlen, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>nbytes, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>{\
<span class="keywordtype">void</span>* p=paddr;\
nbytes=recvfrom(s,(<span class="keywordtype">void</span>*)(buf),(size_t)(len),0,(<span class="keyword">struct</span> sockaddr*)p,paddrlen);\
ok=(nbytes!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN);}\
}</pre></div> </td>
</tr>
</table>
<a name="a23" doxytag="osclconfig_io.h::OsclSend"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSend</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>buf, <tr>
<td></td>
<td></td>
<td class="md" nowrap>len, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>nbytes, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<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);\
ok=(nbytes!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div> </td>
</tr>
</table>
<a name="a22" doxytag="osclconfig_io.h::OsclSendTo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSendTo</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>buf, <tr>
<td></td>
<td></td>
<td class="md" nowrap>len, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>nbytes, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wouldblock&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &amp;addr;\
sockaddr* sadr = <a class="code" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(sockaddr*, tmpadr);\
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));\
ok=(nbytes!=(-1));\
<span class="keywordflow">if</span> (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</pre></div> </td>
</tr>
</table>
<a name="a19" doxytag="osclconfig_io.h::OsclSetNonBlocking"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSetNonBlocking</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>ok=(fcntl(s,F_SETFL,O_NONBLOCK)!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a14" doxytag="osclconfig_io.h::OsclSetRecvBufferSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSetRecvBufferSize</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>val, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<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);\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a20" doxytag="osclconfig_io.h::OsclShutdown"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclShutdown</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>how, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>ok=(shutdown(iSocket,how)!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a21" doxytag="osclconfig_io.h::OsclSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSocket</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">s, <tr>
<td></td>
<td></td>
<td class="md" nowrap>fam, <tr>
<td></td>
<td></td>
<td class="md" nowrap>type, <tr>
<td></td>
<td></td>
<td class="md" nowrap>prot, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>s=socket(fam,type,prot);\
ok=(s!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a32" doxytag="osclconfig_io.h::OsclSocketCleanup"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSocketCleanup</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ok&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>signal(SIGPIPE,SIG_DFL);\
ok=<span class="keyword">true</span></pre></div> </td>
</tr>
</table>
<a name="a30" doxytag="osclconfig_io.h::OsclSocketSelect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSocketSelect</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">nfds, <tr>
<td></td>
<td></td>
<td class="md" nowrap>rd, <tr>
<td></td>
<td></td>
<td class="md" nowrap>wr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ex, <tr>
<td></td>
<td></td>
<td class="md" nowrap>timeout, <tr>
<td></td>
<td></td>
<td class="md" nowrap>ok, <tr>
<td></td>
<td></td>
<td class="md" nowrap>err, <tr>
<td></td>
<td></td>
<td class="md" nowrap>nhandles&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>nhandles=select(nfds,&amp;rd,&amp;wr,&amp;ex,&amp;timeout);\
ok=(nhandles!=(-1));\
<span class="keywordflow">if</span> (!ok)err=errno</pre></div> </td>
</tr>
</table>
<a name="a31" doxytag="osclconfig_io.h::OsclSocketStartup"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSocketStartup</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ok&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>signal(SIGPIPE,SIG_IGN);\
ok=<span class="keyword">true</span></pre></div> </td>
</tr>
</table>
<a name="a13" doxytag="osclconfig_io.h::OsclUnMakeSockAddr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclUnMakeSockAddr</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">sockaddr, <tr>
<td></td>
<td></td>
<td class="md" nowrap>addrstr&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;addrstr=inet_ntoa(sockaddr.sin_addr);
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a11" doxytag="osclconfig_io.h::OsclValidInetAddr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclValidInetAddr</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">addr&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;(inet_addr(addr)!=INADDR_NONE)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a48" doxytag="osclconfig_io.h::TOsclFileOffset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef off_t TOsclFileOffset
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a47" doxytag="osclconfig_io.h::TOsclHostent"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct hostent TOsclHostent
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a45" doxytag="osclconfig_io.h::TOsclSockAddr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct sockaddr_in TOsclSockAddr
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a46" doxytag="osclconfig_io.h::TOsclSockAddrLen"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef socklen_t TOsclSockAddrLen
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a44" doxytag="osclconfig_io.h::TOsclSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef int TOsclSocket
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>