<!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 Source File</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</h1><a href="osclconfig__io_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span>
00002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
00003 
00004 <span class="comment">//     O S C L C O N F I G _ I O</span>
00005 
00006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
00007 
00008 
00017 <span class="preprocessor">#ifndef OSCLCONFIG_IO_H_INCLUDED</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define OSCLCONFIG_IO_H_INCLUDED</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#ifndef OSCLCONFIG_H_INCLUDED</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="osclconfig_8h.html">osclconfig.h</a>"</span>
00022 <span class="preprocessor">#endif</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#if (OSCL_HAS_NJ_SUPPORT) &amp;&amp; (ENABLE_MEMORY_PLAYBACK)</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;media/MediaPlayerInterface.h&gt;</span>
00026 <span class="preprocessor">#endif</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00029 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
00030 <span class="preprocessor">#include &lt;stdarg.h&gt;</span>
00031 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
00032 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
00033 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span>
00034 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
00035 <span class="preprocessor">#include &lt;signal.h&gt;</span>
00036 <span class="preprocessor">#include &lt;netdb.h&gt;</span>
00037 <span class="preprocessor">#include &lt;sys/mman.h&gt;</span>
00038 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
00039 <span class="preprocessor">#include &lt;errno.h&gt;</span>
00040 <span class="preprocessor">#include &lt;sys/vfs.h&gt;</span>
00041 <span class="preprocessor">#include &lt;dirent.h&gt;</span>
00042 <span class="comment">//#include &lt;glob.h&gt;</span>
00043 <span class="preprocessor">#if (OSCL_HAS_ANSI_STDLIB_SUPPORT)</span>
00044 <span class="preprocessor"></span><span class="preprocessor">#if (OSCL_HAS_UNIX_SUPPORT)</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
00046 <span class="preprocessor">#endif</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00048 <span class="preprocessor"></span>
00049 <span class="comment">//For File I/O</span>
<a name="l00050"></a><a class="code" href="osclconfig__io_8h.html#a0">00050</a> <span class="preprocessor">#define OSCL_HAS_GLOB 0</span>
<a name="l00051"></a><a class="code" href="osclconfig__io_8h.html#a1">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_ANSI_FILE_IO_SUPPORT 1</span>
<a name="l00052"></a><a class="code" href="osclconfig__io_8h.html#a2">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_SYMBIAN_COMPATIBLE_IO_FUNCTION 0</span>
<a name="l00053"></a><a class="code" href="osclconfig__io_8h.html#a3">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_NATIVE_FILE_CACHE_ENABLE 1</span>
<a name="l00054"></a><a class="code" href="osclconfig__io_8h.html#a4">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_FILE_BUFFER_MAX_SIZE       32768</span>
<a name="l00055"></a><a class="code" href="osclconfig__io_8h.html#a5">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_PV_FILE_CACHE  0</span>
00056 <span class="preprocessor"></span>
00057 <span class="comment">//For Sockets</span>
<a name="l00058"></a><a class="code" href="osclconfig__io_8h.html#a6">00058</a> <span class="preprocessor">#define OSCL_HAS_SYMBIAN_SOCKET_SERVER 0</span>
<a name="l00059"></a><a class="code" href="osclconfig__io_8h.html#a7">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_SYMBIAN_DNS_SERVER 0</span>
<a name="l00060"></a><a class="code" href="osclconfig__io_8h.html#a8">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_BERKELEY_SOCKETS 1</span>
<a name="l00061"></a><a class="code" href="osclconfig__io_8h.html#a9">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_SOCKET_SUPPORT 1</span>
00062 <span class="preprocessor"></span>
00063 <span class="comment">//basic socket types</span>
<a name="l00064"></a><a class="code" href="osclconfig__io_8h.html#a42">00064</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="osclconfig__io_8h.html#a42">TOsclSocket</a>;
<a name="l00065"></a><a class="code" href="osclconfig__io_8h.html#a43">00065</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>sockaddr_in <a class="code" href="osclconfig__io_8h.html#a43">TOsclSockAddr</a>;
<a name="l00066"></a><a class="code" href="osclconfig__io_8h.html#a44">00066</a> <span class="keyword">typedef</span> socklen_t <a class="code" href="osclconfig__io_8h.html#a44">TOsclSockAddrLen</a>;
00067 
00068 <span class="comment">//Init addr macro, inet_addr returns an uint32</span>
<a name="l00069"></a><a class="code" href="osclconfig__io_8h.html#a10">00069</a> <span class="preprocessor">#define OsclValidInetAddr(addr) (inet_addr(addr)!=INADDR_NONE)</span>
00070 <span class="preprocessor"></span>
00071 <span class="comment">//address conversion macro-- from string to network address.</span>
<a name="l00072"></a><a class="code" href="osclconfig__io_8h.html#a11">00072</a> <span class="preprocessor">#define OsclMakeSockAddr(sockaddr,port,addrstr,ok)\</span>
00073 <span class="preprocessor">        sockaddr.sin_family=OSCL_AF_INET;\</span>
00074 <span class="preprocessor">        sockaddr.sin_port=htons(port);\</span>
00075 <span class="preprocessor">        int32 result=inet_aton((const char*)addrstr,&amp;sockaddr.sin_addr);\</span>
00076 <span class="preprocessor">        ok=(result!=0);</span>
00077 <span class="preprocessor"></span>
00078 <span class="comment">//address conversion macro-- from network address to string</span>
<a name="l00079"></a><a class="code" href="osclconfig__io_8h.html#a12">00079</a> <span class="preprocessor">#define OsclUnMakeSockAddr(sockaddr,addrstr)\</span>
00080 <span class="preprocessor">        addrstr=inet_ntoa(sockaddr.sin_addr);</span>
00081 <span class="preprocessor"></span>
00082 <span class="comment">//wrappers for berkeley socket calls</span>
<a name="l00083"></a><a class="code" href="osclconfig__io_8h.html#a13">00083</a> <span class="preprocessor">#define OsclSetRecvBufferSize(s,val,ok,err) \</span>
00084 <span class="preprocessor">        ok=(setsockopt(s,SOL_SOCKET,SO_RCVBUF,(char*)&amp;val, sizeof(int)) !=-1);\</span>
00085 <span class="preprocessor">        if (!ok)err=errno</span>
00086 <span class="preprocessor"></span>
<a name="l00087"></a><a class="code" href="osclconfig__io_8h.html#a14">00087</a> <span class="preprocessor">#define OsclBind(s,addr,ok,err)\</span>
00088 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
00089 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
00090 <span class="preprocessor">        ok=(bind(s,sadr,sizeof(addr))!=(-1));\</span>
00091 <span class="preprocessor">        if (!ok)err=errno</span>
00092 <span class="preprocessor"></span>
<a name="l00093"></a><a class="code" href="osclconfig__io_8h.html#a15">00093</a> <span class="preprocessor">#define OsclJoin(s,addr,ok,err)\</span>
00094 <span class="preprocessor">{\</span>
00095 <span class="preprocessor">                struct ip_mreq mreq; \</span>
00096 <span class="preprocessor">            void* p = &amp;addr; \</span>
00097 <span class="preprocessor">            ok=(bind(s,(sockaddr*)p,sizeof(addr))!=(-1));\</span>
00098 <span class="preprocessor">        mreq.imr_multiaddr.s_addr = addr.sin_addr.s_addr ; \</span>
00099 <span class="preprocessor">        mreq.imr_interface.s_addr = htonl(INADDR_ANY); \</span>
00100 <span class="preprocessor">        ok=(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &amp;mreq, sizeof(struct ip_mreq))!=(-1)); \</span>
00101 <span class="preprocessor">        if (!ok)err=errno;\</span>
00102 <span class="preprocessor">}</span>
00103 <span class="preprocessor"></span>
00104 
<a name="l00105"></a><a class="code" href="osclconfig__io_8h.html#a16">00105</a> <span class="preprocessor">#define OsclListen(s,size,ok,err)\</span>
00106 <span class="preprocessor">        ok=(listen(iSocket,qSize)!=(-1));\</span>
00107 <span class="preprocessor">        if (!ok)err=errno</span>
00108 <span class="preprocessor"></span>
<a name="l00109"></a><a class="code" href="osclconfig__io_8h.html#a17">00109</a> <span class="preprocessor">#define OsclAccept(s,accept_s,ok,err,wouldblock)\</span>
00110 <span class="preprocessor">        accept_s=accept(s,NULL,NULL);\</span>
00111 <span class="preprocessor">        ok=(accept_s!=(-1));\</span>
00112 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
00113 <span class="preprocessor"></span>
<a name="l00114"></a><a class="code" href="osclconfig__io_8h.html#a18">00114</a> <span class="preprocessor">#define OsclSetNonBlocking(s,ok,err)\</span>
00115 <span class="preprocessor">        ok=(fcntl(s,F_SETFL,O_NONBLOCK)!=(-1));\</span>
00116 <span class="preprocessor">        if (!ok)err=errno</span>
00117 <span class="preprocessor"></span>
<a name="l00118"></a><a class="code" href="osclconfig__io_8h.html#a19">00118</a> <span class="preprocessor">#define OsclShutdown(s,how,ok,err)\</span>
00119 <span class="preprocessor">        ok=(shutdown(iSocket,how)!=(-1));\</span>
00120 <span class="preprocessor">        if (!ok)err=errno</span>
00121 <span class="preprocessor"></span>
<a name="l00122"></a><a class="code" href="osclconfig__io_8h.html#a20">00122</a> <span class="preprocessor">#define OsclSocket(s,fam,type,prot,ok,err)\</span>
00123 <span class="preprocessor">        s=socket(fam,type,prot);\</span>
00124 <span class="preprocessor">        ok=(s!=(-1));\</span>
00125 <span class="preprocessor">        if (!ok)err=errno</span>
00126 <span class="preprocessor"></span>
<a name="l00127"></a><a class="code" href="osclconfig__io_8h.html#a21">00127</a> <span class="preprocessor">#define OsclSendTo(s,buf,len,addr,ok,err,nbytes,wouldblock)\</span>
00128 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
00129 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
00130 <span class="preprocessor">        nbytes=sendto(s,(const void*)(buf),(size_t)(len),0,sadr,(socklen_t)sizeof(addr));\</span>
00131 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
00132 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
00133 <span class="preprocessor"></span>
<a name="l00134"></a><a class="code" href="osclconfig__io_8h.html#a22">00134</a> <span class="preprocessor">#define OsclSend(s,buf,len,ok,err,nbytes,wouldblock)\</span>
00135 <span class="preprocessor">        nbytes=send(s,(const void*)(buf),(size_t)(len),0);\</span>
00136 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
00137 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
00138 <span class="preprocessor"></span>
<a name="l00139"></a><a class="code" href="osclconfig__io_8h.html#a23">00139</a> <span class="preprocessor">#define OsclCloseSocket(s,ok,err)\</span>
00140 <span class="preprocessor">        ok=(close(s)!=(-1));\</span>
00141 <span class="preprocessor">        if (!ok)err=errno</span>
00142 <span class="preprocessor"></span>
<a name="l00143"></a><a class="code" href="osclconfig__io_8h.html#a24">00143</a> <span class="preprocessor">#define OsclConnect(s,addr,ok,err,wouldblock)\</span>
00144 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
00145 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
00146 <span class="preprocessor">        ok=(connect(s,sadr,sizeof(addr))!=(-1));\</span>
00147 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EINPROGRESS);}</span>
00148 <span class="preprocessor"></span>
<a name="l00149"></a><a class="code" href="osclconfig__io_8h.html#a25">00149</a> <span class="preprocessor">#define OsclGetAsyncSockErr(s,ok,err)\</span>
00150 <span class="preprocessor">        int opterr;socklen_t optlen=sizeof(opterr);\</span>
00151 <span class="preprocessor">        ok=(getsockopt(s,SOL_SOCKET,SO_ERROR,(void *)&amp;opterr,&amp;optlen)!=(-1));\</span>
00152 <span class="preprocessor">        if(ok)err=opterr;else err=errno;</span>
00153 <span class="preprocessor"></span>
00154 <span class="comment">//unix reports connect completion in write set in the getsockopt</span>
00155 <span class="comment">//error.</span>
<a name="l00156"></a><a class="code" href="osclconfig__io_8h.html#a26">00156</a> <span class="preprocessor">#define OsclConnectComplete(s,wset,eset,success,fail,ok,err)\</span>
00157 <span class="preprocessor">        success=fail=false;\</span>
00158 <span class="preprocessor">        if (FD_ISSET(s,&amp;eset))\</span>
00159 <span class="preprocessor">        {fail=true;OsclGetAsyncSockErr(s,ok,err);}\</span>
00160 <span class="preprocessor">        else if (FD_ISSET(s,&amp;wset))\</span>
00161 <span class="preprocessor">        {OsclGetAsyncSockErr(s,ok,err);if (ok &amp;&amp; err==0)success=true;else fail=true;}</span>
00162 <span class="preprocessor"></span>
<a name="l00163"></a><a class="code" href="osclconfig__io_8h.html#a27">00163</a> <span class="preprocessor">#define OsclRecv(s,buf,len,ok,err,nbytes,wouldblock)\</span>
00164 <span class="preprocessor">        nbytes=recv(s,(void *)(buf),(size_t)(len),0);\</span>
00165 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
00166 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN);}</span>
00167 <span class="preprocessor"></span>
<a name="l00168"></a><a class="code" href="osclconfig__io_8h.html#a28">00168</a> <span class="preprocessor">#define OsclRecvFrom(s,buf,len,paddr,paddrlen,ok,err,nbytes,wouldblock)\</span>
00169 <span class="preprocessor">{\</span>
00170 <span class="preprocessor">void* p=paddr;\</span>
00171 <span class="preprocessor">nbytes=recvfrom(s,(void*)(buf),(size_t)(len),0,(struct sockaddr*)p,paddrlen);\</span>
00172 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
00173 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN);}\</span>
00174 <span class="preprocessor">}</span>
00175 <span class="preprocessor"></span>
00176 
<a name="l00177"></a><a class="code" href="osclconfig__io_8h.html#a29">00177</a> <span class="preprocessor">#define OsclSocketSelect(nfds,rd,wr,ex,timeout,ok,err,nhandles)\</span>
00178 <span class="preprocessor">        nhandles=select(nfds,&amp;rd,&amp;wr,&amp;ex,&amp;timeout);\</span>
00179 <span class="preprocessor">        ok=(nhandles!=(-1));\</span>
00180 <span class="preprocessor">        if (!ok)err=errno</span>
00181 <span class="preprocessor"></span>
00182 <span class="comment">//there's not really any socket startup needed on unix, but</span>
00183 <span class="comment">//you need to define a signal handler for SIGPIPE to avoid</span>
00184 <span class="comment">//broken pipe crashes.</span>
<a name="l00185"></a><a class="code" href="osclconfig__io_8h.html#a30">00185</a> <span class="preprocessor">#define OsclSocketStartup(ok)\</span>
00186 <span class="preprocessor">        signal(SIGPIPE,SIG_IGN);\</span>
00187 <span class="preprocessor">        ok=true</span>
00188 <span class="preprocessor"></span>
<a name="l00189"></a><a class="code" href="osclconfig__io_8h.html#a31">00189</a> <span class="preprocessor">#define OsclSocketCleanup(ok)\</span>
00190 <span class="preprocessor">        signal(SIGPIPE,SIG_DFL);\</span>
00191 <span class="preprocessor">        ok=true</span>
00192 <span class="preprocessor"></span>
00193 <span class="comment">//hostent type</span>
<a name="l00194"></a><a class="code" href="osclconfig__io_8h.html#a45">00194</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>hostent <a class="code" href="osclconfig__io_8h.html#a45">TOsclHostent</a>;
00195 
00196 <span class="comment">//wrapper for gethostbyname</span>
<a name="l00197"></a><a class="code" href="osclconfig__io_8h.html#a32">00197</a> <span class="preprocessor">#define OsclGethostbyname(name,hostent,ok,err)\</span>
00198 <span class="preprocessor">        hostent=gethostbyname((const char*)name);\</span>
00199 <span class="preprocessor">        ok=(hostent!=NULL);\</span>
00200 <span class="preprocessor">        if (!ok)err=errno;</span>
00201 <span class="preprocessor"></span>
00202 <span class="comment">//extract dotted address from a hostent</span>
<a name="l00203"></a><a class="code" href="osclconfig__io_8h.html#a33">00203</a> <span class="preprocessor">#define OsclGetDottedAddr(hostent,dottedaddr,ok)\</span>
00204 <span class="preprocessor">        long *_hostaddr=(long*)hostent-&gt;h_addr_list[0];\</span>
00205 <span class="preprocessor">        struct in_addr _inaddr;\</span>
00206 <span class="preprocessor">        _inaddr.s_addr=*_hostaddr;\</span>
00207 <span class="preprocessor">        dottedaddr=inet_ntoa(_inaddr);\</span>
00208 <span class="preprocessor">        ok=(dottedaddr!=NULL);</span>
00209 <span class="preprocessor"></span>
00210 <span class="comment">//socket shutdown codes</span>
<a name="l00211"></a><a class="code" href="osclconfig__io_8h.html#a34">00211</a> <span class="preprocessor">#define OSCL_SD_RECEIVE SHUT_RD</span>
<a name="l00212"></a><a class="code" href="osclconfig__io_8h.html#a35">00212</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_SD_SEND SHUT_WR</span>
<a name="l00213"></a><a class="code" href="osclconfig__io_8h.html#a36">00213</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_SD_BOTH SHUT_RDWR</span>
00214 <span class="preprocessor"></span>
00215 <span class="comment">//address family codes</span>
<a name="l00216"></a><a class="code" href="osclconfig__io_8h.html#a37">00216</a> <span class="preprocessor">#define OSCL_AF_INET AF_INET</span>
00217 <span class="preprocessor"></span>
00218 <span class="comment">//socket type codes</span>
<a name="l00219"></a><a class="code" href="osclconfig__io_8h.html#a38">00219</a> <span class="preprocessor">#define OSCL_SOCK_STREAM SOCK_STREAM</span>
<a name="l00220"></a><a class="code" href="osclconfig__io_8h.html#a39">00220</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_SOCK_DATAGRAM SOCK_DGRAM</span>
00221 <span class="preprocessor"></span>
00222 <span class="comment">//IP protocol codes</span>
<a name="l00223"></a><a class="code" href="osclconfig__io_8h.html#a40">00223</a> <span class="preprocessor">#define OSCL_IPPROTO_TCP IPPROTO_TCP</span>
<a name="l00224"></a><a class="code" href="osclconfig__io_8h.html#a41">00224</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_IPPROTO_UDP IPPROTO_UDP</span>
00225 <span class="preprocessor"></span>
00226 <span class="comment">//End sockets</span>
00227 
00228 <span class="preprocessor">#include "<a class="code" href="osclconfig__io__check_8h.html">osclconfig_io_check.h</a>"</span>
00229 
00230 <span class="preprocessor">#endif</span>
00231 <span class="preprocessor"></span>
</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090120 </small>
</small></address>
</body>
</html>
