| <!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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </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 <stdio.h></code><br> |
| <code>#include <stdlib.h></code><br> |
| <code>#include <stdarg.h></code><br> |
| <code>#include <sys/socket.h></code><br> |
| <code>#include <netinet/in.h></code><br> |
| <code>#include <arpa/inet.h></code><br> |
| <code>#include <fcntl.h></code><br> |
| <code>#include <signal.h></code><br> |
| <code>#include <netdb.h></code><br> |
| <code>#include <sys/mman.h></code><br> |
| <code>#include <sys/types.h></code><br> |
| <code>#include <errno.h></code><br> |
| <code>#include <sys/vfs.h></code><br> |
| <code>#include <dirent.h></code><br> |
| <code>#include <sys/stat.h></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 </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a0">OSCL_HAS_GLOB</a> 0</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a1">OSCL_HAS_ANSI_FILE_IO_SUPPORT</a> 1</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a2">OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION</a> 0</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a3">OSCL_HAS_NATIVE_FILE_CACHE_ENABLE</a> 1</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a4">OSCL_FILE_BUFFER_MAX_SIZE</a> 32768</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a5">OSCL_HAS_PV_FILE_CACHE</a> 0</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a6">OSCL_HAS_LARGE_FILE_SUPPORT</a> 1</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a7">OSCL_HAS_SYMBIAN_SOCKET_SERVER</a> 0</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a8">OSCL_HAS_SYMBIAN_DNS_SERVER</a> 0</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a9">OSCL_HAS_BERKELEY_SOCKETS</a> 1</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a10">OSCL_HAS_SOCKET_SUPPORT</a> 1</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a11">OsclValidInetAddr</a>(addr) (inet_addr(addr)!=INADDR_NONE)</td></tr> |
| <tr><td nowrap align=right valign=top>#define </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 </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a13">OsclUnMakeSockAddr</a>(sockaddr, addrstr) addrstr=inet_ntoa(sockaddr.sin_addr);</td></tr> |
| <tr><td nowrap align=right valign=top>#define </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a35">OSCL_SD_RECEIVE</a> SHUT_RD</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a36">OSCL_SD_SEND</a> SHUT_WR</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a37">OSCL_SD_BOTH</a> SHUT_RDWR</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a38">OSCL_AF_INET</a> AF_INET</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a39">OSCL_SOCK_STREAM</a> SOCK_STREAM</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a40">OSCL_SOCK_DATAGRAM</a> SOCK_DGRAM</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a41">OSCL_IPPROTO_TCP</a> IPPROTO_TCP</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a42">OSCL_IPPROTO_UDP</a> IPPROTO_UDP</td></tr> |
| <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="osclconfig__io_8h.html#a43">_FILE_OFFSET_BITS</a> 64</td></tr> |
| <tr><td colspan=2><br><h2>Typedefs</h2></td></tr> |
| <tr><td nowrap align=right valign=top>typedef int </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 </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 </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 </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 </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 64 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 AF_INET |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 32768 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 1 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 1 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 0 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 1 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 1 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 0 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 1 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 0 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 0 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 0 |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 IPPROTO_TCP |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 IPPROTO_UDP |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 SHUT_RDWR |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 SHUT_RD |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 SHUT_WR |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 SOCK_DGRAM |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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 SOCK_STREAM |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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,&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,&wset))\ |
| {<a class="code" href="osclconfig__io_8h.html#a26">OsclGetAsyncSockErr</a>(s,ok,err);<span class="keywordflow">if</span> (ok && 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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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> *)&opterr,&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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre><span class="keywordtype">long</span> *_hostaddr=(<span class="keywordtype">long</span>*)hostent->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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre>{\ |
| <span class="keyword">struct </span>ip_mreq mreq; \ |
| <span class="keywordtype">void</span>* p = &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, &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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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,&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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre><a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>* tmpadr = &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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre>ok=(setsockopt(s,SOL_SOCKET,SO_RCVBUF,(<span class="keywordtype">char</span>*)&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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </td> |
| <td class="md" nowrap valign="top">ok </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </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 </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| <b>Value:</b><div class="fragment"><pre>nhandles=select(nfds,&rd,&wr,&ex,&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">( </td> |
| <td class="md" nowrap valign="top">ok </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </td> |
| <td class="md" nowrap valign="top">sockaddr, <tr> |
| <td></td> |
| <td></td> |
| <td class="md" nowrap>addrstr </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> addrstr=inet_ntoa(sockaddr.sin_addr); |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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">( </td> |
| <td class="md" nowrap valign="top">addr </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top">) </td> |
| <td class="md" nowrap> (inet_addr(addr)!=INADDR_NONE) |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </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> |
| |
| </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> |
| |
| </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> |
| |
| </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> |
| |
| </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> |
| |
| </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> |