• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>osclconfig_io.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.2.18 -->
7<center>
8<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>osclconfig_io.h</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>
1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1100003
1200004 <span class="comment">//     O S C L C O N F I G _ I O</span>
1300005
1400006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1500007
1600008
1700017 <span class="preprocessor">#ifndef OSCLCONFIG_IO_H_INCLUDED</span>
1800018 <span class="preprocessor"></span><span class="preprocessor">#define OSCLCONFIG_IO_H_INCLUDED</span>
1900019 <span class="preprocessor"></span>
2000020 <span class="preprocessor">#ifndef OSCLCONFIG_H_INCLUDED</span>
2100021 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="osclconfig_8h.html">osclconfig.h</a>"</span>
2200022 <span class="preprocessor">#endif</span>
2300023 <span class="preprocessor"></span>
2400024 <span class="preprocessor">#if (OSCL_HAS_ANDROID_SUPPORT) &amp;&amp; (ENABLE_MEMORY_PLAYBACK)</span>
2500025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;media/MediaPlayerInterface.h&gt;</span>
2600026 <span class="preprocessor">#endif</span>
2700027 <span class="preprocessor"></span>
2800028 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
2900029 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
3000030 <span class="preprocessor">#include &lt;stdarg.h&gt;</span>
3100031 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
3200032 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
3300033 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span>
3400034 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
3500035 <span class="preprocessor">#include &lt;signal.h&gt;</span>
3600036 <span class="preprocessor">#include &lt;netdb.h&gt;</span>
3700037 <span class="preprocessor">#include &lt;sys/mman.h&gt;</span>
3800038 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
3900039 <span class="preprocessor">#include &lt;errno.h&gt;</span>
4000040 <span class="preprocessor">#include &lt;sys/vfs.h&gt;</span>
4100041 <span class="preprocessor">#include &lt;dirent.h&gt;</span>
4200042 <span class="comment">//#include &lt;glob.h&gt;</span>
4300043 <span class="preprocessor">#if (OSCL_HAS_ANSI_STDLIB_SUPPORT)</span>
4400044 <span class="preprocessor"></span><span class="preprocessor">#if (OSCL_HAS_UNIX_SUPPORT)</span>
4500045 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
4600046 <span class="preprocessor">#endif</span>
4700047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
4800048 <span class="preprocessor"></span>
4900049 <span class="comment">//For File I/O</span>
50<a name="l00050"></a><a class="code" href="osclconfig__io_8h.html#a0">00050</a> <span class="preprocessor">#define OSCL_HAS_GLOB 0</span>
51<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>
52<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>
53<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>
54<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>
55<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>
56<a name="l00056"></a><a class="code" href="osclconfig__io_8h.html#a6">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_LARGE_FILE_SUPPORT 1</span>
5700057 <span class="preprocessor"></span>
5800058 <span class="comment">//For Sockets</span>
59<a name="l00059"></a><a class="code" href="osclconfig__io_8h.html#a7">00059</a> <span class="preprocessor">#define OSCL_HAS_SYMBIAN_SOCKET_SERVER 0</span>
60<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_SYMBIAN_DNS_SERVER 0</span>
61<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_BERKELEY_SOCKETS 1</span>
62<a name="l00062"></a><a class="code" href="osclconfig__io_8h.html#a10">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_SOCKET_SUPPORT 1</span>
6300063 <span class="preprocessor"></span>
6400064 <span class="comment">//basic socket types</span>
65<a name="l00065"></a><a class="code" href="osclconfig__io_8h.html#a44">00065</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="osclconfig__io_8h.html#a44">TOsclSocket</a>;
66<a name="l00066"></a><a class="code" href="osclconfig__io_8h.html#a45">00066</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>sockaddr_in <a class="code" href="osclconfig__io_8h.html#a45">TOsclSockAddr</a>;
67<a name="l00067"></a><a class="code" href="osclconfig__io_8h.html#a46">00067</a> <span class="keyword">typedef</span> socklen_t <a class="code" href="osclconfig__io_8h.html#a46">TOsclSockAddrLen</a>;
6800068
6900069 <span class="comment">//Init addr macro, inet_addr returns an uint32</span>
70<a name="l00070"></a><a class="code" href="osclconfig__io_8h.html#a11">00070</a> <span class="preprocessor">#define OsclValidInetAddr(addr) (inet_addr(addr)!=INADDR_NONE)</span>
7100071 <span class="preprocessor"></span>
7200072 <span class="comment">//address conversion macro-- from string to network address.</span>
73<a name="l00073"></a><a class="code" href="osclconfig__io_8h.html#a12">00073</a> <span class="preprocessor">#define OsclMakeSockAddr(sockaddr,port,addrstr,ok)\</span>
7400074 <span class="preprocessor">        sockaddr.sin_family=OSCL_AF_INET;\</span>
7500075 <span class="preprocessor">        sockaddr.sin_port=htons(port);\</span>
7600076 <span class="preprocessor">        int32 result=inet_aton((const char*)addrstr,&amp;sockaddr.sin_addr);\</span>
7700077 <span class="preprocessor">        ok=(result!=0);</span>
7800078 <span class="preprocessor"></span>
7900079 <span class="comment">//address conversion macro-- from network address to string</span>
80<a name="l00080"></a><a class="code" href="osclconfig__io_8h.html#a13">00080</a> <span class="preprocessor">#define OsclUnMakeSockAddr(sockaddr,addrstr)\</span>
8100081 <span class="preprocessor">        addrstr=inet_ntoa(sockaddr.sin_addr);</span>
8200082 <span class="preprocessor"></span>
8300083 <span class="comment">//wrappers for berkeley socket calls</span>
84<a name="l00084"></a><a class="code" href="osclconfig__io_8h.html#a14">00084</a> <span class="preprocessor">#define OsclSetRecvBufferSize(s,val,ok,err) \</span>
8500085 <span class="preprocessor">        ok=(setsockopt(s,SOL_SOCKET,SO_RCVBUF,(char*)&amp;val, sizeof(int)) !=-1);\</span>
8600086 <span class="preprocessor">        if (!ok)err=errno</span>
8700087 <span class="preprocessor"></span>
88<a name="l00088"></a><a class="code" href="osclconfig__io_8h.html#a15">00088</a> <span class="preprocessor">#define OsclBind(s,addr,ok,err)\</span>
8900089 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
9000090 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
9100091 <span class="preprocessor">        ok=(bind(s,sadr,sizeof(addr))!=(-1));\</span>
9200092 <span class="preprocessor">        if (!ok)err=errno</span>
9300093 <span class="preprocessor"></span>
94<a name="l00094"></a><a class="code" href="osclconfig__io_8h.html#a16">00094</a> <span class="preprocessor">#define OsclJoin(s,addr,ok,err)\</span>
9500095 <span class="preprocessor">{\</span>
9600096 <span class="preprocessor">                struct ip_mreq mreq; \</span>
9700097 <span class="preprocessor">            void* p = &amp;addr; \</span>
9800098 <span class="preprocessor">            ok=(bind(s,(sockaddr*)p,sizeof(addr))!=(-1));\</span>
9900099 <span class="preprocessor">        mreq.imr_multiaddr.s_addr = addr.sin_addr.s_addr ; \</span>
10000100 <span class="preprocessor">        mreq.imr_interface.s_addr = htonl(INADDR_ANY); \</span>
10100101 <span class="preprocessor">        ok=(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &amp;mreq, sizeof(struct ip_mreq))!=(-1)); \</span>
10200102 <span class="preprocessor">        if (!ok)err=errno;\</span>
10300103 <span class="preprocessor">}</span>
10400104 <span class="preprocessor"></span>
10500105
106<a name="l00106"></a><a class="code" href="osclconfig__io_8h.html#a17">00106</a> <span class="preprocessor">#define OsclListen(s,size,ok,err)\</span>
10700107 <span class="preprocessor">        ok=(listen(iSocket,qSize)!=(-1));\</span>
10800108 <span class="preprocessor">        if (!ok)err=errno</span>
10900109 <span class="preprocessor"></span>
110<a name="l00110"></a><a class="code" href="osclconfig__io_8h.html#a18">00110</a> <span class="preprocessor">#define OsclAccept(s,accept_s,ok,err,wouldblock)\</span>
11100111 <span class="preprocessor">        accept_s=accept(s,NULL,NULL);\</span>
11200112 <span class="preprocessor">        ok=(accept_s!=(-1));\</span>
11300113 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
11400114 <span class="preprocessor"></span>
115<a name="l00115"></a><a class="code" href="osclconfig__io_8h.html#a19">00115</a> <span class="preprocessor">#define OsclSetNonBlocking(s,ok,err)\</span>
11600116 <span class="preprocessor">        ok=(fcntl(s,F_SETFL,O_NONBLOCK)!=(-1));\</span>
11700117 <span class="preprocessor">        if (!ok)err=errno</span>
11800118 <span class="preprocessor"></span>
119<a name="l00119"></a><a class="code" href="osclconfig__io_8h.html#a20">00119</a> <span class="preprocessor">#define OsclShutdown(s,how,ok,err)\</span>
12000120 <span class="preprocessor">        ok=(shutdown(iSocket,how)!=(-1));\</span>
12100121 <span class="preprocessor">        if (!ok)err=errno</span>
12200122 <span class="preprocessor"></span>
123<a name="l00123"></a><a class="code" href="osclconfig__io_8h.html#a21">00123</a> <span class="preprocessor">#define OsclSocket(s,fam,type,prot,ok,err)\</span>
12400124 <span class="preprocessor">        s=socket(fam,type,prot);\</span>
12500125 <span class="preprocessor">        ok=(s!=(-1));\</span>
12600126 <span class="preprocessor">        if (!ok)err=errno</span>
12700127 <span class="preprocessor"></span>
128<a name="l00128"></a><a class="code" href="osclconfig__io_8h.html#a22">00128</a> <span class="preprocessor">#define OsclSendTo(s,buf,len,addr,ok,err,nbytes,wouldblock)\</span>
12900129 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
13000130 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
13100131 <span class="preprocessor">        nbytes=sendto(s,(const void*)(buf),(size_t)(len),0,sadr,(socklen_t)sizeof(addr));\</span>
13200132 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
13300133 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
13400134 <span class="preprocessor"></span>
135<a name="l00135"></a><a class="code" href="osclconfig__io_8h.html#a23">00135</a> <span class="preprocessor">#define OsclSend(s,buf,len,ok,err,nbytes,wouldblock)\</span>
13600136 <span class="preprocessor">        nbytes=send(s,(const void*)(buf),(size_t)(len),0);\</span>
13700137 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
13800138 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN||err==EWOULDBLOCK);}</span>
13900139 <span class="preprocessor"></span>
140<a name="l00140"></a><a class="code" href="osclconfig__io_8h.html#a24">00140</a> <span class="preprocessor">#define OsclCloseSocket(s,ok,err)\</span>
14100141 <span class="preprocessor">        ok=(close(s)!=(-1));\</span>
14200142 <span class="preprocessor">        if (!ok)err=errno</span>
14300143 <span class="preprocessor"></span>
144<a name="l00144"></a><a class="code" href="osclconfig__io_8h.html#a25">00144</a> <span class="preprocessor">#define OsclConnect(s,addr,ok,err,wouldblock)\</span>
14500145 <span class="preprocessor">    TOsclSockAddr* tmpadr = &amp;addr;\</span>
14600146 <span class="preprocessor">    sockaddr* sadr = OSCL_STATIC_CAST(sockaddr*, tmpadr);\</span>
14700147 <span class="preprocessor">        ok=(connect(s,sadr,sizeof(addr))!=(-1));\</span>
14800148 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EINPROGRESS);}</span>
14900149 <span class="preprocessor"></span>
150<a name="l00150"></a><a class="code" href="osclconfig__io_8h.html#a26">00150</a> <span class="preprocessor">#define OsclGetAsyncSockErr(s,ok,err)\</span>
15100151 <span class="preprocessor">        int opterr;socklen_t optlen=sizeof(opterr);\</span>
15200152 <span class="preprocessor">        ok=(getsockopt(s,SOL_SOCKET,SO_ERROR,(void *)&amp;opterr,&amp;optlen)!=(-1));\</span>
15300153 <span class="preprocessor">        if(ok)err=opterr;else err=errno;</span>
15400154 <span class="preprocessor"></span>
15500155 <span class="comment">//unix reports connect completion in write set in the getsockopt</span>
15600156 <span class="comment">//error.</span>
157<a name="l00157"></a><a class="code" href="osclconfig__io_8h.html#a27">00157</a> <span class="preprocessor">#define OsclConnectComplete(s,wset,eset,success,fail,ok,err)\</span>
15800158 <span class="preprocessor">        success=fail=false;\</span>
15900159 <span class="preprocessor">        if (FD_ISSET(s,&amp;eset))\</span>
16000160 <span class="preprocessor">        {fail=true;OsclGetAsyncSockErr(s,ok,err);}\</span>
16100161 <span class="preprocessor">        else if (FD_ISSET(s,&amp;wset))\</span>
16200162 <span class="preprocessor">        {OsclGetAsyncSockErr(s,ok,err);if (ok &amp;&amp; err==0)success=true;else fail=true;}</span>
16300163 <span class="preprocessor"></span>
164<a name="l00164"></a><a class="code" href="osclconfig__io_8h.html#a28">00164</a> <span class="preprocessor">#define OsclRecv(s,buf,len,ok,err,nbytes,wouldblock)\</span>
16500165 <span class="preprocessor">        nbytes=recv(s,(void *)(buf),(size_t)(len),0);\</span>
16600166 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
16700167 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN);}</span>
16800168 <span class="preprocessor"></span>
169<a name="l00169"></a><a class="code" href="osclconfig__io_8h.html#a29">00169</a> <span class="preprocessor">#define OsclRecvFrom(s,buf,len,paddr,paddrlen,ok,err,nbytes,wouldblock)\</span>
17000170 <span class="preprocessor">{\</span>
17100171 <span class="preprocessor">void* p=paddr;\</span>
17200172 <span class="preprocessor">nbytes=recvfrom(s,(void*)(buf),(size_t)(len),0,(struct sockaddr*)p,paddrlen);\</span>
17300173 <span class="preprocessor">        ok=(nbytes!=(-1));\</span>
17400174 <span class="preprocessor">        if (!ok){err=errno;wouldblock=(err==EAGAIN);}\</span>
17500175 <span class="preprocessor">}</span>
17600176 <span class="preprocessor"></span>
17700177
178<a name="l00178"></a><a class="code" href="osclconfig__io_8h.html#a30">00178</a> <span class="preprocessor">#define OsclSocketSelect(nfds,rd,wr,ex,timeout,ok,err,nhandles)\</span>
17900179 <span class="preprocessor">        nhandles=select(nfds,&amp;rd,&amp;wr,&amp;ex,&amp;timeout);\</span>
18000180 <span class="preprocessor">        ok=(nhandles!=(-1));\</span>
18100181 <span class="preprocessor">        if (!ok)err=errno</span>
18200182 <span class="preprocessor"></span>
18300183 <span class="comment">//there's not really any socket startup needed on unix, but</span>
18400184 <span class="comment">//you need to define a signal handler for SIGPIPE to avoid</span>
18500185 <span class="comment">//broken pipe crashes.</span>
186<a name="l00186"></a><a class="code" href="osclconfig__io_8h.html#a31">00186</a> <span class="preprocessor">#define OsclSocketStartup(ok)\</span>
18700187 <span class="preprocessor">        signal(SIGPIPE,SIG_IGN);\</span>
18800188 <span class="preprocessor">        ok=true</span>
18900189 <span class="preprocessor"></span>
190<a name="l00190"></a><a class="code" href="osclconfig__io_8h.html#a32">00190</a> <span class="preprocessor">#define OsclSocketCleanup(ok)\</span>
19100191 <span class="preprocessor">        signal(SIGPIPE,SIG_DFL);\</span>
19200192 <span class="preprocessor">        ok=true</span>
19300193 <span class="preprocessor"></span>
19400194 <span class="comment">//hostent type</span>
195<a name="l00195"></a><a class="code" href="osclconfig__io_8h.html#a47">00195</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>hostent <a class="code" href="osclconfig__io_8h.html#a47">TOsclHostent</a>;
19600196
19700197 <span class="comment">//wrapper for gethostbyname</span>
198<a name="l00198"></a><a class="code" href="osclconfig__io_8h.html#a33">00198</a> <span class="preprocessor">#define OsclGethostbyname(name,hostent,ok,err)\</span>
19900199 <span class="preprocessor">        hostent=gethostbyname((const char*)name);\</span>
20000200 <span class="preprocessor">        ok=(hostent!=NULL);\</span>
20100201 <span class="preprocessor">        if (!ok)err=errno;</span>
20200202 <span class="preprocessor"></span>
20300203 <span class="comment">//extract dotted address from a hostent</span>
204<a name="l00204"></a><a class="code" href="osclconfig__io_8h.html#a34">00204</a> <span class="preprocessor">#define OsclGetDottedAddr(hostent,dottedaddr,ok)\</span>
20500205 <span class="preprocessor">        long *_hostaddr=(long*)hostent-&gt;h_addr_list[0];\</span>
20600206 <span class="preprocessor">        struct in_addr _inaddr;\</span>
20700207 <span class="preprocessor">        _inaddr.s_addr=*_hostaddr;\</span>
20800208 <span class="preprocessor">        dottedaddr=inet_ntoa(_inaddr);\</span>
20900209 <span class="preprocessor">        ok=(dottedaddr!=NULL);</span>
21000210 <span class="preprocessor"></span>
21100211 <span class="comment">//socket shutdown codes</span>
212<a name="l00212"></a><a class="code" href="osclconfig__io_8h.html#a35">00212</a> <span class="preprocessor">#define OSCL_SD_RECEIVE SHUT_RD</span>
213<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_SEND SHUT_WR</span>
214<a name="l00214"></a><a class="code" href="osclconfig__io_8h.html#a37">00214</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_SD_BOTH SHUT_RDWR</span>
21500215 <span class="preprocessor"></span>
21600216 <span class="comment">//address family codes</span>
217<a name="l00217"></a><a class="code" href="osclconfig__io_8h.html#a38">00217</a> <span class="preprocessor">#define OSCL_AF_INET AF_INET</span>
21800218 <span class="preprocessor"></span>
21900219 <span class="comment">//socket type codes</span>
220<a name="l00220"></a><a class="code" href="osclconfig__io_8h.html#a39">00220</a> <span class="preprocessor">#define OSCL_SOCK_STREAM SOCK_STREAM</span>
221<a name="l00221"></a><a class="code" href="osclconfig__io_8h.html#a40">00221</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_SOCK_DATAGRAM SOCK_DGRAM</span>
22200222 <span class="preprocessor"></span>
22300223 <span class="comment">//IP protocol codes</span>
224<a name="l00224"></a><a class="code" href="osclconfig__io_8h.html#a41">00224</a> <span class="preprocessor">#define OSCL_IPPROTO_TCP IPPROTO_TCP</span>
225<a name="l00225"></a><a class="code" href="osclconfig__io_8h.html#a42">00225</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_IPPROTO_UDP IPPROTO_UDP</span>
22600226 <span class="preprocessor"></span>
22700227 <span class="comment">//End sockets</span>
22800228 <span class="comment">// file IO support</span>
22900229 <span class="preprocessor">#if (OSCL_HAS_LARGE_FILE_SUPPORT)</span>
230<a name="l00230"></a><a class="code" href="osclconfig__io_8h.html#a43">00230</a> <span class="preprocessor"></span><span class="preprocessor">#define _FILE_OFFSET_BITS 64</span>
231<a name="l00231"></a><a class="code" href="osclconfig__io_8h.html#a48">00231</a> <span class="preprocessor"></span><span class="keyword">typedef</span> off_t <a class="code" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a>;
23200232 <span class="preprocessor">#else</span>
23300233 <span class="preprocessor"></span><span class="keyword">typedef</span> int32 <a class="code" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a>;
23400234 <span class="preprocessor">#endif</span>
23500235 <span class="preprocessor"></span>
23600236 <span class="preprocessor">#include "<a class="code" href="osclconfig__io__check_8h.html">osclconfig_io_check.h</a>"</span>
23700237
23800238 <span class="preprocessor">#endif</span>
23900239 <span class="preprocessor"></span>
240</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
241<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
242</small></address>
243</body>
244</html>
245