blob: 7f610b71779b300ac44aa29186f09a575dfd74eb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>osclconfig_unix_common.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_unix_common.h</h1><a href="osclconfig__unix__common_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 _ U N I X _ C O M M O N</span>
00005
00006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
00007
00008
00017 <span class="preprocessor">#ifndef OSCLCONFIG_UNIX_COMMON_H_INCLUDED</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define OSCLCONFIG_UNIX_COMMON_H_INCLUDED</span>
00019 <span class="preprocessor"></span>
00020
00021 <span class="comment">// system header files</span>
00022 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">// abort</span>
00023 <span class="preprocessor">#include &lt;stdarg.h&gt;</span> <span class="comment">// va_list</span>
00024 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
00025 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00026 <span class="preprocessor">#include &lt;wchar.h&gt;</span>
00027 <span class="preprocessor">#include &lt;string.h&gt;</span>
00028 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">//for sleep</span>
00029 <span class="preprocessor">#include &lt;pthread.h&gt;</span>
00030 <span class="preprocessor">#include &lt;ctype.h&gt;</span> <span class="comment">// for tolower and toupper</span>
00031 <span class="preprocessor">#ifdef __cplusplus</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;new&gt;</span> <span class="comment">//for placement new</span>
00033 <span class="preprocessor">#endif</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#include &lt;math.h&gt;</span>
00035
<a name="l00036"></a><a class="code" href="osclconfig__unix__common_8h.html#a0">00036</a> <span class="preprocessor">#define OSCL_DISABLE_INLINES 0</span>
00037 <span class="preprocessor"></span>
<a name="l00038"></a><a class="code" href="osclconfig__unix__common_8h.html#a1">00038</a> <span class="preprocessor">#define OSCL_HAS_ANSI_STDLIB_SUPPORT 1</span>
<a name="l00039"></a><a class="code" href="osclconfig__unix__common_8h.html#a2">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_ANSI_MATH_SUPPORT 1</span>
<a name="l00040"></a><a class="code" href="osclconfig__unix__common_8h.html#a3">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_GLOBAL_VARIABLE_SUPPORT 1</span>
<a name="l00041"></a><a class="code" href="osclconfig__unix__common_8h.html#a4">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_ANSI_STRING_SUPPORT 1</span>
<a name="l00042"></a><a class="code" href="osclconfig__unix__common_8h.html#a5">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_ANSI_WIDE_STRING_SUPPORT 1</span>
<a name="l00043"></a><a class="code" href="osclconfig__unix__common_8h.html#a6">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_ANSI_STDIO_SUPPORT 1</span>
00044 <span class="preprocessor"></span>
<a name="l00045"></a><a class="code" href="osclconfig__unix__common_8h.html#a7">00045</a> <span class="preprocessor">#define OSCL_MEMFRAG_PTR_BEFORE_LEN 1</span>
00046 <span class="preprocessor"></span>
<a name="l00047"></a><a class="code" href="osclconfig__unix__common_8h.html#a8">00047</a> <span class="preprocessor">#define OSCL_HAS_UNIX_SUPPORT 1</span>
<a name="l00048"></a><a class="code" href="osclconfig__unix__common_8h.html#a9">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_MSWIN_SUPPORT 0</span>
<a name="l00049"></a><a class="code" href="osclconfig__unix__common_8h.html#a10">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_SYMBIAN_SUPPORT 0</span>
00050 <span class="preprocessor"></span>
00051 <span class="comment">// 64-bit int</span>
<a name="l00052"></a><a class="code" href="osclconfig__unix__common_8h.html#a11">00052</a> <span class="preprocessor">#define OSCL_HAS_NATIVE_INT64_TYPE 1</span>
<a name="l00053"></a><a class="code" href="osclconfig__unix__common_8h.html#a12">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_HAS_NATIVE_UINT64_TYPE 1</span>
<a name="l00054"></a><a class="code" href="osclconfig__unix__common_8h.html#a13">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_NATIVE_INT64_TYPE int64_t</span>
<a name="l00055"></a><a class="code" href="osclconfig__unix__common_8h.html#a14">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_NATIVE_UINT64_TYPE uint64_t</span>
<a name="l00056"></a><a class="code" href="osclconfig__unix__common_8h.html#a15">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define INT64(x) x##LL</span>
<a name="l00057"></a><a class="code" href="osclconfig__unix__common_8h.html#a16">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define UINT64(x) x##ULL</span>
<a name="l00058"></a><a class="code" href="osclconfig__unix__common_8h.html#a17">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define INT64_HILO(high,low) ((((high##LL))&lt;&lt;32)|low)</span>
<a name="l00059"></a><a class="code" href="osclconfig__unix__common_8h.html#a18">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define UINT64_HILO(high,low) ((((high##ULL))&lt;&lt;32)|low)</span>
00060 <span class="preprocessor"></span>
00061 <span class="comment">// character set.</span>
<a name="l00062"></a><a class="code" href="osclconfig__unix__common_8h.html#a19">00062</a> <span class="preprocessor">#define OSCL_HAS_UNICODE_SUPPORT 1</span>
<a name="l00063"></a><a class="code" href="osclconfig__unix__common_8h.html#a20">00063</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_NATIVE_WCHAR_TYPE wchar_t</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#if (OSCL_HAS_UNICODE_SUPPORT)</span>
<a name="l00065"></a><a class="code" href="osclconfig__unix__common_8h.html#a21">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define _STRLIT(x) L ## x</span>
00066 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00067 <span class="preprocessor"></span><span class="preprocessor">#define _STRLIT(x) x</span>
00068 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00069"></a><a class="code" href="osclconfig__unix__common_8h.html#a22">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define _STRLIT_CHAR(x) x</span>
<a name="l00070"></a><a class="code" href="osclconfig__unix__common_8h.html#a23">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define _STRLIT_WCHAR(x) L ## x</span>
00071 <span class="preprocessor"></span>
00072 <span class="comment">// Thread-local storage. Unix has keyed TLS.</span>
<a name="l00073"></a><a class="code" href="osclconfig__unix__common_8h.html#a24">00073</a> <span class="preprocessor">#define OSCL_HAS_TLS_SUPPORT 1</span>
<a name="l00074"></a><a class="code" href="osclconfig__unix__common_8h.html#a25">00074</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_TLS_IS_KEYED 1</span>
<a name="l00075"></a><a class="code" href="osclconfig__unix__common_8h.html#a31">00075</a> <span class="preprocessor"></span><span class="keyword">typedef</span> pthread_key_t <a class="code" href="osclconfig__unix__common_8h.html#a31">TOsclTlsKey</a> ;
<a name="l00076"></a><a class="code" href="osclconfig__unix__common_8h.html#a26">00076</a> <span class="preprocessor">#define OSCL_TLS_KEY_CREATE_FUNC(key) (pthread_key_create(&amp;key,NULL)==0)</span>
<a name="l00077"></a><a class="code" href="osclconfig__unix__common_8h.html#a27">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_TLS_KEY_DELETE_FUNC(key) pthread_key_delete(key)</span>
<a name="l00078"></a><a class="code" href="osclconfig__unix__common_8h.html#a28">00078</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_TLS_STORE_FUNC(key,ptr) (pthread_setspecific(key,(const void*)ptr)==0)</span>
<a name="l00079"></a><a class="code" href="osclconfig__unix__common_8h.html#a29">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define OSCL_TLS_GET_FUNC(key) pthread_getspecific(key)</span>
00080 <span class="preprocessor"></span>
00081 <span class="comment">//Basic lock</span>
<a name="l00082"></a><a class="code" href="osclconfig__unix__common_8h.html#a30">00082</a> <span class="preprocessor">#define OSCL_HAS_BASIC_LOCK 1</span>
00083 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span>
<a name="l00084"></a><a class="code" href="osclconfig__unix__common_8h.html#a32">00084</a> <span class="keyword">typedef</span> pthread_mutex_t <a class="code" href="osclconfig__unix__common_8h.html#a32">TOsclBasicLockObject</a>;
00085
00086 <span class="preprocessor">#endif // OSCLCONFIG_UNIX_COMMON_H_INCLUDED</span>
00087 <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_20090310 </small>
</small></address>
</body>
</html>