• 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>OSCL Base</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>OSCL Base</h1><table border=0 cellpadding=0 cellspacing=0>
10<tr><td></td></tr>
11<tr><td colspan=2><br><h2>Files</h2></td></tr>
12<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__assert_8h.html">oscl_assert.h</a></td></tr>
13<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__assert_8h.html">oscl_assert.h</a> provides an OSCL_ASSERT macro to document assumptions and test them during development.</em></font><br><br></td></tr>
14
15<p>
16<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__base_8h.html">oscl_base.h</a></td></tr>
17<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__base_8h.html">oscl_base.h</a> is the public header that should be included to pick up the platform configuration, basic type definitions, and common macros.</em></font><br><br></td></tr>
18
19<p>
20<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__base__alloc_8h.html">oscl_base_alloc.h</a></td></tr>
21<tr><td>&nbsp;</td><td><font size=-1><em>A basic allocator that does not rely on other modules.</em></font><br><br></td></tr>
22
23<p>
24<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__base__macros_8h.html">oscl_base_macros.h</a></td></tr>
25<tr><td>&nbsp;</td><td><font size=-1><em>This file defines common macros and constants for basic compilation support.</em></font><br><br></td></tr>
26
27<p>
28<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__byte__order_8h.html">oscl_byte_order.h</a></td></tr>
29<tr><td>&nbsp;</td><td><font size=-1><em>This file defines functions providing byte ordering utility (e.g., switching between big and little endian orders).</em></font><br><br></td></tr>
30
31<p>
32<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__defalloc_8h.html">oscl_defalloc.h</a></td></tr>
33<tr><td>&nbsp;</td><td><font size=-1><em>The file defines simple default memory allocator classes. These allocators are used by the <a class="el" href="classOscl__Vector.html">Oscl_Vector</a> and <a class="el" href="classOscl__Map.html">Oscl_Map</a> class, etc.</em></font><br><br></td></tr>
34
35<p>
36<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__dll_8h.html">oscl_dll.h</a></td></tr>
37<tr><td>&nbsp;</td><td><font size=-1><em>Defines a DLL entry point.</em></font><br><br></td></tr>
38
39<p>
40<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__exclusive__ptr_8h.html">oscl_exclusive_ptr.h</a></td></tr>
41<tr><td>&nbsp;</td><td><font size=-1><em>This file defines the <a class="el" href="classOsclExclusivePtr.html">OsclExclusivePtr</a> template class. This class is used to avoid any potential memory leaks that may arise while returning from methods in case of error.</em></font><br><br></td></tr>
42
43<p>
44<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__linked__list_8h.html">oscl_linked_list.h</a></td></tr>
45<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__linked__list_8h.html">oscl_linked_list.h</a> defines the template class <a class="el" href="classOscl__Linked__List.html">Oscl_Linked_List</a> which has a very similar API as the STL Vector class (it basically provides a subset of the STL functionality). Memory allocation is abstracted through the use of an allocator template parameter.</em></font><br><br></td></tr>
46
47<p>
48<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__lock__base_8h.html">oscl_lock_base.h</a></td></tr>
49<tr><td>&nbsp;</td><td><font size=-1><em>This file defines an abstract lock class, <a class="el" href="classOsclLockBase.html">OsclLockBase</a>, that is used for APIs potentially requiring multi-thread safety. A null-lock implementation, <a class="el" href="classOsclNullLock.html">OsclNullLock</a>, is also provided for single-thread configurations (basically a noop for lock/unlock). Also provides the <a class="el" href="classOsclScopedLock.html">OsclScopedLock</a> class which is template class takes care of freeing the lock when the class goes out of scope.</em></font><br><br></td></tr>
50
51<p>
52<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__map_8h.html">oscl_map.h</a></td></tr>
53<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__map_8h.html">oscl_map.h</a> defines the template class <a class="el" href="classOscl__Map.html">Oscl_Map</a> which has a very similar API as the STL Map class (it basically provides a subset of the STL functionality). Memory allocation is abstracted through the use of an allocator template parameter.</em></font><br><br></td></tr>
54
55<p>
56<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__inst_8h.html">oscl_mem_inst.h</a></td></tr>
57<tr><td>&nbsp;</td><td><font size=-1><em>The file defines default memory instrumentation level.</em></font><br><br></td></tr>
58
59<p>
60<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__opaque__type_8h.html">oscl_opaque_type.h</a></td></tr>
61<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__opaque__type_8h.html">oscl_opaque_type.h</a> defines pure virtual classes for working with opaque types.</em></font><br><br></td></tr>
62
63<p>
64<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__queue_8h.html">oscl_queue.h</a></td></tr>
65<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__queue_8h.html">oscl_queue.h</a> defines the template class <a class="el" href="classOscl__Queue.html">Oscl_Queue</a>. It is similar to the STL::queue class, with some differences: - less complete - based on array rather than a deque - some interfaces modeled on oscl_vector, for ease of transition Memory allocation is abstracted through the use of an allocator template parameter.</em></font><br><br></td></tr>
66
67<p>
68<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__refcounter_8h.html">oscl_refcounter.h</a></td></tr>
69<tr><td>&nbsp;</td><td><font size=-1><em>A general purpose reference counter to object lifetimes.</em></font><br><br></td></tr>
70
71<p>
72<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__refcounter__memfrag_8h.html">oscl_refcounter_memfrag.h</a></td></tr>
73<tr><td>&nbsp;</td><td><font size=-1><em>This file provides the definition of reference counted memory fragment, which provides access to a buffer and helps manage its manage its lifetime through the refcount.</em></font><br><br></td></tr>
74
75<p>
76<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__shared__ptr_8h.html">oscl_shared_ptr.h</a></td></tr>
77<tr><td>&nbsp;</td><td><font size=-1><em>This file defines a template class <a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a> which is a "smart pointer" to the parameterized type.</em></font><br><br></td></tr>
78
79<p>
80<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__stdstring_8h.html">oscl_stdstring.h</a></td></tr>
81<tr><td>&nbsp;</td><td><font size=-1><em>This file provides standard string operations such as strlen, strncpy, etc.</em></font><br><br></td></tr>
82
83<p>
84<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__tagtree_8h.html">oscl_tagtree.h</a></td></tr>
85<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__tagtree_8h.html">oscl_tagtree.h</a> ...</em></font><br><br></td></tr>
86
87<p>
88<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__time_8h.html">oscl_time.h</a></td></tr>
89<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__time_8h.html">oscl_time.h</a> defines to classes <a class="el" href="classNTPTime.html">NTPTime</a> and <a class="el" href="classTimeValue.html">TimeValue</a> for getting, manipulating, and formatting time values. The <a class="el" href="classTimeValue.html">TimeValue</a> class is based on the native system time format while <a class="el" href="classNTPTime.html">NTPTime</a> is used for the standard Network Time Protocol format.</em></font><br><br></td></tr>
90
91<p>
92<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__tree_8h.html">oscl_tree.h</a></td></tr>
93<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__tree_8h.html">oscl_tree.h</a> defines the template class <a class="el" href="classOscl__Rb__Tree.html">Oscl_Rb_Tree</a> which has a very similar API as the STL Tree class. It is an implementation of a Red-Black Tree for use by the <a class="el" href="classOscl__Map.html">Oscl_Map</a> class. Memory allocation is abstracted through the use of an allocator template parameter.</em></font><br><br></td></tr>
94
95<p>
96<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__types_8h.html">oscl_types.h</a></td></tr>
97<tr><td>&nbsp;</td><td><font size=-1><em>This file contains basic type definitions for common use across platforms.</em></font><br><br></td></tr>
98
99<p>
100<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__vector_8h.html">oscl_vector.h</a></td></tr>
101<tr><td>&nbsp;</td><td><font size=-1><em>The file <a class="el" href="oscl__vector_8h.html">oscl_vector.h</a> defines the template class <a class="el" href="classOscl__Vector.html">Oscl_Vector</a> which has a very similar API as the STL Vector class (it basically provides a subset of the STL functionality). Memory allocation is abstracted through the use of an allocator template parameter.</em></font><br><br></td></tr>
102
103<p>
104<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
105<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a></td></tr>
106<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classLinkedListElement.html">LinkedListElement</a></td></tr>
107<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classNTPTime.html">NTPTime</a></td></tr>
108<tr><td>&nbsp;</td><td><font size=-1><em>The NTPTime class represents a time value as the number of seconds since 0h (UTC) Jan. 1, 1900.</em> <a href="classNTPTime.html#_details">More...</a><em></em></font><br><br></td></tr>
109<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Alloc.html">Oscl_Alloc</a></td></tr>
110<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Dealloc.html">Oscl_Dealloc</a></td></tr>
111<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a></td></tr>
112<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__DefAllocWithRefCounter.html">Oscl_DefAllocWithRefCounter</a></td></tr>
113<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Less.html">Oscl_Less</a></td></tr>
114<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Linked__List.html">Oscl_Linked_List</a></td></tr>
115<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Linked__List__Base.html">Oscl_Linked_List_Base</a></td></tr>
116<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Map.html">Oscl_Map</a></td></tr>
117<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html">Oscl_MTLinked_List</a></td></tr>
118<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Opaque__Type__Alloc.html">Oscl_Opaque_Type_Alloc</a></td></tr>
119<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Opaque__Type__Alloc__LL.html">Oscl_Opaque_Type_Alloc_LL</a></td></tr>
120<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Opaque__Type__Compare.html">Oscl_Opaque_Type_Compare</a></td></tr>
121<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Pair.html">Oscl_Pair</a></td></tr>
122<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Queue.html">Oscl_Queue</a></td></tr>
123<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html">Oscl_Queue_Base</a></td></tr>
124<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Rb__Tree.html">Oscl_Rb_Tree</a></td></tr>
125<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Rb__Tree__Base.html">Oscl_Rb_Tree_Base</a></td></tr>
126<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Rb__Tree__Const__Iterator.html">Oscl_Rb_Tree_Const_Iterator</a></td></tr>
127<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Rb__Tree__Iterator.html">Oscl_Rb_Tree_Iterator</a></td></tr>
128<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Rb__Tree__Node.html">Oscl_Rb_Tree_Node</a></td></tr>
129<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Rb__Tree__Node__Base.html">Oscl_Rb_Tree_Node_Base</a></td></tr>
130<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Select1st.html">Oscl_Select1st</a></td></tr>
131<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Tag.html">Oscl_Tag</a></td></tr>
132<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOscl__Tag__Base.html">Oscl_Tag_Base</a></td></tr>
133<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a></td></tr>
134<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a></td></tr>
135<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Vector.html">Oscl_Vector</a></td></tr>
136<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOscl__Vector__Base.html">Oscl_Vector_Base</a></td></tr>
137<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclAllocDestructDealloc.html">OsclAllocDestructDealloc</a></td></tr>
138<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclDestructDealloc.html">OsclDestructDealloc</a></td></tr>
139<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclExclusiveArrayPtr.html">OsclExclusiveArrayPtr</a></td></tr>
140<tr><td>&nbsp;</td><td><font size=-1><em>The OsclExclusiveArrayPtr class is a template class that defines an array pointer like object intended to be assigned an address obtanined (directly or or indirectly) by new. When the OsclExclusiveArrayPtr expires, its destructor uses delete to free the memory.</em> <a href="classOsclExclusiveArrayPtr.html#_details">More...</a><em></em></font><br><br></td></tr>
141<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclExclusivePtr.html">OsclExclusivePtr</a></td></tr>
142<tr><td>&nbsp;</td><td><font size=-1><em>The OsclExclusivePtr class is a template class that defines a pointer like object intended to be assigned an address obtanined (directly or or indirectly) by new. When the OsclExclusivePtr expires, its destructor uses delete to free the memory.</em> <a href="classOsclExclusivePtr.html#_details">More...</a><em></em></font><br><br></td></tr>
143<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclExclusivePtrA.html">OsclExclusivePtrA</a></td></tr>
144<tr><td>&nbsp;</td><td><font size=-1><em>The OsclExclusivePtrA class is a template class that defines any pointer like object intended to be assigned an address obtanined (directly or or indirectly) through Alloc. When the OsclExclusivePtrA expires, Alloc is used to free the memory.</em> <a href="classOsclExclusivePtrA.html#_details">More...</a><em></em></font><br><br></td></tr>
145<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclLockBase.html">OsclLockBase</a></td></tr>
146<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structOsclMemoryFragment.html">OsclMemoryFragment</a></td></tr>
147<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclNullLock.html">OsclNullLock</a></td></tr>
148<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a></td></tr>
149<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounterDA.html">OsclRefCounterDA</a></td></tr>
150<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounterMemFrag.html">OsclRefCounterMemFrag</a></td></tr>
151<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounterMTDA.html">OsclRefCounterMTDA</a></td></tr>
152<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounterMTSA.html">OsclRefCounterMTSA</a></td></tr>
153<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclRefCounterSA.html">OsclRefCounterSA</a></td></tr>
154<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclScopedLock.html">OsclScopedLock</a></td></tr>
155<tr><td>&nbsp;</td><td><font size=-1><em>The OsclScopedLock class is a template class that handles unlocking an abstract class on destruction. This is very useful for ensuring that the lock is released when the OsclScopedLock goes out of scope.</em> <a href="classOsclScopedLock.html#_details">More...</a><em></em></font><br><br></td></tr>
156<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a></td></tr>
157<tr><td>&nbsp;</td><td><font size=-1><em>A parameterized smart pointer class.</em> <a href="classOsclSharedPtr.html#_details">More...</a><em></em></font><br><br></td></tr>
158<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLS.html">OsclTLS</a></td></tr>
159<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLSRegistry.html">OsclTLSRegistry</a></td></tr>
160<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTimeValue.html">TimeValue</a></td></tr>
161<tr><td>&nbsp;</td><td><font size=-1><em>The TimeValue class represents a time value in a format native to the system.</em> <a href="classTimeValue.html#_details">More...</a><em></em></font><br><br></td></tr>
162<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTLSStorageOps.html">TLSStorageOps</a></td></tr>
163<tr><td colspan=2><br><h2>Defines</h2></td></tr>
164<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a78">OSCL_ASSERT</a>(_expr)&nbsp;&nbsp;&nbsp;((_expr)?((void)0):OSCL_Assert(# _expr,__FILE__,__LINE__))</td></tr>
165<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a79">OSCL_HAS_SINGLETON_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
166<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a80">NULL_TERM_CHAR</a>&nbsp;&nbsp;&nbsp;'\0'</td></tr>
167<tr><td>&nbsp;</td><td><font size=-1><em>The NULL_TERM_CHAR is used to terminate c-style strings.</em> <a href="#a80"></a><em></em></font><br><br></td></tr>
168<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a81">NULL</a>&nbsp;&nbsp;&nbsp;(0)</td></tr>
169<tr><td>&nbsp;</td><td><font size=-1><em>if the NULL macro isn't already defined, then define it as zero.</em> <a href="#a81"></a><em></em></font><br><br></td></tr>
170<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a82">OSCL_INLINE</a>&nbsp;&nbsp;&nbsp;inline</td></tr>
171<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a83">OSCL_COND_EXPORT_REF</a></td></tr>
172<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a84">OSCL_COND_IMPORT_REF</a></td></tr>
173<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a85">OSCL_CONST_CAST</a>(type, exp)&nbsp;&nbsp;&nbsp;((type)(exp))</td></tr>
174<tr><td>&nbsp;</td><td><font size=-1><em>Type casting macros.</em> <a href="#a85"></a><em></em></font><br><br></td></tr>
175<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a86">OSCL_STATIC_CAST</a>(type, exp)&nbsp;&nbsp;&nbsp;((type)(exp))</td></tr>
176<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a87">OSCL_REINTERPRET_CAST</a>(type, exp)&nbsp;&nbsp;&nbsp;((type)(exp))</td></tr>
177<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a88">OSCL_DYNAMIC_CAST</a>(type, exp)&nbsp;&nbsp;&nbsp;((type)(exp))</td></tr>
178<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a89">OSCL_UNUSED_ARG</a>(vbl)&nbsp;&nbsp;&nbsp;(void)(vbl)</td></tr>
179<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a90">OSCL_UNUSED_RETURN</a>(value)&nbsp;&nbsp;&nbsp;return value</td></tr>
180<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a91">OSCL_MIN</a>(a, b)&nbsp;&nbsp;&nbsp;((a) &lt; (b) ? (a) : (b))</td></tr>
181<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a92">OSCL_MAX</a>(a, b)&nbsp;&nbsp;&nbsp;((a) &gt; (b) ? (a) : (b))</td></tr>
182<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a93">OSCL_ABS</a>(a)&nbsp;&nbsp;&nbsp;((a) &gt; (0) ? (a) : -(a))</td></tr>
183<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a94">OSCL_TEMPLATED_DESTRUCTOR_CALL</a>(type, simple_type)&nbsp;&nbsp;&nbsp;type :: ~simple_type ()</td></tr>
184<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a95">OSCL_UNSIGNED_CONST</a>(x)&nbsp;&nbsp;&nbsp;x</td></tr>
185<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a96">OSCL_PACKED_VAR</a>&nbsp;&nbsp;&nbsp;"error"</td></tr>
186<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a97">OSCL_BEGIN_PACKED</a>&nbsp;&nbsp;&nbsp;"error"</td></tr>
187<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a98">OSCL_END_PACKED</a>&nbsp;&nbsp;&nbsp;"error"</td></tr>
188<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a99">OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE</a></td></tr>
189<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a100">ALLOCATE</a>(n)&nbsp;&nbsp;&nbsp;allocate_fl(n,__FILE__,__LINE__)</td></tr>
190<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a101">ALLOC_AND_CONSTRUCT</a>(n)&nbsp;&nbsp;&nbsp;alloc_and_construct_fl(n,__FILE__,__LINE__)</td></tr>
191<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a102">OSCL_DLL_ENTRY_POINT</a>()&nbsp;&nbsp;&nbsp;void oscl_dll_entry_point() {}</td></tr>
192<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a103">OSCL_DLL_ENTRY_POINT_DEFAULT</a>()</td></tr>
193<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a104">PVMEM_INST_LEVEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
194<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a105">OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT</a></td></tr>
195<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a106">OSCL_TLS_BASE_SLOTS</a>&nbsp;&nbsp;&nbsp;<a class="el" href="group__osclbase.html#a23">OSCL_TLS_ID_BASE_LAST</a> +1</td></tr>
196<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a107">OSCL_TLS_EXTERNAL_SLOTS</a>&nbsp;&nbsp;&nbsp;0</td></tr>
197<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a108">OSCL_TLS_MAX_SLOTS</a>&nbsp;&nbsp;&nbsp;( OSCL_TLS_BASE_SLOTS + OSCL_TLS_EXTERNAL_SLOTS)</td></tr>
198<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
199<tr><td nowrap align=right valign=top>typedef char&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a2">CtimeStrBuf</a> [<a class="el" href="group__osclbase.html#a0">CTIME_BUFFER_SIZE</a>]</td></tr>
200<tr><td nowrap align=right valign=top>typedef char&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a3">PV8601timeStrBuf</a> [<a class="el" href="group__osclbase.html#a1">PV8601TIME_BUFFER_SIZE</a>]</td></tr>
201<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__osclbase.html#a25">OsclAny</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a10">TOsclTlsKey</a></td></tr>
202<tr><td nowrap align=right valign=top>typedef int&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a24">c_bool</a></td></tr>
203<tr><td>&nbsp;</td><td><font size=-1><em>The c_bool type is mapped to an integer to provide a bool type for C interfaces.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
204<tr><td nowrap align=right valign=top>typedef void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a25">OsclAny</a></td></tr>
205<tr><td>&nbsp;</td><td><font size=-1><em>The OsclAny is meant to be used the context of a generic pointer (i.e., no specific type).</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
206<tr><td nowrap align=right valign=top>typedef char&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a26">mbchar</a></td></tr>
207<tr><td>&nbsp;</td><td><font size=-1><em>mbchar is multi-byte char (e.g., UTF-8) with null termination.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
208<tr><td nowrap align=right valign=top>typedef unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a27">uint</a></td></tr>
209<tr><td>&nbsp;</td><td><font size=-1><em>The uint type is a convenient abbreviation for unsigned int.</em> <a href="#a27"></a><em></em></font><br><br></td></tr>
210<tr><td nowrap align=right valign=top>typedef uint8&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a28">octet</a></td></tr>
211<tr><td>&nbsp;</td><td><font size=-1><em>The octet type is meant to be used for referring to a byte or collection bytes without suggesting anything about the underlying meaning of the bytes.</em> <a href="#a28"></a><em></em></font><br><br></td></tr>
212<tr><td nowrap align=right valign=top>typedef float&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a29">OsclFloat</a></td></tr>
213<tr><td>&nbsp;</td><td><font size=-1><em>The Float type defined as OsclFloat.</em> <a href="#a29"></a><em></em></font><br><br></td></tr>
214<tr><td nowrap align=right valign=top>typedef OSCL_NATIVE_INT64_TYPE&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a30">int64</a></td></tr>
215<tr><td nowrap align=right valign=top>typedef OSCL_NATIVE_UINT64_TYPE&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a31">uint64</a></td></tr>
216<tr><td nowrap align=right valign=top>typedef OSCL_NATIVE_WCHAR_TYPE&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a32">oscl_wchar</a></td></tr>
217<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a33">OSCL_TCHAR</a></td></tr>
218<tr><td>&nbsp;</td><td><font size=-1><em>define OSCL_TCHAR</em> <a href="#a33"></a><em></em></font><br><br></td></tr>
219<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
220<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a109">TimeUnits</a> { <a class="el" href="group__osclbase.html#a109a10">SECONDS</a> =  0,
221<a class="el" href="group__osclbase.html#a109a11">MILLISECONDS</a> =  1,
222<a class="el" href="group__osclbase.html#a109a12">MICROSECONDS</a> =  2
223 }</td></tr>
224<tr><td>&nbsp;</td><td><font size=-1><em>The TimeUnits enum can be used when constructing a <a class="el" href="classTimeValue.html">TimeValue</a> class.</em> <a href="#a109">More...</a><em></em></font><br><br></td></tr>
225<tr><td colspan=2><br><h2>Functions</h2></td></tr>
226<tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a34">_OSCL_Abort</a> ()</td></tr>
227<tr><td>&nbsp;</td><td><font size=-1><em>This function terminates the current process abnormally.</em> <a href="#a34"></a><em></em></font><br><br></td></tr>
228<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a35">OSCL_Assert</a> (const char *expr, const char *filename, int line_number)</td></tr>
229<tr><td>&nbsp;</td><td><font size=-1><em>OSCL_ASSERT macro evaluates an expression and when the result is false, prints a diagnostic message and aborts the program.</em> <a href="#a35"></a><em></em></font><br><br></td></tr>
230<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a36">PVOsclBase_Init</a> ()</td></tr>
231<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a37">PVOsclBase_Cleanup</a> ()</td></tr>
232<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a38">little_endian_to_host</a> (char *data, uint32 size)</td></tr>
233<tr><td>&nbsp;</td><td><font size=-1><em>Convert little endian to host format.</em> <a href="#a38"></a><em></em></font><br><br></td></tr>
234<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a39">host_to_little_endian</a> (char *data, unsigned int size)</td></tr>
235<tr><td>&nbsp;</td><td><font size=-1><em>Convert host to little endian format.</em> <a href="#a39"></a><em></em></font><br><br></td></tr>
236<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a40">big_endian_to_host</a> (char *data, unsigned int size)</td></tr>
237<tr><td>&nbsp;</td><td><font size=-1><em>Convert big endian to host format.</em> <a href="#a40"></a><em></em></font><br><br></td></tr>
238<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a41">host_to_big_endian</a> (char *data, unsigned int size)</td></tr>
239<tr><td>&nbsp;</td><td><font size=-1><em>Convert host to big endian format.</em> <a href="#a41"></a><em></em></font><br><br></td></tr>
240<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a42">oscl_strlen</a> (const char *str)</td></tr>
241<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a43">oscl_strlen</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str)</td></tr>
242<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a44">oscl_strncpy</a> (char *dest, const char *src, uint32 count)</td></tr>
243<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a45">oscl_strncpy</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *dest, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *src, uint32 count)</td></tr>
244<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a46">oscl_strcmp</a> (const char *str1, const char *str2)</td></tr>
245<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a47">oscl_strcmp</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2)</td></tr>
246<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a48">oscl_strncmp</a> (const char *str1, const char *str2, uint32 count)</td></tr>
247<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a49">oscl_strncmp</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2, uint32 count)</td></tr>
248<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a50">oscl_strncat</a> (char *dest, const char *src, uint32 count)</td></tr>
249<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a51">oscl_strncat</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *dest, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *src, uint32 count)</td></tr>
250<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a52">oscl_strchr</a> (const char *str, int32 c)</td></tr>
251<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a53">oscl_strchr</a> (char *str, int32 c)</td></tr>
252<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a54">oscl_strchr</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str, int32 c)</td></tr>
253<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a55">oscl_strchr</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str, int32 c)</td></tr>
254<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a56">oscl_strrchr</a> (const char *str, int32 c)</td></tr>
255<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a57">oscl_strrchr</a> (char *str, int32 c)</td></tr>
256<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a58">oscl_strrchr</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str, int32 c)</td></tr>
257<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a59">oscl_strrchr</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str, int32 c)</td></tr>
258<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a60">oscl_strset</a> (char *dest, char val, uint32 count)</td></tr>
259<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a61">oscl_strset</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *dest, <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> val, uint32 count)</td></tr>
260<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a62">oscl_CIstrcmp</a> (const char *str1, const char *str2)</td></tr>
261<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a63">oscl_CIstrcmp</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2)</td></tr>
262<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a64">oscl_CIstrncmp</a> (const char *str1, const char *str2, uint32 count)</td></tr>
263<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a65">oscl_CIstrncmp</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2, uint32 count)</td></tr>
264<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a66">oscl_tolower</a> (const char car)</td></tr>
265<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a67">oscl_tolower</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> car)</td></tr>
266<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a68">oscl_isLetter</a> (const char car)</td></tr>
267<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a69">oscl_strstr</a> (const char *str1, const char *str2)</td></tr>
268<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a70">oscl_strstr</a> (char *str1, const char *str2)</td></tr>
269<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a71">oscl_strstr</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2)</td></tr>
270<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a72">oscl_strstr</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str1, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *str2)</td></tr>
271<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a73">oscl_strcat</a> (char *dest, const char *src)</td></tr>
272<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a74">oscl_strcat</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *dest, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *src)</td></tr>
273<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a75">PV8601ToRFC822</a> (<a class="el" href="group__osclbase.html#a3">PV8601timeStrBuf</a> pv8601_buffer, <a class="el" href="group__osclbase.html#a2">CtimeStrBuf</a> ctime_buffer)</td></tr>
274<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a76">RFC822ToPV8601</a> (<a class="el" href="group__osclbase.html#a2">CtimeStrBuf</a> ctime_buffer, <a class="el" href="group__osclbase.html#a3">PV8601timeStrBuf</a>)</td></tr>
275<tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF <a class="el" href="classTimeValue.html">TimeValue</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a77">operator-</a> (const <a class="el" href="classTimeValue.html">TimeValue</a> &amp;a, const <a class="el" href="classTimeValue.html">TimeValue</a> &amp;b)</td></tr>
276<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a110">operator==</a> (const <a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a> &amp;b) const</td></tr>
277<tr><td>&nbsp;</td><td><font size=-1><em>Test for equality to see if two PVHandles wrap the same object.</em> <a href="#a110"></a><em></em></font><br><br></td></tr>
278<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a111">Bind</a> (const <a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a> &amp;inHandle)</td></tr>
279<tr><td>&nbsp;</td><td><font size=-1><em>Use this function to bind an existing <a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a> to a already-wrapped object.</em> <a href="#a111"></a><em></em></font><br><br></td></tr>
280<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a112">Bind</a> (TheClass *ptr, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *in_refcnt)</td></tr>
281<tr><td>&nbsp;</td><td><font size=-1><em>Use this function to bind an existing <a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a> to a new (unwrapped) object.</em> <a href="#a112"></a><em></em></font><br><br></td></tr>
282<tr><td colspan=2><br><h2>Variables</h2></td></tr>
283<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a0">CTIME_BUFFER_SIZE</a> = 26</td></tr>
284<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a1">PV8601TIME_BUFFER_SIZE</a> = 21</td></tr>
285<tr><td nowrap align=right valign=top>const long&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a4">USEC_PER_SEC</a> = 1000000</td></tr>
286<tr><td nowrap align=right valign=top>const long&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a5">MSEC_PER_SEC</a> = 1000</td></tr>
287<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a9">unix_ntp_offset</a> = 2208988800U</td></tr>
288<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a11">OSCL_TLS_ID_MAGICNUM</a> = 0</td></tr>
289<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a12">OSCL_TLS_ID_ERRORHOOK</a> = 1</td></tr>
290<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a13">OSCL_TLS_ID_PVLOGGER</a> = 2</td></tr>
291<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a14">OSCL_TLS_ID_TEST</a> = 3</td></tr>
292<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a15">OSCL_TLS_ID_PVSCHEDULER</a> = 4</td></tr>
293<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a16">OSCL_TLS_ID_PVERRORTRAP</a> = 5</td></tr>
294<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a17">OSCL_TLS_ID_SDPMEDIAPARSER</a> = 6</td></tr>
295<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a18">OSCL_TLS_ID_PAYLOADPARSER</a> = 7</td></tr>
296<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a19">OSCL_TLS_ID_PVMFRECOGNIZER</a> = 8</td></tr>
297<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a20">OSCL_TLS_ID_WMDRM</a> = 9</td></tr>
298<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a21">OSCL_TLS_ID_OSCLREGISTRY</a> = 10</td></tr>
299<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a22">OSCL_TLS_ID_SQLITE3</a> = 11</td></tr>
300<tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a23">OSCL_TLS_ID_BASE_LAST</a> = 11</td></tr>
301</table>
302<hr><a name="_details"></a><h2>Detailed Description</h2>
303Additional osclbase comment
304<p>
305Additional osclbase comment
306<p>
307Additional osclbase comment <hr><h2>Define Documentation</h2>
308<a name="a101" doxytag="oscl_defalloc.h::ALLOC_AND_CONSTRUCT"></a><p>
309<table width="100%" cellpadding="2" cellspacing="0" border="0">
310  <tr>
311    <td class="md">
312      <table cellpadding="0" cellspacing="0" border="0">
313        <tr>
314          <td class="md" nowrap valign="top"> #define ALLOC_AND_CONSTRUCT</td>
315          <td class="md" valign="top">(&nbsp;</td>
316          <td class="md" nowrap valign="top">n&nbsp;</td>
317          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
318          <td class="md" valign="top">)&nbsp;</td>
319          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;alloc_and_construct_fl(n,__FILE__,__LINE__)
320      </table>
321    </td>
322  </tr>
323</table>
324<table cellspacing=5 cellpadding=0 border=0>
325  <tr>
326    <td>
327      &nbsp;
328    </td>
329    <td>
330
331<p>
332    </td>
333  </tr>
334</table>
335<a name="a100" doxytag="oscl_defalloc.h::ALLOCATE"></a><p>
336<table width="100%" cellpadding="2" cellspacing="0" border="0">
337  <tr>
338    <td class="md">
339      <table cellpadding="0" cellspacing="0" border="0">
340        <tr>
341          <td class="md" nowrap valign="top"> #define ALLOCATE</td>
342          <td class="md" valign="top">(&nbsp;</td>
343          <td class="md" nowrap valign="top">n&nbsp;</td>
344          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
345          <td class="md" valign="top">)&nbsp;</td>
346          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;allocate_fl(n,__FILE__,__LINE__)
347      </table>
348    </td>
349  </tr>
350</table>
351<table cellspacing=5 cellpadding=0 border=0>
352  <tr>
353    <td>
354      &nbsp;
355    </td>
356    <td>
357
358<p>
359    </td>
360  </tr>
361</table>
362<a name="a81" doxytag="oscl_base_macros.h::NULL"></a><p>
363<table width="100%" cellpadding="2" cellspacing="0" border="0">
364  <tr>
365    <td class="md">
366      <table cellpadding="0" cellspacing="0" border="0">
367        <tr>
368          <td class="md" nowrap valign="top"> #define NULL&nbsp;&nbsp;&nbsp;(0)
369      </table>
370    </td>
371  </tr>
372</table>
373<table cellspacing=5 cellpadding=0 border=0>
374  <tr>
375    <td>
376      &nbsp;
377    </td>
378    <td>
379
380<p>
381if the NULL macro isn't already defined, then define it as zero.
382<p>
383    </td>
384  </tr>
385</table>
386<a name="a80" doxytag="oscl_base_macros.h::NULL_TERM_CHAR"></a><p>
387<table width="100%" cellpadding="2" cellspacing="0" border="0">
388  <tr>
389    <td class="md">
390      <table cellpadding="0" cellspacing="0" border="0">
391        <tr>
392          <td class="md" nowrap valign="top"> #define NULL_TERM_CHAR&nbsp;&nbsp;&nbsp;'\0'
393      </table>
394    </td>
395  </tr>
396</table>
397<table cellspacing=5 cellpadding=0 border=0>
398  <tr>
399    <td>
400      &nbsp;
401    </td>
402    <td>
403
404<p>
405The NULL_TERM_CHAR is used to terminate c-style strings.
406<p>
407    </td>
408  </tr>
409</table>
410<a name="a93" doxytag="oscl_base_macros.h::OSCL_ABS"></a><p>
411<table width="100%" cellpadding="2" cellspacing="0" border="0">
412  <tr>
413    <td class="md">
414      <table cellpadding="0" cellspacing="0" border="0">
415        <tr>
416          <td class="md" nowrap valign="top"> #define OSCL_ABS</td>
417          <td class="md" valign="top">(&nbsp;</td>
418          <td class="md" nowrap valign="top">a&nbsp;</td>
419          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
420          <td class="md" valign="top">)&nbsp;</td>
421          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((a) &gt; (0) ? (a) : -(a))
422      </table>
423    </td>
424  </tr>
425</table>
426<table cellspacing=5 cellpadding=0 border=0>
427  <tr>
428    <td>
429      &nbsp;
430    </td>
431    <td>
432
433<p>
434    </td>
435  </tr>
436</table>
437<a name="a78" doxytag="oscl_assert.h::OSCL_ASSERT"></a><p>
438<table width="100%" cellpadding="2" cellspacing="0" border="0">
439  <tr>
440    <td class="md">
441      <table cellpadding="0" cellspacing="0" border="0">
442        <tr>
443          <td class="md" nowrap valign="top"> #define OSCL_ASSERT</td>
444          <td class="md" valign="top">(&nbsp;</td>
445          <td class="md" nowrap valign="top">_expr&nbsp;</td>
446          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
447          <td class="md" valign="top">)&nbsp;</td>
448          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((_expr)?((void)0):OSCL_Assert(# _expr,__FILE__,__LINE__))
449      </table>
450    </td>
451  </tr>
452</table>
453<table cellspacing=5 cellpadding=0 border=0>
454  <tr>
455    <td>
456      &nbsp;
457    </td>
458    <td>
459
460<p>
461    </td>
462  </tr>
463</table>
464<a name="a97" doxytag="oscl_base_macros.h::OSCL_BEGIN_PACKED"></a><p>
465<table width="100%" cellpadding="2" cellspacing="0" border="0">
466  <tr>
467    <td class="md">
468      <table cellpadding="0" cellspacing="0" border="0">
469        <tr>
470          <td class="md" nowrap valign="top"> #define OSCL_BEGIN_PACKED&nbsp;&nbsp;&nbsp;"error"
471      </table>
472    </td>
473  </tr>
474</table>
475<table cellspacing=5 cellpadding=0 border=0>
476  <tr>
477    <td>
478      &nbsp;
479    </td>
480    <td>
481
482<p>
483    </td>
484  </tr>
485</table>
486<a name="a83" doxytag="oscl_base_macros.h::OSCL_COND_EXPORT_REF"></a><p>
487<table width="100%" cellpadding="2" cellspacing="0" border="0">
488  <tr>
489    <td class="md">
490      <table cellpadding="0" cellspacing="0" border="0">
491        <tr>
492          <td class="md" nowrap valign="top"> #define OSCL_COND_EXPORT_REF
493      </table>
494    </td>
495  </tr>
496</table>
497<table cellspacing=5 cellpadding=0 border=0>
498  <tr>
499    <td>
500      &nbsp;
501    </td>
502    <td>
503
504<p>
505    </td>
506  </tr>
507</table>
508<a name="a84" doxytag="oscl_base_macros.h::OSCL_COND_IMPORT_REF"></a><p>
509<table width="100%" cellpadding="2" cellspacing="0" border="0">
510  <tr>
511    <td class="md">
512      <table cellpadding="0" cellspacing="0" border="0">
513        <tr>
514          <td class="md" nowrap valign="top"> #define OSCL_COND_IMPORT_REF
515      </table>
516    </td>
517  </tr>
518</table>
519<table cellspacing=5 cellpadding=0 border=0>
520  <tr>
521    <td>
522      &nbsp;
523    </td>
524    <td>
525
526<p>
527    </td>
528  </tr>
529</table>
530<a name="a85" doxytag="oscl_base_macros.h::OSCL_CONST_CAST"></a><p>
531<table width="100%" cellpadding="2" cellspacing="0" border="0">
532  <tr>
533    <td class="md">
534      <table cellpadding="0" cellspacing="0" border="0">
535        <tr>
536          <td class="md" nowrap valign="top"> #define OSCL_CONST_CAST</td>
537          <td class="md" valign="top">(&nbsp;</td>
538          <td class="md" nowrap valign="top">type,         <tr>
539          <td></td>
540          <td></td>
541          <td class="md" nowrap>exp&nbsp;</td>
542          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
543          <td class="md" valign="top">)&nbsp;</td>
544          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((type)(exp))
545      </table>
546    </td>
547  </tr>
548</table>
549<table cellspacing=5 cellpadding=0 border=0>
550  <tr>
551    <td>
552      &nbsp;
553    </td>
554    <td>
555
556<p>
557Type casting macros.
558<p>
559<dl compact><dt><b>Parameters: </b></dt><dd>
560<table border=0 cellspacing=2 cellpadding=0>
561<tr><td valign=top><em>type</em>&nbsp;</td><td>
562Destination type of cast </td></tr>
563<tr><td valign=top><em>exp</em>&nbsp;</td><td>
564Expression to cast </td></tr>
565</table>
566</dl>    </td>
567  </tr>
568</table>
569<a name="a105" doxytag="oscl_shared_ptr.h::OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT"></a><p>
570<table width="100%" cellpadding="2" cellspacing="0" border="0">
571  <tr>
572    <td class="md">
573      <table cellpadding="0" cellspacing="0" border="0">
574        <tr>
575          <td class="md" nowrap valign="top"> #define OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT
576      </table>
577    </td>
578  </tr>
579</table>
580<table cellspacing=5 cellpadding=0 border=0>
581  <tr>
582    <td>
583      &nbsp;
584    </td>
585    <td>
586
587<p>
588    </td>
589  </tr>
590</table>
591<a name="a99" doxytag="oscl_defalloc.h::OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE"></a><p>
592<table width="100%" cellpadding="2" cellspacing="0" border="0">
593  <tr>
594    <td class="md">
595      <table cellpadding="0" cellspacing="0" border="0">
596        <tr>
597          <td class="md" nowrap valign="top"> #define OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE
598      </table>
599    </td>
600  </tr>
601</table>
602<table cellspacing=5 cellpadding=0 border=0>
603  <tr>
604    <td>
605      &nbsp;
606    </td>
607    <td>
608
609<p>
610    </td>
611  </tr>
612</table>
613<a name="a102" doxytag="oscl_dll.h::OSCL_DLL_ENTRY_POINT"></a><p>
614<table width="100%" cellpadding="2" cellspacing="0" border="0">
615  <tr>
616    <td class="md">
617      <table cellpadding="0" cellspacing="0" border="0">
618        <tr>
619          <td class="md" nowrap valign="top"> #define OSCL_DLL_ENTRY_POINT</td>
620          <td class="md" valign="top">(&nbsp;</td>
621&nbsp;</td>
622          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
623          <td class="md" valign="top">)&nbsp;</td>
624          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;void oscl_dll_entry_point() {}
625      </table>
626    </td>
627  </tr>
628</table>
629<table cellspacing=5 cellpadding=0 border=0>
630  <tr>
631    <td>
632      &nbsp;
633    </td>
634    <td>
635
636<p>
637DLL entry/exit point.
638<p>
639Allows you to define custom operations at the entry and exit of the DLL. Place this macro within one souce file for each DLL.
640<p>
641Functions with the custom commands for the DLL entry and exit point must also be defined. The entry point custom function is LocalDllEntry(), and the exit point custom function is LocalDllExit().
642<p>
643These functions will be called as a result of executing this macro.
644<p>
645Usage :
646<p>
647LocalDllEntry() { custom operations... }
648<p>
649LocalDllExit() { custom operations... }
650<p>
651<a class="el" href="group__osclbase.html#a102">OSCL_DLL_ENTRY_POINT()</a>     </td>
652  </tr>
653</table>
654<a name="a103" doxytag="oscl_dll.h::OSCL_DLL_ENTRY_POINT_DEFAULT"></a><p>
655<table width="100%" cellpadding="2" cellspacing="0" border="0">
656  <tr>
657    <td class="md">
658      <table cellpadding="0" cellspacing="0" border="0">
659        <tr>
660          <td class="md" nowrap valign="top"> #define OSCL_DLL_ENTRY_POINT_DEFAULT</td>
661          <td class="md" valign="top">(&nbsp;</td>
662&nbsp;</td>
663          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
664          <td class="md" valign="top">)&nbsp;</td>
665          <td class="md" nowrap>
666      </table>
667    </td>
668  </tr>
669</table>
670<table cellspacing=5 cellpadding=0 border=0>
671  <tr>
672    <td>
673      &nbsp;
674    </td>
675    <td>
676
677<p>
678Default DLL entry/exit point function.
679<p>
680The body of the DLL entry point is given. The macro only needs to be declared within the source file.
681<p>
682Usage :
683<p>
684<a class="el" href="group__osclbase.html#a103">OSCL_DLL_ENTRY_POINT_DEFAULT()</a>     </td>
685  </tr>
686</table>
687<a name="a88" doxytag="oscl_base_macros.h::OSCL_DYNAMIC_CAST"></a><p>
688<table width="100%" cellpadding="2" cellspacing="0" border="0">
689  <tr>
690    <td class="md">
691      <table cellpadding="0" cellspacing="0" border="0">
692        <tr>
693          <td class="md" nowrap valign="top"> #define OSCL_DYNAMIC_CAST</td>
694          <td class="md" valign="top">(&nbsp;</td>
695          <td class="md" nowrap valign="top">type,         <tr>
696          <td></td>
697          <td></td>
698          <td class="md" nowrap>exp&nbsp;</td>
699          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
700          <td class="md" valign="top">)&nbsp;</td>
701          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((type)(exp))
702      </table>
703    </td>
704  </tr>
705</table>
706<table cellspacing=5 cellpadding=0 border=0>
707  <tr>
708    <td>
709      &nbsp;
710    </td>
711    <td>
712
713<p>
714    </td>
715  </tr>
716</table>
717<a name="a98" doxytag="oscl_base_macros.h::OSCL_END_PACKED"></a><p>
718<table width="100%" cellpadding="2" cellspacing="0" border="0">
719  <tr>
720    <td class="md">
721      <table cellpadding="0" cellspacing="0" border="0">
722        <tr>
723          <td class="md" nowrap valign="top"> #define OSCL_END_PACKED&nbsp;&nbsp;&nbsp;"error"
724      </table>
725    </td>
726  </tr>
727</table>
728<table cellspacing=5 cellpadding=0 border=0>
729  <tr>
730    <td>
731      &nbsp;
732    </td>
733    <td>
734
735<p>
736    </td>
737  </tr>
738</table>
739<a name="a79" doxytag="oscl_base.h::OSCL_HAS_SINGLETON_SUPPORT"></a><p>
740<table width="100%" cellpadding="2" cellspacing="0" border="0">
741  <tr>
742    <td class="md">
743      <table cellpadding="0" cellspacing="0" border="0">
744        <tr>
745          <td class="md" nowrap valign="top"> #define OSCL_HAS_SINGLETON_SUPPORT&nbsp;&nbsp;&nbsp;1
746      </table>
747    </td>
748  </tr>
749</table>
750<table cellspacing=5 cellpadding=0 border=0>
751  <tr>
752    <td>
753      &nbsp;
754    </td>
755    <td>
756
757<p>
758    </td>
759  </tr>
760</table>
761<a name="a82" doxytag="oscl_base_macros.h::OSCL_INLINE"></a><p>
762<table width="100%" cellpadding="2" cellspacing="0" border="0">
763  <tr>
764    <td class="md">
765      <table cellpadding="0" cellspacing="0" border="0">
766        <tr>
767          <td class="md" nowrap valign="top"> #define OSCL_INLINE&nbsp;&nbsp;&nbsp;inline
768      </table>
769    </td>
770  </tr>
771</table>
772<table cellspacing=5 cellpadding=0 border=0>
773  <tr>
774    <td>
775      &nbsp;
776    </td>
777    <td>
778
779<p>
780    </td>
781  </tr>
782</table>
783<a name="a92" doxytag="oscl_base_macros.h::OSCL_MAX"></a><p>
784<table width="100%" cellpadding="2" cellspacing="0" border="0">
785  <tr>
786    <td class="md">
787      <table cellpadding="0" cellspacing="0" border="0">
788        <tr>
789          <td class="md" nowrap valign="top"> #define OSCL_MAX</td>
790          <td class="md" valign="top">(&nbsp;</td>
791          <td class="md" nowrap valign="top">a,         <tr>
792          <td></td>
793          <td></td>
794          <td class="md" nowrap>b&nbsp;</td>
795          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
796          <td class="md" valign="top">)&nbsp;</td>
797          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((a) &gt; (b) ? (a) : (b))
798      </table>
799    </td>
800  </tr>
801</table>
802<table cellspacing=5 cellpadding=0 border=0>
803  <tr>
804    <td>
805      &nbsp;
806    </td>
807    <td>
808
809<p>
810    </td>
811  </tr>
812</table>
813<a name="a91" doxytag="oscl_base_macros.h::OSCL_MIN"></a><p>
814<table width="100%" cellpadding="2" cellspacing="0" border="0">
815  <tr>
816    <td class="md">
817      <table cellpadding="0" cellspacing="0" border="0">
818        <tr>
819          <td class="md" nowrap valign="top"> #define OSCL_MIN</td>
820          <td class="md" valign="top">(&nbsp;</td>
821          <td class="md" nowrap valign="top">a,         <tr>
822          <td></td>
823          <td></td>
824          <td class="md" nowrap>b&nbsp;</td>
825          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
826          <td class="md" valign="top">)&nbsp;</td>
827          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((a) &lt; (b) ? (a) : (b))
828      </table>
829    </td>
830  </tr>
831</table>
832<table cellspacing=5 cellpadding=0 border=0>
833  <tr>
834    <td>
835      &nbsp;
836    </td>
837    <td>
838
839<p>
840    </td>
841  </tr>
842</table>
843<a name="a96" doxytag="oscl_base_macros.h::OSCL_PACKED_VAR"></a><p>
844<table width="100%" cellpadding="2" cellspacing="0" border="0">
845  <tr>
846    <td class="md">
847      <table cellpadding="0" cellspacing="0" border="0">
848        <tr>
849          <td class="md" nowrap valign="top"> #define OSCL_PACKED_VAR&nbsp;&nbsp;&nbsp;"error"
850      </table>
851    </td>
852  </tr>
853</table>
854<table cellspacing=5 cellpadding=0 border=0>
855  <tr>
856    <td>
857      &nbsp;
858    </td>
859    <td>
860
861<p>
862    </td>
863  </tr>
864</table>
865<a name="a87" doxytag="oscl_base_macros.h::OSCL_REINTERPRET_CAST"></a><p>
866<table width="100%" cellpadding="2" cellspacing="0" border="0">
867  <tr>
868    <td class="md">
869      <table cellpadding="0" cellspacing="0" border="0">
870        <tr>
871          <td class="md" nowrap valign="top"> #define OSCL_REINTERPRET_CAST</td>
872          <td class="md" valign="top">(&nbsp;</td>
873          <td class="md" nowrap valign="top">type,         <tr>
874          <td></td>
875          <td></td>
876          <td class="md" nowrap>exp&nbsp;</td>
877          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
878          <td class="md" valign="top">)&nbsp;</td>
879          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((type)(exp))
880      </table>
881    </td>
882  </tr>
883</table>
884<table cellspacing=5 cellpadding=0 border=0>
885  <tr>
886    <td>
887      &nbsp;
888    </td>
889    <td>
890
891<p>
892    </td>
893  </tr>
894</table>
895<a name="a86" doxytag="oscl_base_macros.h::OSCL_STATIC_CAST"></a><p>
896<table width="100%" cellpadding="2" cellspacing="0" border="0">
897  <tr>
898    <td class="md">
899      <table cellpadding="0" cellspacing="0" border="0">
900        <tr>
901          <td class="md" nowrap valign="top"> #define OSCL_STATIC_CAST</td>
902          <td class="md" valign="top">(&nbsp;</td>
903          <td class="md" nowrap valign="top">type,         <tr>
904          <td></td>
905          <td></td>
906          <td class="md" nowrap>exp&nbsp;</td>
907          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
908          <td class="md" valign="top">)&nbsp;</td>
909          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((type)(exp))
910      </table>
911    </td>
912  </tr>
913</table>
914<table cellspacing=5 cellpadding=0 border=0>
915  <tr>
916    <td>
917      &nbsp;
918    </td>
919    <td>
920
921<p>
922    </td>
923  </tr>
924</table>
925<a name="a94" doxytag="oscl_base_macros.h::OSCL_TEMPLATED_DESTRUCTOR_CALL"></a><p>
926<table width="100%" cellpadding="2" cellspacing="0" border="0">
927  <tr>
928    <td class="md">
929      <table cellpadding="0" cellspacing="0" border="0">
930        <tr>
931          <td class="md" nowrap valign="top"> #define OSCL_TEMPLATED_DESTRUCTOR_CALL</td>
932          <td class="md" valign="top">(&nbsp;</td>
933          <td class="md" nowrap valign="top">type,         <tr>
934          <td></td>
935          <td></td>
936          <td class="md" nowrap>simple_type&nbsp;</td>
937          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
938          <td class="md" valign="top">)&nbsp;</td>
939          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;type :: ~simple_type ()
940      </table>
941    </td>
942  </tr>
943</table>
944<table cellspacing=5 cellpadding=0 border=0>
945  <tr>
946    <td>
947      &nbsp;
948    </td>
949    <td>
950
951<p>
952    </td>
953  </tr>
954</table>
955<a name="a106" doxytag="oscl_tls.h::OSCL_TLS_BASE_SLOTS"></a><p>
956<table width="100%" cellpadding="2" cellspacing="0" border="0">
957  <tr>
958    <td class="md">
959      <table cellpadding="0" cellspacing="0" border="0">
960        <tr>
961          <td class="md" nowrap valign="top"> #define OSCL_TLS_BASE_SLOTS&nbsp;&nbsp;&nbsp;<a class="el" href="group__osclbase.html#a23">OSCL_TLS_ID_BASE_LAST</a> +1
962      </table>
963    </td>
964  </tr>
965</table>
966<table cellspacing=5 cellpadding=0 border=0>
967  <tr>
968    <td>
969      &nbsp;
970    </td>
971    <td>
972
973<p>
974    </td>
975  </tr>
976</table>
977<a name="a107" doxytag="oscl_tls.h::OSCL_TLS_EXTERNAL_SLOTS"></a><p>
978<table width="100%" cellpadding="2" cellspacing="0" border="0">
979  <tr>
980    <td class="md">
981      <table cellpadding="0" cellspacing="0" border="0">
982        <tr>
983          <td class="md" nowrap valign="top"> #define OSCL_TLS_EXTERNAL_SLOTS&nbsp;&nbsp;&nbsp;0
984      </table>
985    </td>
986  </tr>
987</table>
988<table cellspacing=5 cellpadding=0 border=0>
989  <tr>
990    <td>
991      &nbsp;
992    </td>
993    <td>
994
995<p>
996    </td>
997  </tr>
998</table>
999<a name="a108" doxytag="oscl_tls.h::OSCL_TLS_MAX_SLOTS"></a><p>
1000<table width="100%" cellpadding="2" cellspacing="0" border="0">
1001  <tr>
1002    <td class="md">
1003      <table cellpadding="0" cellspacing="0" border="0">
1004        <tr>
1005          <td class="md" nowrap valign="top"> #define OSCL_TLS_MAX_SLOTS&nbsp;&nbsp;&nbsp;( OSCL_TLS_BASE_SLOTS + OSCL_TLS_EXTERNAL_SLOTS)
1006      </table>
1007    </td>
1008  </tr>
1009</table>
1010<table cellspacing=5 cellpadding=0 border=0>
1011  <tr>
1012    <td>
1013      &nbsp;
1014    </td>
1015    <td>
1016
1017<p>
1018    </td>
1019  </tr>
1020</table>
1021<a name="a95" doxytag="oscl_base_macros.h::OSCL_UNSIGNED_CONST"></a><p>
1022<table width="100%" cellpadding="2" cellspacing="0" border="0">
1023  <tr>
1024    <td class="md">
1025      <table cellpadding="0" cellspacing="0" border="0">
1026        <tr>
1027          <td class="md" nowrap valign="top"> #define OSCL_UNSIGNED_CONST</td>
1028          <td class="md" valign="top">(&nbsp;</td>
1029          <td class="md" nowrap valign="top">x&nbsp;</td>
1030          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1031          <td class="md" valign="top">)&nbsp;</td>
1032          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;x
1033      </table>
1034    </td>
1035  </tr>
1036</table>
1037<table cellspacing=5 cellpadding=0 border=0>
1038  <tr>
1039    <td>
1040      &nbsp;
1041    </td>
1042    <td>
1043
1044<p>
1045    </td>
1046  </tr>
1047</table>
1048<a name="a89" doxytag="oscl_base_macros.h::OSCL_UNUSED_ARG"></a><p>
1049<table width="100%" cellpadding="2" cellspacing="0" border="0">
1050  <tr>
1051    <td class="md">
1052      <table cellpadding="0" cellspacing="0" border="0">
1053        <tr>
1054          <td class="md" nowrap valign="top"> #define OSCL_UNUSED_ARG</td>
1055          <td class="md" valign="top">(&nbsp;</td>
1056          <td class="md" nowrap valign="top">vbl&nbsp;</td>
1057          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1058          <td class="md" valign="top">)&nbsp;</td>
1059          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(void)(vbl)
1060      </table>
1061    </td>
1062  </tr>
1063</table>
1064<table cellspacing=5 cellpadding=0 border=0>
1065  <tr>
1066    <td>
1067      &nbsp;
1068    </td>
1069    <td>
1070
1071<p>
1072The following two macros are used to avoid compiler warnings.
1073<p>
1074<a class="el" href="group__osclbase.html#a89">OSCL_UNUSED_ARG(vbl)</a> is used to "reference" an otherwise unused parameter or variable, often one which is used only in an OSCL_ASSERT and thus unreferenced in release mode <a class="el" href="group__osclbase.html#a90">OSCL_UNUSED_RETURN(val)</a> provides a "return" of a value, in places which will not actually be executed, such as after an OSCL_LEAVE or Thread::exit or abort. The value needs to be of an appropriate type for the current function, though zero will usually suffice. Note that OSCL_UNUSED_RETURN will not be necessary for 'void' functions, as there is no requirement for a value-return operation.     </td>
1075  </tr>
1076</table>
1077<a name="a90" doxytag="oscl_base_macros.h::OSCL_UNUSED_RETURN"></a><p>
1078<table width="100%" cellpadding="2" cellspacing="0" border="0">
1079  <tr>
1080    <td class="md">
1081      <table cellpadding="0" cellspacing="0" border="0">
1082        <tr>
1083          <td class="md" nowrap valign="top"> #define OSCL_UNUSED_RETURN</td>
1084          <td class="md" valign="top">(&nbsp;</td>
1085          <td class="md" nowrap valign="top">value&nbsp;</td>
1086          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1087          <td class="md" valign="top">)&nbsp;</td>
1088          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;return value
1089      </table>
1090    </td>
1091  </tr>
1092</table>
1093<table cellspacing=5 cellpadding=0 border=0>
1094  <tr>
1095    <td>
1096      &nbsp;
1097    </td>
1098    <td>
1099
1100<p>
1101    </td>
1102  </tr>
1103</table>
1104<a name="a104" doxytag="oscl_mem_inst.h::PVMEM_INST_LEVEL"></a><p>
1105<table width="100%" cellpadding="2" cellspacing="0" border="0">
1106  <tr>
1107    <td class="md">
1108      <table cellpadding="0" cellspacing="0" border="0">
1109        <tr>
1110          <td class="md" nowrap valign="top"> #define PVMEM_INST_LEVEL&nbsp;&nbsp;&nbsp;1
1111      </table>
1112    </td>
1113  </tr>
1114</table>
1115<table cellspacing=5 cellpadding=0 border=0>
1116  <tr>
1117    <td>
1118      &nbsp;
1119    </td>
1120    <td>
1121
1122<p>
1123    </td>
1124  </tr>
1125</table>
1126<hr><h2>Typedef Documentation</h2>
1127<a name="a24" doxytag="oscl_types.h::c_bool"></a><p>
1128<table width="100%" cellpadding="2" cellspacing="0" border="0">
1129  <tr>
1130    <td class="md">
1131      <table cellpadding="0" cellspacing="0" border="0">
1132        <tr>
1133          <td class="md" nowrap valign="top"> typedef int c_bool
1134      </table>
1135    </td>
1136  </tr>
1137</table>
1138<table cellspacing=5 cellpadding=0 border=0>
1139  <tr>
1140    <td>
1141      &nbsp;
1142    </td>
1143    <td>
1144
1145<p>
1146The c_bool type is mapped to an integer to provide a bool type for C interfaces.
1147<p>
1148    </td>
1149  </tr>
1150</table>
1151<a name="a2" doxytag="oscl_time.h::CtimeStrBuf"></a><p>
1152<table width="100%" cellpadding="2" cellspacing="0" border="0">
1153  <tr>
1154    <td class="md">
1155      <table cellpadding="0" cellspacing="0" border="0">
1156        <tr>
1157          <td class="md" nowrap valign="top"> typedef char CtimeStrBuf[<a class="el" href="group__osclbase.html#a0">CTIME_BUFFER_SIZE</a>]
1158      </table>
1159    </td>
1160  </tr>
1161</table>
1162<table cellspacing=5 cellpadding=0 border=0>
1163  <tr>
1164    <td>
1165      &nbsp;
1166    </td>
1167    <td>
1168
1169<p>
1170    </td>
1171  </tr>
1172</table>
1173<a name="a30" doxytag="oscl_types.h::int64"></a><p>
1174<table width="100%" cellpadding="2" cellspacing="0" border="0">
1175  <tr>
1176    <td class="md">
1177      <table cellpadding="0" cellspacing="0" border="0">
1178        <tr>
1179          <td class="md" nowrap valign="top"> typedef OSCL_NATIVE_INT64_TYPE int64
1180      </table>
1181    </td>
1182  </tr>
1183</table>
1184<table cellspacing=5 cellpadding=0 border=0>
1185  <tr>
1186    <td>
1187      &nbsp;
1188    </td>
1189    <td>
1190
1191<p>
1192    </td>
1193  </tr>
1194</table>
1195<a name="a26" doxytag="oscl_types.h::mbchar"></a><p>
1196<table width="100%" cellpadding="2" cellspacing="0" border="0">
1197  <tr>
1198    <td class="md">
1199      <table cellpadding="0" cellspacing="0" border="0">
1200        <tr>
1201          <td class="md" nowrap valign="top"> typedef char mbchar
1202      </table>
1203    </td>
1204  </tr>
1205</table>
1206<table cellspacing=5 cellpadding=0 border=0>
1207  <tr>
1208    <td>
1209      &nbsp;
1210    </td>
1211    <td>
1212
1213<p>
1214mbchar is multi-byte char (e.g., UTF-8) with null termination.
1215<p>
1216    </td>
1217  </tr>
1218</table>
1219<a name="a28" doxytag="oscl_types.h::octet"></a><p>
1220<table width="100%" cellpadding="2" cellspacing="0" border="0">
1221  <tr>
1222    <td class="md">
1223      <table cellpadding="0" cellspacing="0" border="0">
1224        <tr>
1225          <td class="md" nowrap valign="top"> typedef uint8 octet
1226      </table>
1227    </td>
1228  </tr>
1229</table>
1230<table cellspacing=5 cellpadding=0 border=0>
1231  <tr>
1232    <td>
1233      &nbsp;
1234    </td>
1235    <td>
1236
1237<p>
1238The octet type is meant to be used for referring to a byte or collection bytes without suggesting anything about the underlying meaning of the bytes.
1239<p>
1240    </td>
1241  </tr>
1242</table>
1243<a name="a33" doxytag="oscl_types.h::OSCL_TCHAR"></a><p>
1244<table width="100%" cellpadding="2" cellspacing="0" border="0">
1245  <tr>
1246    <td class="md">
1247      <table cellpadding="0" cellspacing="0" border="0">
1248        <tr>
1249          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> OSCL_TCHAR
1250      </table>
1251    </td>
1252  </tr>
1253</table>
1254<table cellspacing=5 cellpadding=0 border=0>
1255  <tr>
1256    <td>
1257      &nbsp;
1258    </td>
1259    <td>
1260
1261<p>
1262define OSCL_TCHAR
1263<p>
1264    </td>
1265  </tr>
1266</table>
1267<a name="a32" doxytag="oscl_types.h::oscl_wchar"></a><p>
1268<table width="100%" cellpadding="2" cellspacing="0" border="0">
1269  <tr>
1270    <td class="md">
1271      <table cellpadding="0" cellspacing="0" border="0">
1272        <tr>
1273          <td class="md" nowrap valign="top"> typedef OSCL_NATIVE_WCHAR_TYPE oscl_wchar
1274      </table>
1275    </td>
1276  </tr>
1277</table>
1278<table cellspacing=5 cellpadding=0 border=0>
1279  <tr>
1280    <td>
1281      &nbsp;
1282    </td>
1283    <td>
1284
1285<p>
1286    </td>
1287  </tr>
1288</table>
1289<a name="a25" doxytag="oscl_types.h::OsclAny"></a><p>
1290<table width="100%" cellpadding="2" cellspacing="0" border="0">
1291  <tr>
1292    <td class="md">
1293      <table cellpadding="0" cellspacing="0" border="0">
1294        <tr>
1295          <td class="md" nowrap valign="top"> typedef void OsclAny
1296      </table>
1297    </td>
1298  </tr>
1299</table>
1300<table cellspacing=5 cellpadding=0 border=0>
1301  <tr>
1302    <td>
1303      &nbsp;
1304    </td>
1305    <td>
1306
1307<p>
1308The OsclAny is meant to be used the context of a generic pointer (i.e., no specific type).
1309<p>
1310    </td>
1311  </tr>
1312</table>
1313<a name="a29" doxytag="oscl_types.h::OsclFloat"></a><p>
1314<table width="100%" cellpadding="2" cellspacing="0" border="0">
1315  <tr>
1316    <td class="md">
1317      <table cellpadding="0" cellspacing="0" border="0">
1318        <tr>
1319          <td class="md" nowrap valign="top"> typedef float OsclFloat
1320      </table>
1321    </td>
1322  </tr>
1323</table>
1324<table cellspacing=5 cellpadding=0 border=0>
1325  <tr>
1326    <td>
1327      &nbsp;
1328    </td>
1329    <td>
1330
1331<p>
1332The Float type defined as OsclFloat.
1333<p>
1334    </td>
1335  </tr>
1336</table>
1337<a name="a3" doxytag="oscl_time.h::PV8601timeStrBuf"></a><p>
1338<table width="100%" cellpadding="2" cellspacing="0" border="0">
1339  <tr>
1340    <td class="md">
1341      <table cellpadding="0" cellspacing="0" border="0">
1342        <tr>
1343          <td class="md" nowrap valign="top"> typedef char PV8601timeStrBuf[<a class="el" href="group__osclbase.html#a1">PV8601TIME_BUFFER_SIZE</a>]
1344      </table>
1345    </td>
1346  </tr>
1347</table>
1348<table cellspacing=5 cellpadding=0 border=0>
1349  <tr>
1350    <td>
1351      &nbsp;
1352    </td>
1353    <td>
1354
1355<p>
1356    </td>
1357  </tr>
1358</table>
1359<a name="a10" doxytag="oscl_tls.h::TOsclTlsKey"></a><p>
1360<table width="100%" cellpadding="2" cellspacing="0" border="0">
1361  <tr>
1362    <td class="md">
1363      <table cellpadding="0" cellspacing="0" border="0">
1364        <tr>
1365          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__osclbase.html#a25">OsclAny</a> TOsclTlsKey
1366      </table>
1367    </td>
1368  </tr>
1369</table>
1370<table cellspacing=5 cellpadding=0 border=0>
1371  <tr>
1372    <td>
1373      &nbsp;
1374    </td>
1375    <td>
1376
1377<p>
1378    </td>
1379  </tr>
1380</table>
1381<a name="a27" doxytag="oscl_types.h::uint"></a><p>
1382<table width="100%" cellpadding="2" cellspacing="0" border="0">
1383  <tr>
1384    <td class="md">
1385      <table cellpadding="0" cellspacing="0" border="0">
1386        <tr>
1387          <td class="md" nowrap valign="top"> typedef unsigned int uint
1388      </table>
1389    </td>
1390  </tr>
1391</table>
1392<table cellspacing=5 cellpadding=0 border=0>
1393  <tr>
1394    <td>
1395      &nbsp;
1396    </td>
1397    <td>
1398
1399<p>
1400The uint type is a convenient abbreviation for unsigned int.
1401<p>
1402    </td>
1403  </tr>
1404</table>
1405<a name="a31" doxytag="oscl_types.h::uint64"></a><p>
1406<table width="100%" cellpadding="2" cellspacing="0" border="0">
1407  <tr>
1408    <td class="md">
1409      <table cellpadding="0" cellspacing="0" border="0">
1410        <tr>
1411          <td class="md" nowrap valign="top"> typedef OSCL_NATIVE_UINT64_TYPE uint64
1412      </table>
1413    </td>
1414  </tr>
1415</table>
1416<table cellspacing=5 cellpadding=0 border=0>
1417  <tr>
1418    <td>
1419      &nbsp;
1420    </td>
1421    <td>
1422
1423<p>
1424    </td>
1425  </tr>
1426</table>
1427<hr><h2>Enumeration Type Documentation</h2>
1428<a name="a109" doxytag="oscl_time.h::TimeUnits"></a><p>
1429<table width="100%" cellpadding="2" cellspacing="0" border="0">
1430  <tr>
1431    <td class="md">
1432      <table cellpadding="0" cellspacing="0" border="0">
1433        <tr>
1434          <td class="md" nowrap valign="top"> enum TimeUnits
1435      </table>
1436    </td>
1437  </tr>
1438</table>
1439<table cellspacing=5 cellpadding=0 border=0>
1440  <tr>
1441    <td>
1442      &nbsp;
1443    </td>
1444    <td>
1445
1446<p>
1447The TimeUnits enum can be used when constructing a <a class="el" href="classTimeValue.html">TimeValue</a> class.
1448<p>
1449<dl compact><dt><b>Enumeration values: </b></dt><dd>
1450<table border=0 cellspacing=2 cellpadding=0>
1451<tr><td valign=top><em><a name="a109a10" doxytag="SECONDS"></a><em>SECONDS</em></em>&nbsp;</td><td>
1452</td></tr>
1453<tr><td valign=top><em><a name="a109a11" doxytag="MILLISECONDS"></a><em>MILLISECONDS</em></em>&nbsp;</td><td>
1454</td></tr>
1455<tr><td valign=top><em><a name="a109a12" doxytag="MICROSECONDS"></a><em>MICROSECONDS</em></em>&nbsp;</td><td>
1456</td></tr>
1457</table>
1458</dl>
1459    </td>
1460  </tr>
1461</table>
1462<hr><h2>Function Documentation</h2>
1463<a name="a34" doxytag="oscl_assert.h::_OSCL_Abort"></a><p>
1464<table width="100%" cellpadding="2" cellspacing="0" border="0">
1465  <tr>
1466    <td class="md">
1467      <table cellpadding="0" cellspacing="0" border="0">
1468        <tr>
1469          <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void _OSCL_Abort </td>
1470          <td class="md" valign="top">(&nbsp;</td>
1471          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1472          <td class="md" valign="top">)&nbsp;</td>
1473          <td class="md" nowrap></td>
1474        </tr>
1475
1476      </table>
1477    </td>
1478  </tr>
1479</table>
1480<table cellspacing=5 cellpadding=0 border=0>
1481  <tr>
1482    <td>
1483      &nbsp;
1484    </td>
1485    <td>
1486
1487<p>
1488This function terminates the current process abnormally.
1489<p>
1490    </td>
1491  </tr>
1492</table>
1493<a name="a40" doxytag="oscl_byte_order.h::big_endian_to_host"></a><p>
1494<table width="100%" cellpadding="2" cellspacing="0" border="0">
1495  <tr>
1496    <td class="md">
1497      <table cellpadding="0" cellspacing="0" border="0">
1498        <tr>
1499          <td class="md" nowrap valign="top"> void big_endian_to_host </td>
1500          <td class="md" valign="top">(&nbsp;</td>
1501          <td class="md" nowrap valign="top">char *&nbsp;</td>
1502          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
1503        </tr>
1504        <tr>
1505          <td></td>
1506          <td></td>
1507          <td class="md" nowrap>unsigned int&nbsp;</td>
1508          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
1509        </tr>
1510        <tr>
1511          <td></td>
1512          <td class="md">)&nbsp;</td>
1513          <td class="md" colspan="2"></td>
1514        </tr>
1515
1516      </table>
1517    </td>
1518  </tr>
1519</table>
1520<table cellspacing=5 cellpadding=0 border=0>
1521  <tr>
1522    <td>
1523      &nbsp;
1524    </td>
1525    <td>
1526
1527<p>
1528Convert big endian to host format.
1529<p>
1530This function takes a buffer of data which is assumed to be in big endian order and rearranges it to the native order of the machine running the code. If the machine is a big endian machine, nothing is done. <dl compact><dt><b>Parameters: </b></dt><dd>
1531<table border=0 cellspacing=2 cellpadding=0>
1532<tr><td valign=top><em>data</em>&nbsp;</td><td>
1533A pointer to the input/output buffer </td></tr>
1534<tr><td valign=top><em>size</em>&nbsp;</td><td>
1535The number of bytes in the buffer. </td></tr>
1536</table>
1537</dl>    </td>
1538  </tr>
1539</table>
1540<a name="a112" doxytag="OsclSharedPtr::Bind"></a><p>
1541<table width="100%" cellpadding="2" cellspacing="0" border="0">
1542  <tr>
1543    <td class="md">
1544      <table cellpadding="0" cellspacing="0" border="0">
1545        <tr>
1546          <td class="md" colspan="4">
1547template&lt;class TheClass&gt; </td>
1548        </tr>
1549        <tr>
1550          <td class="md" nowrap valign="top"> void OsclSharedPtr&lt; TheClass &gt;::Bind </td>
1551          <td class="md" valign="top">(&nbsp;</td>
1552          <td class="md" nowrap valign="top">TheClass *&nbsp;</td>
1553          <td class="mdname" nowrap>&nbsp; <em>ptr</em>, </td>
1554        </tr>
1555        <tr>
1556          <td></td>
1557          <td></td>
1558          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
1559          <td class="mdname" nowrap>&nbsp; <em>in_refcnt</em></td>
1560        </tr>
1561        <tr>
1562          <td></td>
1563          <td class="md">)&nbsp;</td>
1564          <td class="md" colspan="2"><code> [inline, inherited]</code></td>
1565        </tr>
1566
1567      </table>
1568    </td>
1569  </tr>
1570</table>
1571<table cellspacing=5 cellpadding=0 border=0>
1572  <tr>
1573    <td>
1574      &nbsp;
1575    </td>
1576    <td>
1577
1578<p>
1579Use this function to bind an existing OsclSharedPtr to a new (unwrapped) object.
1580<p>
1581    </td>
1582  </tr>
1583</table>
1584<a name="a111" doxytag="OsclSharedPtr::Bind"></a><p>
1585<table width="100%" cellpadding="2" cellspacing="0" border="0">
1586  <tr>
1587    <td class="md">
1588      <table cellpadding="0" cellspacing="0" border="0">
1589        <tr>
1590          <td class="md" colspan="4">
1591template&lt;class TheClass&gt; </td>
1592        </tr>
1593        <tr>
1594          <td class="md" nowrap valign="top"> void OsclSharedPtr&lt; TheClass &gt;::Bind </td>
1595          <td class="md" valign="top">(&nbsp;</td>
1596          <td class="md" nowrap valign="top">const OsclSharedPtr&lt; TheClass &gt; &amp;&nbsp;</td>
1597          <td class="mdname1" valign="top" nowrap>&nbsp; <em>inHandle</em>          </td>
1598          <td class="md" valign="top">)&nbsp;</td>
1599          <td class="md" nowrap><code> [inline, inherited]</code></td>
1600        </tr>
1601
1602      </table>
1603    </td>
1604  </tr>
1605</table>
1606<table cellspacing=5 cellpadding=0 border=0>
1607  <tr>
1608    <td>
1609      &nbsp;
1610    </td>
1611    <td>
1612
1613<p>
1614Use this function to bind an existing OsclSharedPtr to a already-wrapped object.
1615<p>
1616    </td>
1617  </tr>
1618</table>
1619<a name="a41" doxytag="oscl_byte_order.h::host_to_big_endian"></a><p>
1620<table width="100%" cellpadding="2" cellspacing="0" border="0">
1621  <tr>
1622    <td class="md">
1623      <table cellpadding="0" cellspacing="0" border="0">
1624        <tr>
1625          <td class="md" nowrap valign="top"> void host_to_big_endian </td>
1626          <td class="md" valign="top">(&nbsp;</td>
1627          <td class="md" nowrap valign="top">char *&nbsp;</td>
1628          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
1629        </tr>
1630        <tr>
1631          <td></td>
1632          <td></td>
1633          <td class="md" nowrap>unsigned int&nbsp;</td>
1634          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
1635        </tr>
1636        <tr>
1637          <td></td>
1638          <td class="md">)&nbsp;</td>
1639          <td class="md" colspan="2"></td>
1640        </tr>
1641
1642      </table>
1643    </td>
1644  </tr>
1645</table>
1646<table cellspacing=5 cellpadding=0 border=0>
1647  <tr>
1648    <td>
1649      &nbsp;
1650    </td>
1651    <td>
1652
1653<p>
1654Convert host to big endian format.
1655<p>
1656This function takes a buffer of data which is assumed to be in native host order and rearranges it to big endian format. If the machine is a big endian machine, nothing is done. <dl compact><dt><b>Parameters: </b></dt><dd>
1657<table border=0 cellspacing=2 cellpadding=0>
1658<tr><td valign=top><em>data</em>&nbsp;</td><td>
1659A pointer to the input/output buffer </td></tr>
1660<tr><td valign=top><em>size</em>&nbsp;</td><td>
1661The number of bytes in the buffer. </td></tr>
1662</table>
1663</dl>    </td>
1664  </tr>
1665</table>
1666<a name="a39" doxytag="oscl_byte_order.h::host_to_little_endian"></a><p>
1667<table width="100%" cellpadding="2" cellspacing="0" border="0">
1668  <tr>
1669    <td class="md">
1670      <table cellpadding="0" cellspacing="0" border="0">
1671        <tr>
1672          <td class="md" nowrap valign="top"> void host_to_little_endian </td>
1673          <td class="md" valign="top">(&nbsp;</td>
1674          <td class="md" nowrap valign="top">char *&nbsp;</td>
1675          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
1676        </tr>
1677        <tr>
1678          <td></td>
1679          <td></td>
1680          <td class="md" nowrap>unsigned int&nbsp;</td>
1681          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
1682        </tr>
1683        <tr>
1684          <td></td>
1685          <td class="md">)&nbsp;</td>
1686          <td class="md" colspan="2"></td>
1687        </tr>
1688
1689      </table>
1690    </td>
1691  </tr>
1692</table>
1693<table cellspacing=5 cellpadding=0 border=0>
1694  <tr>
1695    <td>
1696      &nbsp;
1697    </td>
1698    <td>
1699
1700<p>
1701Convert host to little endian format.
1702<p>
1703This function takes a buffer of data which is assumed to be in the host's native order and rearranges it to the little endian format. If the machine is a little endian machine, nothing is done. <dl compact><dt><b>Parameters: </b></dt><dd>
1704<table border=0 cellspacing=2 cellpadding=0>
1705<tr><td valign=top><em>data</em>&nbsp;</td><td>
1706A pointer to the input/output buffer </td></tr>
1707<tr><td valign=top><em>size</em>&nbsp;</td><td>
1708The number of bytes in the buffer. </td></tr>
1709</table>
1710</dl>    </td>
1711  </tr>
1712</table>
1713<a name="a38" doxytag="oscl_byte_order.h::little_endian_to_host"></a><p>
1714<table width="100%" cellpadding="2" cellspacing="0" border="0">
1715  <tr>
1716    <td class="md">
1717      <table cellpadding="0" cellspacing="0" border="0">
1718        <tr>
1719          <td class="md" nowrap valign="top"> void little_endian_to_host </td>
1720          <td class="md" valign="top">(&nbsp;</td>
1721          <td class="md" nowrap valign="top">char *&nbsp;</td>
1722          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
1723        </tr>
1724        <tr>
1725          <td></td>
1726          <td></td>
1727          <td class="md" nowrap>uint32&nbsp;</td>
1728          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
1729        </tr>
1730        <tr>
1731          <td></td>
1732          <td class="md">)&nbsp;</td>
1733          <td class="md" colspan="2"></td>
1734        </tr>
1735
1736      </table>
1737    </td>
1738  </tr>
1739</table>
1740<table cellspacing=5 cellpadding=0 border=0>
1741  <tr>
1742    <td>
1743      &nbsp;
1744    </td>
1745    <td>
1746
1747<p>
1748Convert little endian to host format.
1749<p>
1750This function takes a buffer of data which is assumed to be in little endian order and rearranges it to the native order of the machine running the code. If the machine is a little endian machine, nothing is done. <dl compact><dt><b>Parameters: </b></dt><dd>
1751<table border=0 cellspacing=2 cellpadding=0>
1752<tr><td valign=top><em>data</em>&nbsp;</td><td>
1753A pointer to the input/output buffer </td></tr>
1754<tr><td valign=top><em>size</em>&nbsp;</td><td>
1755The number of bytes in the buffer. </td></tr>
1756</table>
1757</dl>    </td>
1758  </tr>
1759</table>
1760<a name="a77" doxytag="oscl_time.h::operator-"></a><p>
1761<table width="100%" cellpadding="2" cellspacing="0" border="0">
1762  <tr>
1763    <td class="md">
1764      <table cellpadding="0" cellspacing="0" border="0">
1765        <tr>
1766          <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF <a class="el" href="classTimeValue.html">TimeValue</a> operator- </td>
1767          <td class="md" valign="top">(&nbsp;</td>
1768          <td class="md" nowrap valign="top">const <a class="el" href="classTimeValue.html">TimeValue</a> &amp;&nbsp;</td>
1769          <td class="mdname" nowrap>&nbsp; <em>a</em>, </td>
1770        </tr>
1771        <tr>
1772          <td></td>
1773          <td></td>
1774          <td class="md" nowrap>const <a class="el" href="classTimeValue.html">TimeValue</a> &amp;&nbsp;</td>
1775          <td class="mdname" nowrap>&nbsp; <em>b</em></td>
1776        </tr>
1777        <tr>
1778          <td></td>
1779          <td class="md">)&nbsp;</td>
1780          <td class="md" colspan="2"></td>
1781        </tr>
1782
1783      </table>
1784    </td>
1785  </tr>
1786</table>
1787<table cellspacing=5 cellpadding=0 border=0>
1788  <tr>
1789    <td>
1790      &nbsp;
1791    </td>
1792    <td>
1793
1794<p>
1795    </td>
1796  </tr>
1797</table>
1798<a name="a110" doxytag="OsclSharedPtr::operator=="></a><p>
1799<table width="100%" cellpadding="2" cellspacing="0" border="0">
1800  <tr>
1801    <td class="md">
1802      <table cellpadding="0" cellspacing="0" border="0">
1803        <tr>
1804          <td class="md" colspan="4">
1805template&lt;class TheClass&gt; </td>
1806        </tr>
1807        <tr>
1808          <td class="md" nowrap valign="top"> bool OsclSharedPtr&lt; TheClass &gt;::operator== </td>
1809          <td class="md" valign="top">(&nbsp;</td>
1810          <td class="md" nowrap valign="top">const OsclSharedPtr&lt; TheClass &gt; &amp;&nbsp;</td>
1811          <td class="mdname1" valign="top" nowrap>&nbsp; <em>b</em>          </td>
1812          <td class="md" valign="top">)&nbsp;</td>
1813          <td class="md" nowrap> const<code> [inline, inherited]</code></td>
1814        </tr>
1815
1816      </table>
1817    </td>
1818  </tr>
1819</table>
1820<table cellspacing=5 cellpadding=0 border=0>
1821  <tr>
1822    <td>
1823      &nbsp;
1824    </td>
1825    <td>
1826
1827<p>
1828Test for equality to see if two PVHandles wrap the same object.
1829<p>
1830    </td>
1831  </tr>
1832</table>
1833<a name="a35" doxytag="oscl_assert.h::OSCL_Assert"></a><p>
1834<table width="100%" cellpadding="2" cellspacing="0" border="0">
1835  <tr>
1836    <td class="md">
1837      <table cellpadding="0" cellspacing="0" border="0">
1838        <tr>
1839          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OSCL_Assert </td>
1840          <td class="md" valign="top">(&nbsp;</td>
1841          <td class="md" nowrap valign="top">const char *&nbsp;</td>
1842          <td class="mdname" nowrap>&nbsp; <em>expr</em>, </td>
1843        </tr>
1844        <tr>
1845          <td></td>
1846          <td></td>
1847          <td class="md" nowrap>const char *&nbsp;</td>
1848          <td class="mdname" nowrap>&nbsp; <em>filename</em>, </td>
1849        </tr>
1850        <tr>
1851          <td></td>
1852          <td></td>
1853          <td class="md" nowrap>int&nbsp;</td>
1854          <td class="mdname" nowrap>&nbsp; <em>line_number</em></td>
1855        </tr>
1856        <tr>
1857          <td></td>
1858          <td class="md">)&nbsp;</td>
1859          <td class="md" colspan="2"></td>
1860        </tr>
1861
1862      </table>
1863    </td>
1864  </tr>
1865</table>
1866<table cellspacing=5 cellpadding=0 border=0>
1867  <tr>
1868    <td>
1869      &nbsp;
1870    </td>
1871    <td>
1872
1873<p>
1874OSCL_ASSERT macro evaluates an expression and when the result is false, prints a diagnostic message and aborts the program.
1875<p>
1876<dl compact><dt><b>Parameters: </b></dt><dd>
1877<table border=0 cellspacing=2 cellpadding=0>
1878<tr><td valign=top><em>expr</em>&nbsp;</td><td>
1879is the expression to be evaluated </td></tr>
1880<tr><td valign=top><em>filename</em>&nbsp;</td><td>
1881is the name of the current source file </td></tr>
1882<tr><td valign=top><em>line_number</em>&nbsp;</td><td>
1883is the line number in the current source file </td></tr>
1884</table>
1885</dl>    </td>
1886  </tr>
1887</table>
1888<a name="a63" doxytag="oscl_stdstring.h::oscl_CIstrcmp"></a><p>
1889<table width="100%" cellpadding="2" cellspacing="0" border="0">
1890  <tr>
1891    <td class="md">
1892      <table cellpadding="0" cellspacing="0" border="0">
1893        <tr>
1894          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_CIstrcmp </td>
1895          <td class="md" valign="top">(&nbsp;</td>
1896          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
1897          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
1898        </tr>
1899        <tr>
1900          <td></td>
1901          <td></td>
1902          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
1903          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
1904        </tr>
1905        <tr>
1906          <td></td>
1907          <td class="md">)&nbsp;</td>
1908          <td class="md" colspan="2"></td>
1909        </tr>
1910
1911      </table>
1912    </td>
1913  </tr>
1914</table>
1915<table cellspacing=5 cellpadding=0 border=0>
1916  <tr>
1917    <td>
1918      &nbsp;
1919    </td>
1920    <td>
1921
1922<p>
1923Case in-sensitive string comparision.<dl compact><dt><b>Parameters: </b></dt><dd>
1924<table border=0 cellspacing=2 cellpadding=0>
1925<tr><td valign=top><em>str1</em>&nbsp;</td><td>
1926string to compare </td></tr>
1927<tr><td valign=top><em>str2</em>&nbsp;</td><td>
1928string to compare</td></tr>
1929</table>
1930</dl><dl compact><dt><b>Returns: </b></dt><dd>
1931Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
1932  </tr>
1933</table>
1934<a name="a62" doxytag="oscl_stdstring.h::oscl_CIstrcmp"></a><p>
1935<table width="100%" cellpadding="2" cellspacing="0" border="0">
1936  <tr>
1937    <td class="md">
1938      <table cellpadding="0" cellspacing="0" border="0">
1939        <tr>
1940          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_CIstrcmp </td>
1941          <td class="md" valign="top">(&nbsp;</td>
1942          <td class="md" nowrap valign="top">const char *&nbsp;</td>
1943          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
1944        </tr>
1945        <tr>
1946          <td></td>
1947          <td></td>
1948          <td class="md" nowrap>const char *&nbsp;</td>
1949          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
1950        </tr>
1951        <tr>
1952          <td></td>
1953          <td class="md">)&nbsp;</td>
1954          <td class="md" colspan="2"></td>
1955        </tr>
1956
1957      </table>
1958    </td>
1959  </tr>
1960</table>
1961<table cellspacing=5 cellpadding=0 border=0>
1962  <tr>
1963    <td>
1964      &nbsp;
1965    </td>
1966    <td>
1967
1968<p>
1969Case in-sensitive string comparision.<dl compact><dt><b>Parameters: </b></dt><dd>
1970<table border=0 cellspacing=2 cellpadding=0>
1971<tr><td valign=top><em>str1</em>&nbsp;</td><td>
1972string to compare </td></tr>
1973<tr><td valign=top><em>str2</em>&nbsp;</td><td>
1974string to compare</td></tr>
1975</table>
1976</dl><dl compact><dt><b>Returns: </b></dt><dd>
1977Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
1978  </tr>
1979</table>
1980<a name="a65" doxytag="oscl_stdstring.h::oscl_CIstrncmp"></a><p>
1981<table width="100%" cellpadding="2" cellspacing="0" border="0">
1982  <tr>
1983    <td class="md">
1984      <table cellpadding="0" cellspacing="0" border="0">
1985        <tr>
1986          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_CIstrncmp </td>
1987          <td class="md" valign="top">(&nbsp;</td>
1988          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
1989          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
1990        </tr>
1991        <tr>
1992          <td></td>
1993          <td></td>
1994          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
1995          <td class="mdname" nowrap>&nbsp; <em>str2</em>, </td>
1996        </tr>
1997        <tr>
1998          <td></td>
1999          <td></td>
2000          <td class="md" nowrap>uint32&nbsp;</td>
2001          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2002        </tr>
2003        <tr>
2004          <td></td>
2005          <td class="md">)&nbsp;</td>
2006          <td class="md" colspan="2"></td>
2007        </tr>
2008
2009      </table>
2010    </td>
2011  </tr>
2012</table>
2013<table cellspacing=5 cellpadding=0 border=0>
2014  <tr>
2015    <td>
2016      &nbsp;
2017    </td>
2018    <td>
2019
2020<p>
2021Lexicographically compares(case in-sensitive), at most, the first count characters in str1 and str2 and returns a value indicating the relationship between the substrings.<dl compact><dt><b>Parameters: </b></dt><dd>
2022<table border=0 cellspacing=2 cellpadding=0>
2023<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2024string to compare </td></tr>
2025<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2026string to compare </td></tr>
2027<tr><td valign=top><em>count</em>&nbsp;</td><td>
2028Number of characters to compare</td></tr>
2029</table>
2030</dl><dl compact><dt><b>Returns: </b></dt><dd>
2031Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2032  </tr>
2033</table>
2034<a name="a64" doxytag="oscl_stdstring.h::oscl_CIstrncmp"></a><p>
2035<table width="100%" cellpadding="2" cellspacing="0" border="0">
2036  <tr>
2037    <td class="md">
2038      <table cellpadding="0" cellspacing="0" border="0">
2039        <tr>
2040          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_CIstrncmp </td>
2041          <td class="md" valign="top">(&nbsp;</td>
2042          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2043          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
2044        </tr>
2045        <tr>
2046          <td></td>
2047          <td></td>
2048          <td class="md" nowrap>const char *&nbsp;</td>
2049          <td class="mdname" nowrap>&nbsp; <em>str2</em>, </td>
2050        </tr>
2051        <tr>
2052          <td></td>
2053          <td></td>
2054          <td class="md" nowrap>uint32&nbsp;</td>
2055          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2056        </tr>
2057        <tr>
2058          <td></td>
2059          <td class="md">)&nbsp;</td>
2060          <td class="md" colspan="2"></td>
2061        </tr>
2062
2063      </table>
2064    </td>
2065  </tr>
2066</table>
2067<table cellspacing=5 cellpadding=0 border=0>
2068  <tr>
2069    <td>
2070      &nbsp;
2071    </td>
2072    <td>
2073
2074<p>
2075Lexicographically compares(case in-sensitive), at most, the first count characters in str1 and str2 and returns a value indicating the relationship between the substrings.<dl compact><dt><b>Parameters: </b></dt><dd>
2076<table border=0 cellspacing=2 cellpadding=0>
2077<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2078string to compare </td></tr>
2079<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2080string to compare </td></tr>
2081<tr><td valign=top><em>count</em>&nbsp;</td><td>
2082Number of characters to compare</td></tr>
2083</table>
2084</dl><dl compact><dt><b>Returns: </b></dt><dd>
2085Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2086  </tr>
2087</table>
2088<a name="a68" doxytag="oscl_stdstring.h::oscl_isLetter"></a><p>
2089<table width="100%" cellpadding="2" cellspacing="0" border="0">
2090  <tr>
2091    <td class="md">
2092      <table cellpadding="0" cellspacing="0" border="0">
2093        <tr>
2094          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool oscl_isLetter </td>
2095          <td class="md" valign="top">(&nbsp;</td>
2096          <td class="md" nowrap valign="top">const char&nbsp;</td>
2097          <td class="mdname1" valign="top" nowrap>&nbsp; <em>car</em>          </td>
2098          <td class="md" valign="top">)&nbsp;</td>
2099          <td class="md" nowrap></td>
2100        </tr>
2101
2102      </table>
2103    </td>
2104  </tr>
2105</table>
2106<table cellspacing=5 cellpadding=0 border=0>
2107  <tr>
2108    <td>
2109      &nbsp;
2110    </td>
2111    <td>
2112
2113<p>
2114check if supplied parameter is an alphabet (ASCII only).<dl compact><dt><b>Parameters: </b></dt><dd>
2115<table border=0 cellspacing=2 cellpadding=0>
2116<tr><td valign=top><em>car</em>&nbsp;</td><td>
2117</td></tr>
2118</table>
2119</dl><dl compact><dt><b>Returns: </b></dt><dd>
21201 if car is an alphabet 0 if car is not an alphabet. </dl>    </td>
2121  </tr>
2122</table>
2123<a name="a74" doxytag="oscl_stdstring.h::oscl_strcat"></a><p>
2124<table width="100%" cellpadding="2" cellspacing="0" border="0">
2125  <tr>
2126    <td class="md">
2127      <table cellpadding="0" cellspacing="0" border="0">
2128        <tr>
2129          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strcat </td>
2130          <td class="md" valign="top">(&nbsp;</td>
2131          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2132          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2133        </tr>
2134        <tr>
2135          <td></td>
2136          <td></td>
2137          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2138          <td class="mdname" nowrap>&nbsp; <em>src</em></td>
2139        </tr>
2140        <tr>
2141          <td></td>
2142          <td class="md">)&nbsp;</td>
2143          <td class="md" colspan="2"></td>
2144        </tr>
2145
2146      </table>
2147    </td>
2148  </tr>
2149</table>
2150<table cellspacing=5 cellpadding=0 border=0>
2151  <tr>
2152    <td>
2153      &nbsp;
2154    </td>
2155    <td>
2156
2157<p>
2158Appends up to count characters from string src to string dest, and then appends a terminating null character. The initial character of src overwrites the null character at the end of dest. Subsequent characters in src are appended to dest until either the end of src is reached or count characters have been copied. If copying takes place between objects that overlap, the behavior is undefined.<dl compact><dt><b>Parameters: </b></dt><dd>
2159<table border=0 cellspacing=2 cellpadding=0>
2160<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2161null terminated destination string </td></tr>
2162<tr><td valign=top><em>src</em>&nbsp;</td><td>
2163source string </td></tr>
2164<tr><td valign=top><em>count</em>&nbsp;</td><td>
2165number of characters to append.</td></tr>
2166</table>
2167</dl><dl compact><dt><b>Returns: </b></dt><dd>
2168dest </dl>    </td>
2169  </tr>
2170</table>
2171<a name="a73" doxytag="oscl_stdstring.h::oscl_strcat"></a><p>
2172<table width="100%" cellpadding="2" cellspacing="0" border="0">
2173  <tr>
2174    <td class="md">
2175      <table cellpadding="0" cellspacing="0" border="0">
2176        <tr>
2177          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strcat </td>
2178          <td class="md" valign="top">(&nbsp;</td>
2179          <td class="md" nowrap valign="top">char *&nbsp;</td>
2180          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2181        </tr>
2182        <tr>
2183          <td></td>
2184          <td></td>
2185          <td class="md" nowrap>const char *&nbsp;</td>
2186          <td class="mdname" nowrap>&nbsp; <em>src</em></td>
2187        </tr>
2188        <tr>
2189          <td></td>
2190          <td class="md">)&nbsp;</td>
2191          <td class="md" colspan="2"></td>
2192        </tr>
2193
2194      </table>
2195    </td>
2196  </tr>
2197</table>
2198<table cellspacing=5 cellpadding=0 border=0>
2199  <tr>
2200    <td>
2201      &nbsp;
2202    </td>
2203    <td>
2204
2205<p>
2206Appends string src to string dest, and then appends a terminating null character. The initial character of src overwrites the null character at the end of dest. Subsequent characters in src are appended to dest until the end of src is reached. If copying takes place between objects that overlap, the behavior is undefined.<dl compact><dt><b>Parameters: </b></dt><dd>
2207<table border=0 cellspacing=2 cellpadding=0>
2208<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2209null terminated destination string </td></tr>
2210<tr><td valign=top><em>src</em>&nbsp;</td><td>
2211source string</td></tr>
2212</table>
2213</dl><dl compact><dt><b>Returns: </b></dt><dd>
2214dest </dl>    </td>
2215  </tr>
2216</table>
2217<a name="a55" doxytag="oscl_stdstring.h::oscl_strchr"></a><p>
2218<table width="100%" cellpadding="2" cellspacing="0" border="0">
2219  <tr>
2220    <td class="md">
2221      <table cellpadding="0" cellspacing="0" border="0">
2222        <tr>
2223          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strchr </td>
2224          <td class="md" valign="top">(&nbsp;</td>
2225          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2226          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2227        </tr>
2228        <tr>
2229          <td></td>
2230          <td></td>
2231          <td class="md" nowrap>int32&nbsp;</td>
2232          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2233        </tr>
2234        <tr>
2235          <td></td>
2236          <td class="md">)&nbsp;</td>
2237          <td class="md" colspan="2"></td>
2238        </tr>
2239
2240      </table>
2241    </td>
2242  </tr>
2243</table>
2244<table cellspacing=5 cellpadding=0 border=0>
2245  <tr>
2246    <td>
2247      &nbsp;
2248    </td>
2249    <td>
2250
2251<p>
2252    </td>
2253  </tr>
2254</table>
2255<a name="a54" doxytag="oscl_stdstring.h::oscl_strchr"></a><p>
2256<table width="100%" cellpadding="2" cellspacing="0" border="0">
2257  <tr>
2258    <td class="md">
2259      <table cellpadding="0" cellspacing="0" border="0">
2260        <tr>
2261          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strchr </td>
2262          <td class="md" valign="top">(&nbsp;</td>
2263          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2264          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2265        </tr>
2266        <tr>
2267          <td></td>
2268          <td></td>
2269          <td class="md" nowrap>int32&nbsp;</td>
2270          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2271        </tr>
2272        <tr>
2273          <td></td>
2274          <td class="md">)&nbsp;</td>
2275          <td class="md" colspan="2"></td>
2276        </tr>
2277
2278      </table>
2279    </td>
2280  </tr>
2281</table>
2282<table cellspacing=5 cellpadding=0 border=0>
2283  <tr>
2284    <td>
2285      &nbsp;
2286    </td>
2287    <td>
2288
2289<p>
2290Finds the first occurrence of c in string, or it returns NULL if c is not found. The null-terminating character is included in the search.<dl compact><dt><b>Parameters: </b></dt><dd>
2291<table border=0 cellspacing=2 cellpadding=0>
2292<tr><td valign=top><em>str</em>&nbsp;</td><td>
2293null terminated source string </td></tr>
2294<tr><td valign=top><em>c</em>&nbsp;</td><td>
2295character to search for</td></tr>
2296</table>
2297</dl><dl compact><dt><b>Returns: </b></dt><dd>
2298</dl>    </td>
2299  </tr>
2300</table>
2301<a name="a53" doxytag="oscl_stdstring.h::oscl_strchr"></a><p>
2302<table width="100%" cellpadding="2" cellspacing="0" border="0">
2303  <tr>
2304    <td class="md">
2305      <table cellpadding="0" cellspacing="0" border="0">
2306        <tr>
2307          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strchr </td>
2308          <td class="md" valign="top">(&nbsp;</td>
2309          <td class="md" nowrap valign="top">char *&nbsp;</td>
2310          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2311        </tr>
2312        <tr>
2313          <td></td>
2314          <td></td>
2315          <td class="md" nowrap>int32&nbsp;</td>
2316          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2317        </tr>
2318        <tr>
2319          <td></td>
2320          <td class="md">)&nbsp;</td>
2321          <td class="md" colspan="2"></td>
2322        </tr>
2323
2324      </table>
2325    </td>
2326  </tr>
2327</table>
2328<table cellspacing=5 cellpadding=0 border=0>
2329  <tr>
2330    <td>
2331      &nbsp;
2332    </td>
2333    <td>
2334
2335<p>
2336    </td>
2337  </tr>
2338</table>
2339<a name="a52" doxytag="oscl_stdstring.h::oscl_strchr"></a><p>
2340<table width="100%" cellpadding="2" cellspacing="0" border="0">
2341  <tr>
2342    <td class="md">
2343      <table cellpadding="0" cellspacing="0" border="0">
2344        <tr>
2345          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const char* oscl_strchr </td>
2346          <td class="md" valign="top">(&nbsp;</td>
2347          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2348          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2349        </tr>
2350        <tr>
2351          <td></td>
2352          <td></td>
2353          <td class="md" nowrap>int32&nbsp;</td>
2354          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2355        </tr>
2356        <tr>
2357          <td></td>
2358          <td class="md">)&nbsp;</td>
2359          <td class="md" colspan="2"></td>
2360        </tr>
2361
2362      </table>
2363    </td>
2364  </tr>
2365</table>
2366<table cellspacing=5 cellpadding=0 border=0>
2367  <tr>
2368    <td>
2369      &nbsp;
2370    </td>
2371    <td>
2372
2373<p>
2374Finds the first occurrence of c in string, or it returns NULL if c is not found. The null-terminating character is included in the search.<dl compact><dt><b>Parameters: </b></dt><dd>
2375<table border=0 cellspacing=2 cellpadding=0>
2376<tr><td valign=top><em>str</em>&nbsp;</td><td>
2377null terminated source string </td></tr>
2378<tr><td valign=top><em>c</em>&nbsp;</td><td>
2379character to search for</td></tr>
2380</table>
2381</dl><dl compact><dt><b>Returns: </b></dt><dd>
2382</dl>    </td>
2383  </tr>
2384</table>
2385<a name="a47" doxytag="oscl_stdstring.h::oscl_strcmp"></a><p>
2386<table width="100%" cellpadding="2" cellspacing="0" border="0">
2387  <tr>
2388    <td class="md">
2389      <table cellpadding="0" cellspacing="0" border="0">
2390        <tr>
2391          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_strcmp </td>
2392          <td class="md" valign="top">(&nbsp;</td>
2393          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2394          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
2395        </tr>
2396        <tr>
2397          <td></td>
2398          <td></td>
2399          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2400          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
2401        </tr>
2402        <tr>
2403          <td></td>
2404          <td class="md">)&nbsp;</td>
2405          <td class="md" colspan="2"></td>
2406        </tr>
2407
2408      </table>
2409    </td>
2410  </tr>
2411</table>
2412<table cellspacing=5 cellpadding=0 border=0>
2413  <tr>
2414    <td>
2415      &nbsp;
2416    </td>
2417    <td>
2418
2419<p>
2420Lexicographically compares two NULL terminated strings, str1 and str2, and returns a value indicating the relationship between them.<dl compact><dt><b>Parameters: </b></dt><dd>
2421<table border=0 cellspacing=2 cellpadding=0>
2422<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2423String to compare </td></tr>
2424<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2425String to compare</td></tr>
2426</table>
2427</dl><dl compact><dt><b>Returns: </b></dt><dd>
2428Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2429  </tr>
2430</table>
2431<a name="a46" doxytag="oscl_stdstring.h::oscl_strcmp"></a><p>
2432<table width="100%" cellpadding="2" cellspacing="0" border="0">
2433  <tr>
2434    <td class="md">
2435      <table cellpadding="0" cellspacing="0" border="0">
2436        <tr>
2437          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_strcmp </td>
2438          <td class="md" valign="top">(&nbsp;</td>
2439          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2440          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
2441        </tr>
2442        <tr>
2443          <td></td>
2444          <td></td>
2445          <td class="md" nowrap>const char *&nbsp;</td>
2446          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
2447        </tr>
2448        <tr>
2449          <td></td>
2450          <td class="md">)&nbsp;</td>
2451          <td class="md" colspan="2"></td>
2452        </tr>
2453
2454      </table>
2455    </td>
2456  </tr>
2457</table>
2458<table cellspacing=5 cellpadding=0 border=0>
2459  <tr>
2460    <td>
2461      &nbsp;
2462    </td>
2463    <td>
2464
2465<p>
2466Lexicographically compares two NULL terminated strings, str1 and str2, and returns a value indicating the relationship between them.<dl compact><dt><b>Parameters: </b></dt><dd>
2467<table border=0 cellspacing=2 cellpadding=0>
2468<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2469String to compare </td></tr>
2470<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2471String to compare</td></tr>
2472</table>
2473</dl><dl compact><dt><b>Returns: </b></dt><dd>
2474Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2475  </tr>
2476</table>
2477<a name="a43" doxytag="oscl_stdstring.h::oscl_strlen"></a><p>
2478<table width="100%" cellpadding="2" cellspacing="0" border="0">
2479  <tr>
2480    <td class="md">
2481      <table cellpadding="0" cellspacing="0" border="0">
2482        <tr>
2483          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 oscl_strlen </td>
2484          <td class="md" valign="top">(&nbsp;</td>
2485          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2486          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
2487          <td class="md" valign="top">)&nbsp;</td>
2488          <td class="md" nowrap></td>
2489        </tr>
2490
2491      </table>
2492    </td>
2493  </tr>
2494</table>
2495<table cellspacing=5 cellpadding=0 border=0>
2496  <tr>
2497    <td>
2498      &nbsp;
2499    </td>
2500    <td>
2501
2502<p>
2503Gets the length of a wide char string<dl compact><dt><b>Parameters: </b></dt><dd>
2504<table border=0 cellspacing=2 cellpadding=0>
2505<tr><td valign=top><em>str</em>&nbsp;</td><td>
2506NULL terminated string.</td></tr>
2507</table>
2508</dl><dl compact><dt><b>Returns: </b></dt><dd>
2509Returns the number of characters in string, excluding the terminal NULL. </dl>    </td>
2510  </tr>
2511</table>
2512<a name="a42" doxytag="oscl_stdstring.h::oscl_strlen"></a><p>
2513<table width="100%" cellpadding="2" cellspacing="0" border="0">
2514  <tr>
2515    <td class="md">
2516      <table cellpadding="0" cellspacing="0" border="0">
2517        <tr>
2518          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 oscl_strlen </td>
2519          <td class="md" valign="top">(&nbsp;</td>
2520          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2521          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
2522          <td class="md" valign="top">)&nbsp;</td>
2523          <td class="md" nowrap></td>
2524        </tr>
2525
2526      </table>
2527    </td>
2528  </tr>
2529</table>
2530<table cellspacing=5 cellpadding=0 border=0>
2531  <tr>
2532    <td>
2533      &nbsp;
2534    </td>
2535    <td>
2536
2537<p>
2538Gets the length of a string<dl compact><dt><b>Parameters: </b></dt><dd>
2539<table border=0 cellspacing=2 cellpadding=0>
2540<tr><td valign=top><em>str</em>&nbsp;</td><td>
2541NULL terminated string.</td></tr>
2542</table>
2543</dl><dl compact><dt><b>Returns: </b></dt><dd>
2544Returns the number of characters in string, excluding the terminal NULL. </dl>    </td>
2545  </tr>
2546</table>
2547<a name="a51" doxytag="oscl_stdstring.h::oscl_strncat"></a><p>
2548<table width="100%" cellpadding="2" cellspacing="0" border="0">
2549  <tr>
2550    <td class="md">
2551      <table cellpadding="0" cellspacing="0" border="0">
2552        <tr>
2553          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strncat </td>
2554          <td class="md" valign="top">(&nbsp;</td>
2555          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2556          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2557        </tr>
2558        <tr>
2559          <td></td>
2560          <td></td>
2561          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2562          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
2563        </tr>
2564        <tr>
2565          <td></td>
2566          <td></td>
2567          <td class="md" nowrap>uint32&nbsp;</td>
2568          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2569        </tr>
2570        <tr>
2571          <td></td>
2572          <td class="md">)&nbsp;</td>
2573          <td class="md" colspan="2"></td>
2574        </tr>
2575
2576      </table>
2577    </td>
2578  </tr>
2579</table>
2580<table cellspacing=5 cellpadding=0 border=0>
2581  <tr>
2582    <td>
2583      &nbsp;
2584    </td>
2585    <td>
2586
2587<p>
2588Appends up to count characters from string src to string dest, and then appends a terminating null character. The initial character of src overwrites the null character at the end of dest. Subsequent characters in src are appended to dest until either the end of src is reached or count characters have been copied. If copying takes place between objects that overlap, the behavior is undefined.<dl compact><dt><b>Parameters: </b></dt><dd>
2589<table border=0 cellspacing=2 cellpadding=0>
2590<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2591null terminated destination string </td></tr>
2592<tr><td valign=top><em>src</em>&nbsp;</td><td>
2593source string </td></tr>
2594<tr><td valign=top><em>count</em>&nbsp;</td><td>
2595number of characters to append.</td></tr>
2596</table>
2597</dl><dl compact><dt><b>Returns: </b></dt><dd>
2598dest </dl>    </td>
2599  </tr>
2600</table>
2601<a name="a50" doxytag="oscl_stdstring.h::oscl_strncat"></a><p>
2602<table width="100%" cellpadding="2" cellspacing="0" border="0">
2603  <tr>
2604    <td class="md">
2605      <table cellpadding="0" cellspacing="0" border="0">
2606        <tr>
2607          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strncat </td>
2608          <td class="md" valign="top">(&nbsp;</td>
2609          <td class="md" nowrap valign="top">char *&nbsp;</td>
2610          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2611        </tr>
2612        <tr>
2613          <td></td>
2614          <td></td>
2615          <td class="md" nowrap>const char *&nbsp;</td>
2616          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
2617        </tr>
2618        <tr>
2619          <td></td>
2620          <td></td>
2621          <td class="md" nowrap>uint32&nbsp;</td>
2622          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2623        </tr>
2624        <tr>
2625          <td></td>
2626          <td class="md">)&nbsp;</td>
2627          <td class="md" colspan="2"></td>
2628        </tr>
2629
2630      </table>
2631    </td>
2632  </tr>
2633</table>
2634<table cellspacing=5 cellpadding=0 border=0>
2635  <tr>
2636    <td>
2637      &nbsp;
2638    </td>
2639    <td>
2640
2641<p>
2642Appends up to count characters from string src to string dest, and then appends a terminating null character. The initial character of src overwrites the null character at the end of dest. Subsequent characters in src are appended to dest until either the end of src is reached or count characters have been copied. If copying takes place between objects that overlap, the behavior is undefined.<dl compact><dt><b>Parameters: </b></dt><dd>
2643<table border=0 cellspacing=2 cellpadding=0>
2644<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2645null terminated destination string </td></tr>
2646<tr><td valign=top><em>src</em>&nbsp;</td><td>
2647source string </td></tr>
2648<tr><td valign=top><em>count</em>&nbsp;</td><td>
2649number of characters to append.</td></tr>
2650</table>
2651</dl><dl compact><dt><b>Returns: </b></dt><dd>
2652dest </dl>    </td>
2653  </tr>
2654</table>
2655<a name="a49" doxytag="oscl_stdstring.h::oscl_strncmp"></a><p>
2656<table width="100%" cellpadding="2" cellspacing="0" border="0">
2657  <tr>
2658    <td class="md">
2659      <table cellpadding="0" cellspacing="0" border="0">
2660        <tr>
2661          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_strncmp </td>
2662          <td class="md" valign="top">(&nbsp;</td>
2663          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2664          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
2665        </tr>
2666        <tr>
2667          <td></td>
2668          <td></td>
2669          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2670          <td class="mdname" nowrap>&nbsp; <em>str2</em>, </td>
2671        </tr>
2672        <tr>
2673          <td></td>
2674          <td></td>
2675          <td class="md" nowrap>uint32&nbsp;</td>
2676          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2677        </tr>
2678        <tr>
2679          <td></td>
2680          <td class="md">)&nbsp;</td>
2681          <td class="md" colspan="2"></td>
2682        </tr>
2683
2684      </table>
2685    </td>
2686  </tr>
2687</table>
2688<table cellspacing=5 cellpadding=0 border=0>
2689  <tr>
2690    <td>
2691      &nbsp;
2692    </td>
2693    <td>
2694
2695<p>
2696Lexicographically compares, at most, the first count characters in str1 and str2 and returns a value indicating the relationship between the substrings.<dl compact><dt><b>Parameters: </b></dt><dd>
2697<table border=0 cellspacing=2 cellpadding=0>
2698<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2699String to compare </td></tr>
2700<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2701String to compare </td></tr>
2702<tr><td valign=top><em>count</em>&nbsp;</td><td>
2703Number of characters to compare</td></tr>
2704</table>
2705</dl><dl compact><dt><b>Returns: </b></dt><dd>
2706Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2707  </tr>
2708</table>
2709<a name="a48" doxytag="oscl_stdstring.h::oscl_strncmp"></a><p>
2710<table width="100%" cellpadding="2" cellspacing="0" border="0">
2711  <tr>
2712    <td class="md">
2713      <table cellpadding="0" cellspacing="0" border="0">
2714        <tr>
2715          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 oscl_strncmp </td>
2716          <td class="md" valign="top">(&nbsp;</td>
2717          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2718          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
2719        </tr>
2720        <tr>
2721          <td></td>
2722          <td></td>
2723          <td class="md" nowrap>const char *&nbsp;</td>
2724          <td class="mdname" nowrap>&nbsp; <em>str2</em>, </td>
2725        </tr>
2726        <tr>
2727          <td></td>
2728          <td></td>
2729          <td class="md" nowrap>uint32&nbsp;</td>
2730          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2731        </tr>
2732        <tr>
2733          <td></td>
2734          <td class="md">)&nbsp;</td>
2735          <td class="md" colspan="2"></td>
2736        </tr>
2737
2738      </table>
2739    </td>
2740  </tr>
2741</table>
2742<table cellspacing=5 cellpadding=0 border=0>
2743  <tr>
2744    <td>
2745      &nbsp;
2746    </td>
2747    <td>
2748
2749<p>
2750Lexicographically compares, at most, the first count characters in str1 and str2 and returns a value indicating the relationship between the substrings.<dl compact><dt><b>Parameters: </b></dt><dd>
2751<table border=0 cellspacing=2 cellpadding=0>
2752<tr><td valign=top><em>str1</em>&nbsp;</td><td>
2753String to compare </td></tr>
2754<tr><td valign=top><em>str2</em>&nbsp;</td><td>
2755String to compare </td></tr>
2756<tr><td valign=top><em>count</em>&nbsp;</td><td>
2757Number of characters to compare</td></tr>
2758</table>
2759</dl><dl compact><dt><b>Returns: </b></dt><dd>
2760Negative if str1 &lt; str2 Positive if str1 &gt; str2 Zero if equal </dl>    </td>
2761  </tr>
2762</table>
2763<a name="a45" doxytag="oscl_stdstring.h::oscl_strncpy"></a><p>
2764<table width="100%" cellpadding="2" cellspacing="0" border="0">
2765  <tr>
2766    <td class="md">
2767      <table cellpadding="0" cellspacing="0" border="0">
2768        <tr>
2769          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strncpy </td>
2770          <td class="md" valign="top">(&nbsp;</td>
2771          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2772          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2773        </tr>
2774        <tr>
2775          <td></td>
2776          <td></td>
2777          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2778          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
2779        </tr>
2780        <tr>
2781          <td></td>
2782          <td></td>
2783          <td class="md" nowrap>uint32&nbsp;</td>
2784          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2785        </tr>
2786        <tr>
2787          <td></td>
2788          <td class="md">)&nbsp;</td>
2789          <td class="md" colspan="2"></td>
2790        </tr>
2791
2792      </table>
2793    </td>
2794  </tr>
2795</table>
2796<table cellspacing=5 cellpadding=0 border=0>
2797  <tr>
2798    <td>
2799      &nbsp;
2800    </td>
2801    <td>
2802
2803<p>
2804Copies the chars of one string to another.
2805<p>
2806Copies the initial count characters of src to dest and returns dest. If count is less than or equal to the length of src, a null character is not appended automatically to the copied string. If count is greater than the length of src, the destination string is padded with null characters up to length count. The behavior of strncpy is undefined if the source and destination strings overlap.<dl compact><dt><b>Parameters: </b></dt><dd>
2807<table border=0 cellspacing=2 cellpadding=0>
2808<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2809Destination string </td></tr>
2810<tr><td valign=top><em>src</em>&nbsp;</td><td>
2811NULL terminated source string </td></tr>
2812<tr><td valign=top><em>count</em>&nbsp;</td><td>
2813Number of chars to copy</td></tr>
2814</table>
2815</dl><dl compact><dt><b>Returns: </b></dt><dd>
2816Returns dest. </dl>    </td>
2817  </tr>
2818</table>
2819<a name="a44" doxytag="oscl_stdstring.h::oscl_strncpy"></a><p>
2820<table width="100%" cellpadding="2" cellspacing="0" border="0">
2821  <tr>
2822    <td class="md">
2823      <table cellpadding="0" cellspacing="0" border="0">
2824        <tr>
2825          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strncpy </td>
2826          <td class="md" valign="top">(&nbsp;</td>
2827          <td class="md" nowrap valign="top">char *&nbsp;</td>
2828          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
2829        </tr>
2830        <tr>
2831          <td></td>
2832          <td></td>
2833          <td class="md" nowrap>const char *&nbsp;</td>
2834          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
2835        </tr>
2836        <tr>
2837          <td></td>
2838          <td></td>
2839          <td class="md" nowrap>uint32&nbsp;</td>
2840          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
2841        </tr>
2842        <tr>
2843          <td></td>
2844          <td class="md">)&nbsp;</td>
2845          <td class="md" colspan="2"></td>
2846        </tr>
2847
2848      </table>
2849    </td>
2850  </tr>
2851</table>
2852<table cellspacing=5 cellpadding=0 border=0>
2853  <tr>
2854    <td>
2855      &nbsp;
2856    </td>
2857    <td>
2858
2859<p>
2860Copies the chars of one string to another.
2861<p>
2862Copies the initial count characters of src to dest and returns dest. If count is less than or equal to the length of src, a null character is not appended automatically to the copied string. If count is greater than the length of src, the destination string is padded with null characters up to length count. The behavior of strncpy is undefined if the source and destination strings overlap.<dl compact><dt><b>Parameters: </b></dt><dd>
2863<table border=0 cellspacing=2 cellpadding=0>
2864<tr><td valign=top><em>dest</em>&nbsp;</td><td>
2865Destination string </td></tr>
2866<tr><td valign=top><em>src</em>&nbsp;</td><td>
2867NULL terminated source string </td></tr>
2868<tr><td valign=top><em>count</em>&nbsp;</td><td>
2869Number of chars to copy</td></tr>
2870</table>
2871</dl><dl compact><dt><b>Returns: </b></dt><dd>
2872Returns dest. </dl>    </td>
2873  </tr>
2874</table>
2875<a name="a59" doxytag="oscl_stdstring.h::oscl_strrchr"></a><p>
2876<table width="100%" cellpadding="2" cellspacing="0" border="0">
2877  <tr>
2878    <td class="md">
2879      <table cellpadding="0" cellspacing="0" border="0">
2880        <tr>
2881          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strrchr </td>
2882          <td class="md" valign="top">(&nbsp;</td>
2883          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2884          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2885        </tr>
2886        <tr>
2887          <td></td>
2888          <td></td>
2889          <td class="md" nowrap>int32&nbsp;</td>
2890          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2891        </tr>
2892        <tr>
2893          <td></td>
2894          <td class="md">)&nbsp;</td>
2895          <td class="md" colspan="2"></td>
2896        </tr>
2897
2898      </table>
2899    </td>
2900  </tr>
2901</table>
2902<table cellspacing=5 cellpadding=0 border=0>
2903  <tr>
2904    <td>
2905      &nbsp;
2906    </td>
2907    <td>
2908
2909<p>
2910    </td>
2911  </tr>
2912</table>
2913<a name="a58" doxytag="oscl_stdstring.h::oscl_strrchr"></a><p>
2914<table width="100%" cellpadding="2" cellspacing="0" border="0">
2915  <tr>
2916    <td class="md">
2917      <table cellpadding="0" cellspacing="0" border="0">
2918        <tr>
2919          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strrchr </td>
2920          <td class="md" valign="top">(&nbsp;</td>
2921          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
2922          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2923        </tr>
2924        <tr>
2925          <td></td>
2926          <td></td>
2927          <td class="md" nowrap>int32&nbsp;</td>
2928          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2929        </tr>
2930        <tr>
2931          <td></td>
2932          <td class="md">)&nbsp;</td>
2933          <td class="md" colspan="2"></td>
2934        </tr>
2935
2936      </table>
2937    </td>
2938  </tr>
2939</table>
2940<table cellspacing=5 cellpadding=0 border=0>
2941  <tr>
2942    <td>
2943      &nbsp;
2944    </td>
2945    <td>
2946
2947<p>
2948    </td>
2949  </tr>
2950</table>
2951<a name="a57" doxytag="oscl_stdstring.h::oscl_strrchr"></a><p>
2952<table width="100%" cellpadding="2" cellspacing="0" border="0">
2953  <tr>
2954    <td class="md">
2955      <table cellpadding="0" cellspacing="0" border="0">
2956        <tr>
2957          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strrchr </td>
2958          <td class="md" valign="top">(&nbsp;</td>
2959          <td class="md" nowrap valign="top">char *&nbsp;</td>
2960          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2961        </tr>
2962        <tr>
2963          <td></td>
2964          <td></td>
2965          <td class="md" nowrap>int32&nbsp;</td>
2966          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
2967        </tr>
2968        <tr>
2969          <td></td>
2970          <td class="md">)&nbsp;</td>
2971          <td class="md" colspan="2"></td>
2972        </tr>
2973
2974      </table>
2975    </td>
2976  </tr>
2977</table>
2978<table cellspacing=5 cellpadding=0 border=0>
2979  <tr>
2980    <td>
2981      &nbsp;
2982    </td>
2983    <td>
2984
2985<p>
2986    </td>
2987  </tr>
2988</table>
2989<a name="a56" doxytag="oscl_stdstring.h::oscl_strrchr"></a><p>
2990<table width="100%" cellpadding="2" cellspacing="0" border="0">
2991  <tr>
2992    <td class="md">
2993      <table cellpadding="0" cellspacing="0" border="0">
2994        <tr>
2995          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const char* oscl_strrchr </td>
2996          <td class="md" valign="top">(&nbsp;</td>
2997          <td class="md" nowrap valign="top">const char *&nbsp;</td>
2998          <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
2999        </tr>
3000        <tr>
3001          <td></td>
3002          <td></td>
3003          <td class="md" nowrap>int32&nbsp;</td>
3004          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
3005        </tr>
3006        <tr>
3007          <td></td>
3008          <td class="md">)&nbsp;</td>
3009          <td class="md" colspan="2"></td>
3010        </tr>
3011
3012      </table>
3013    </td>
3014  </tr>
3015</table>
3016<table cellspacing=5 cellpadding=0 border=0>
3017  <tr>
3018    <td>
3019      &nbsp;
3020    </td>
3021    <td>
3022
3023<p>
3024Finds the last occurrence of c in string, or it returns NULL if c is not found. The null-terminating character is included in the search.<dl compact><dt><b>Parameters: </b></dt><dd>
3025<table border=0 cellspacing=2 cellpadding=0>
3026<tr><td valign=top><em>str</em>&nbsp;</td><td>
3027null terminated source string </td></tr>
3028<tr><td valign=top><em>c</em>&nbsp;</td><td>
3029character to search for</td></tr>
3030</table>
3031</dl><dl compact><dt><b>Returns: </b></dt><dd>
3032</dl>    </td>
3033  </tr>
3034</table>
3035<a name="a61" doxytag="oscl_stdstring.h::oscl_strset"></a><p>
3036<table width="100%" cellpadding="2" cellspacing="0" border="0">
3037  <tr>
3038    <td class="md">
3039      <table cellpadding="0" cellspacing="0" border="0">
3040        <tr>
3041          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strset </td>
3042          <td class="md" valign="top">(&nbsp;</td>
3043          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
3044          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
3045        </tr>
3046        <tr>
3047          <td></td>
3048          <td></td>
3049          <td class="md" nowrap><a class="el" href="group__osclbase.html#a32">oscl_wchar</a>&nbsp;</td>
3050          <td class="mdname" nowrap>&nbsp; <em>val</em>, </td>
3051        </tr>
3052        <tr>
3053          <td></td>
3054          <td></td>
3055          <td class="md" nowrap>uint32&nbsp;</td>
3056          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
3057        </tr>
3058        <tr>
3059          <td></td>
3060          <td class="md">)&nbsp;</td>
3061          <td class="md" colspan="2"></td>
3062        </tr>
3063
3064      </table>
3065    </td>
3066  </tr>
3067</table>
3068<table cellspacing=5 cellpadding=0 border=0>
3069  <tr>
3070    <td>
3071      &nbsp;
3072    </td>
3073    <td>
3074
3075<p>
3076Sets the characters of a string to a specified character<dl compact><dt><b>Parameters: </b></dt><dd>
3077<table border=0 cellspacing=2 cellpadding=0>
3078<tr><td valign=top><em>dest</em>&nbsp;</td><td>
3079buffer to modify </td></tr>
3080<tr><td valign=top><em>val</em>&nbsp;</td><td>
3081character to set </td></tr>
3082<tr><td valign=top><em>count</em>&nbsp;</td><td>
3083number of chars to set</td></tr>
3084</table>
3085</dl><dl compact><dt><b>Returns: </b></dt><dd>
3086the value of dest </dl>    </td>
3087  </tr>
3088</table>
3089<a name="a60" doxytag="oscl_stdstring.h::oscl_strset"></a><p>
3090<table width="100%" cellpadding="2" cellspacing="0" border="0">
3091  <tr>
3092    <td class="md">
3093      <table cellpadding="0" cellspacing="0" border="0">
3094        <tr>
3095          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strset </td>
3096          <td class="md" valign="top">(&nbsp;</td>
3097          <td class="md" nowrap valign="top">char *&nbsp;</td>
3098          <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
3099        </tr>
3100        <tr>
3101          <td></td>
3102          <td></td>
3103          <td class="md" nowrap>char&nbsp;</td>
3104          <td class="mdname" nowrap>&nbsp; <em>val</em>, </td>
3105        </tr>
3106        <tr>
3107          <td></td>
3108          <td></td>
3109          <td class="md" nowrap>uint32&nbsp;</td>
3110          <td class="mdname" nowrap>&nbsp; <em>count</em></td>
3111        </tr>
3112        <tr>
3113          <td></td>
3114          <td class="md">)&nbsp;</td>
3115          <td class="md" colspan="2"></td>
3116        </tr>
3117
3118      </table>
3119    </td>
3120  </tr>
3121</table>
3122<table cellspacing=5 cellpadding=0 border=0>
3123  <tr>
3124    <td>
3125      &nbsp;
3126    </td>
3127    <td>
3128
3129<p>
3130Sets the characters of a string to a specified character<dl compact><dt><b>Parameters: </b></dt><dd>
3131<table border=0 cellspacing=2 cellpadding=0>
3132<tr><td valign=top><em>dest</em>&nbsp;</td><td>
3133buffer to modify </td></tr>
3134<tr><td valign=top><em>val</em>&nbsp;</td><td>
3135character to set </td></tr>
3136<tr><td valign=top><em>count</em>&nbsp;</td><td>
3137number of chars to set</td></tr>
3138</table>
3139</dl><dl compact><dt><b>Returns: </b></dt><dd>
3140the value of dest </dl>    </td>
3141  </tr>
3142</table>
3143<a name="a72" doxytag="oscl_stdstring.h::oscl_strstr"></a><p>
3144<table width="100%" cellpadding="2" cellspacing="0" border="0">
3145  <tr>
3146    <td class="md">
3147      <table cellpadding="0" cellspacing="0" border="0">
3148        <tr>
3149          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strstr </td>
3150          <td class="md" valign="top">(&nbsp;</td>
3151          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
3152          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
3153        </tr>
3154        <tr>
3155          <td></td>
3156          <td></td>
3157          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
3158          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
3159        </tr>
3160        <tr>
3161          <td></td>
3162          <td class="md">)&nbsp;</td>
3163          <td class="md" colspan="2"></td>
3164        </tr>
3165
3166      </table>
3167    </td>
3168  </tr>
3169</table>
3170<table cellspacing=5 cellpadding=0 border=0>
3171  <tr>
3172    <td>
3173      &nbsp;
3174    </td>
3175    <td>
3176
3177<p>
3178    </td>
3179  </tr>
3180</table>
3181<a name="a71" doxytag="oscl_stdstring.h::oscl_strstr"></a><p>
3182<table width="100%" cellpadding="2" cellspacing="0" border="0">
3183  <tr>
3184    <td class="md">
3185      <table cellpadding="0" cellspacing="0" border="0">
3186        <tr>
3187          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* oscl_strstr </td>
3188          <td class="md" valign="top">(&nbsp;</td>
3189          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
3190          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
3191        </tr>
3192        <tr>
3193          <td></td>
3194          <td></td>
3195          <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
3196          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
3197        </tr>
3198        <tr>
3199          <td></td>
3200          <td class="md">)&nbsp;</td>
3201          <td class="md" colspan="2"></td>
3202        </tr>
3203
3204      </table>
3205    </td>
3206  </tr>
3207</table>
3208<table cellspacing=5 cellpadding=0 border=0>
3209  <tr>
3210    <td>
3211      &nbsp;
3212    </td>
3213    <td>
3214
3215<p>
3216find the occurrence of sub-string in a string.<dl compact><dt><b>Parameters: </b></dt><dd>
3217<table border=0 cellspacing=2 cellpadding=0>
3218<tr><td valign=top><em>str1</em>&nbsp;</td><td>
3219string. </td></tr>
3220<tr><td valign=top><em>str2</em>&nbsp;</td><td>
3221sub-string</td></tr>
3222</table>
3223</dl><dl compact><dt><b>Returns: </b></dt><dd>
3224pointer to the begining of sub-string. </dl>    </td>
3225  </tr>
3226</table>
3227<a name="a70" doxytag="oscl_stdstring.h::oscl_strstr"></a><p>
3228<table width="100%" cellpadding="2" cellspacing="0" border="0">
3229  <tr>
3230    <td class="md">
3231      <table cellpadding="0" cellspacing="0" border="0">
3232        <tr>
3233          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* oscl_strstr </td>
3234          <td class="md" valign="top">(&nbsp;</td>
3235          <td class="md" nowrap valign="top">char *&nbsp;</td>
3236          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
3237        </tr>
3238        <tr>
3239          <td></td>
3240          <td></td>
3241          <td class="md" nowrap>const char *&nbsp;</td>
3242          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
3243        </tr>
3244        <tr>
3245          <td></td>
3246          <td class="md">)&nbsp;</td>
3247          <td class="md" colspan="2"></td>
3248        </tr>
3249
3250      </table>
3251    </td>
3252  </tr>
3253</table>
3254<table cellspacing=5 cellpadding=0 border=0>
3255  <tr>
3256    <td>
3257      &nbsp;
3258    </td>
3259    <td>
3260
3261<p>
3262    </td>
3263  </tr>
3264</table>
3265<a name="a69" doxytag="oscl_stdstring.h::oscl_strstr"></a><p>
3266<table width="100%" cellpadding="2" cellspacing="0" border="0">
3267  <tr>
3268    <td class="md">
3269      <table cellpadding="0" cellspacing="0" border="0">
3270        <tr>
3271          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const char* oscl_strstr </td>
3272          <td class="md" valign="top">(&nbsp;</td>
3273          <td class="md" nowrap valign="top">const char *&nbsp;</td>
3274          <td class="mdname" nowrap>&nbsp; <em>str1</em>, </td>
3275        </tr>
3276        <tr>
3277          <td></td>
3278          <td></td>
3279          <td class="md" nowrap>const char *&nbsp;</td>
3280          <td class="mdname" nowrap>&nbsp; <em>str2</em></td>
3281        </tr>
3282        <tr>
3283          <td></td>
3284          <td class="md">)&nbsp;</td>
3285          <td class="md" colspan="2"></td>
3286        </tr>
3287
3288      </table>
3289    </td>
3290  </tr>
3291</table>
3292<table cellspacing=5 cellpadding=0 border=0>
3293  <tr>
3294    <td>
3295      &nbsp;
3296    </td>
3297    <td>
3298
3299<p>
3300find the occurrence of sub-string in a string.<dl compact><dt><b>Parameters: </b></dt><dd>
3301<table border=0 cellspacing=2 cellpadding=0>
3302<tr><td valign=top><em>str1</em>&nbsp;</td><td>
3303string. </td></tr>
3304<tr><td valign=top><em>str2</em>&nbsp;</td><td>
3305sub-string</td></tr>
3306</table>
3307</dl><dl compact><dt><b>Returns: </b></dt><dd>
3308pointer to the begining of sub-string. </dl>    </td>
3309  </tr>
3310</table>
3311<a name="a67" doxytag="oscl_stdstring.h::oscl_tolower"></a><p>
3312<table width="100%" cellpadding="2" cellspacing="0" border="0">
3313  <tr>
3314    <td class="md">
3315      <table cellpadding="0" cellspacing="0" border="0">
3316        <tr>
3317          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> oscl_tolower </td>
3318          <td class="md" valign="top">(&nbsp;</td>
3319          <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>&nbsp;</td>
3320          <td class="mdname1" valign="top" nowrap>&nbsp; <em>car</em>          </td>
3321          <td class="md" valign="top">)&nbsp;</td>
3322          <td class="md" nowrap></td>
3323        </tr>
3324
3325      </table>
3326    </td>
3327  </tr>
3328</table>
3329<table cellspacing=5 cellpadding=0 border=0>
3330  <tr>
3331    <td>
3332      &nbsp;
3333    </td>
3334    <td>
3335
3336<p>
3337convert upper case ASCII character to lower case. behaviour of this function for non-ASCII characters is not defined.<dl compact><dt><b>Parameters: </b></dt><dd>
3338<table border=0 cellspacing=2 cellpadding=0>
3339<tr><td valign=top><em>car</em>&nbsp;</td><td>
3340upper case character.</td></tr>
3341</table>
3342</dl><dl compact><dt><b>Returns: </b></dt><dd>
3343lower case character. </dl>    </td>
3344  </tr>
3345</table>
3346<a name="a66" doxytag="oscl_stdstring.h::oscl_tolower"></a><p>
3347<table width="100%" cellpadding="2" cellspacing="0" border="0">
3348  <tr>
3349    <td class="md">
3350      <table cellpadding="0" cellspacing="0" border="0">
3351        <tr>
3352          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char oscl_tolower </td>
3353          <td class="md" valign="top">(&nbsp;</td>
3354          <td class="md" nowrap valign="top">const char&nbsp;</td>
3355          <td class="mdname1" valign="top" nowrap>&nbsp; <em>car</em>          </td>
3356          <td class="md" valign="top">)&nbsp;</td>
3357          <td class="md" nowrap></td>
3358        </tr>
3359
3360      </table>
3361    </td>
3362  </tr>
3363</table>
3364<table cellspacing=5 cellpadding=0 border=0>
3365  <tr>
3366    <td>
3367      &nbsp;
3368    </td>
3369    <td>
3370
3371<p>
3372convert upper case ASCII character to lower case. behaviour of this function for non-ASCII characters is not defined.<dl compact><dt><b>Parameters: </b></dt><dd>
3373<table border=0 cellspacing=2 cellpadding=0>
3374<tr><td valign=top><em>car</em>&nbsp;</td><td>
3375upper case character.</td></tr>
3376</table>
3377</dl><dl compact><dt><b>Returns: </b></dt><dd>
3378lower case character. </dl>    </td>
3379  </tr>
3380</table>
3381<a name="a75" doxytag="oscl_time.h::PV8601ToRFC822"></a><p>
3382<table width="100%" cellpadding="2" cellspacing="0" border="0">
3383  <tr>
3384    <td class="md">
3385      <table cellpadding="0" cellspacing="0" border="0">
3386        <tr>
3387          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PV8601ToRFC822 </td>
3388          <td class="md" valign="top">(&nbsp;</td>
3389          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a3">PV8601timeStrBuf</a>&nbsp;</td>
3390          <td class="mdname" nowrap>&nbsp; <em>pv8601_buffer</em>, </td>
3391        </tr>
3392        <tr>
3393          <td></td>
3394          <td></td>
3395          <td class="md" nowrap><a class="el" href="group__osclbase.html#a2">CtimeStrBuf</a>&nbsp;</td>
3396          <td class="mdname" nowrap>&nbsp; <em>ctime_buffer</em></td>
3397        </tr>
3398        <tr>
3399          <td></td>
3400          <td class="md">)&nbsp;</td>
3401          <td class="md" colspan="2"></td>
3402        </tr>
3403
3404      </table>
3405    </td>
3406  </tr>
3407</table>
3408<table cellspacing=5 cellpadding=0 border=0>
3409  <tr>
3410    <td>
3411      &nbsp;
3412    </td>
3413    <td>
3414
3415<p>
3416    </td>
3417  </tr>
3418</table>
3419<a name="a37" doxytag="oscl_base.h::PVOsclBase_Cleanup"></a><p>
3420<table width="100%" cellpadding="2" cellspacing="0" border="0">
3421  <tr>
3422    <td class="md">
3423      <table cellpadding="0" cellspacing="0" border="0">
3424        <tr>
3425          <td class="md" nowrap valign="top"> void PVOsclBase_Cleanup </td>
3426          <td class="md" valign="top">(&nbsp;</td>
3427          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
3428          <td class="md" valign="top">)&nbsp;</td>
3429          <td class="md" nowrap></td>
3430        </tr>
3431
3432      </table>
3433    </td>
3434  </tr>
3435</table>
3436<table cellspacing=5 cellpadding=0 border=0>
3437  <tr>
3438    <td>
3439      &nbsp;
3440    </td>
3441    <td>
3442
3443<p>
3444Cleanup OsclBase functionality OsclBase should be cleaned once OsclBase functions are no longer needed     </td>
3445  </tr>
3446</table>
3447<a name="a36" doxytag="oscl_base.h::PVOsclBase_Init"></a><p>
3448<table width="100%" cellpadding="2" cellspacing="0" border="0">
3449  <tr>
3450    <td class="md">
3451      <table cellpadding="0" cellspacing="0" border="0">
3452        <tr>
3453          <td class="md" nowrap valign="top"> void PVOsclBase_Init </td>
3454          <td class="md" valign="top">(&nbsp;</td>
3455          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
3456          <td class="md" valign="top">)&nbsp;</td>
3457          <td class="md" nowrap></td>
3458        </tr>
3459
3460      </table>
3461    </td>
3462  </tr>
3463</table>
3464<table cellspacing=5 cellpadding=0 border=0>
3465  <tr>
3466    <td>
3467      &nbsp;
3468    </td>
3469    <td>
3470
3471<p>
3472Initializes OsclBase functionality. OsclBase must be initialized before any OsclBase functionality can be used.<dl compact><dt><b>Exceptions: </b></dt><dd>
3473<table border=0 cellspacing=2 cellpadding=0>
3474<tr><td valign=top><em>leaves</em>&nbsp;</td><td>
3475 if out-of-memory </td></tr>
3476</table>
3477</dl>    </td>
3478  </tr>
3479</table>
3480<a name="a76" doxytag="oscl_time.h::RFC822ToPV8601"></a><p>
3481<table width="100%" cellpadding="2" cellspacing="0" border="0">
3482  <tr>
3483    <td class="md">
3484      <table cellpadding="0" cellspacing="0" border="0">
3485        <tr>
3486          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void RFC822ToPV8601 </td>
3487          <td class="md" valign="top">(&nbsp;</td>
3488          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a2">CtimeStrBuf</a>&nbsp;</td>
3489          <td class="mdname" nowrap>&nbsp; <em>ctime_buffer</em>, </td>
3490        </tr>
3491        <tr>
3492          <td></td>
3493          <td></td>
3494          <td class="md" nowrap><a class="el" href="group__osclbase.html#a3">PV8601timeStrBuf</a>&nbsp;</td>
3495          <td class="mdname" nowrap>&nbsp;</td>
3496        </tr>
3497        <tr>
3498          <td></td>
3499          <td class="md">)&nbsp;</td>
3500          <td class="md" colspan="2"></td>
3501        </tr>
3502
3503      </table>
3504    </td>
3505  </tr>
3506</table>
3507<table cellspacing=5 cellpadding=0 border=0>
3508  <tr>
3509    <td>
3510      &nbsp;
3511    </td>
3512    <td>
3513
3514<p>
3515    </td>
3516  </tr>
3517</table>
3518<hr><h2>Variable Documentation</h2>
3519<a name="a0" doxytag="oscl_time.h::CTIME_BUFFER_SIZE"></a><p>
3520<table width="100%" cellpadding="2" cellspacing="0" border="0">
3521  <tr>
3522    <td class="md">
3523      <table cellpadding="0" cellspacing="0" border="0">
3524        <tr>
3525          <td class="md" nowrap valign="top"> const int CTIME_BUFFER_SIZE = 26
3526      </table>
3527    </td>
3528  </tr>
3529</table>
3530<table cellspacing=5 cellpadding=0 border=0>
3531  <tr>
3532    <td>
3533      &nbsp;
3534    </td>
3535    <td>
3536
3537<p>
3538    </td>
3539  </tr>
3540</table>
3541<a name="a5" doxytag="oscl_time.h::MSEC_PER_SEC"></a><p>
3542<table width="100%" cellpadding="2" cellspacing="0" border="0">
3543  <tr>
3544    <td class="md">
3545      <table cellpadding="0" cellspacing="0" border="0">
3546        <tr>
3547          <td class="md" nowrap valign="top"> const long MSEC_PER_SEC = 1000
3548      </table>
3549    </td>
3550  </tr>
3551</table>
3552<table cellspacing=5 cellpadding=0 border=0>
3553  <tr>
3554    <td>
3555      &nbsp;
3556    </td>
3557    <td>
3558
3559<p>
3560    </td>
3561  </tr>
3562</table>
3563<a name="a23" doxytag="oscl_tls.h::OSCL_TLS_ID_BASE_LAST"></a><p>
3564<table width="100%" cellpadding="2" cellspacing="0" border="0">
3565  <tr>
3566    <td class="md">
3567      <table cellpadding="0" cellspacing="0" border="0">
3568        <tr>
3569          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_BASE_LAST = 11
3570      </table>
3571    </td>
3572  </tr>
3573</table>
3574<table cellspacing=5 cellpadding=0 border=0>
3575  <tr>
3576    <td>
3577      &nbsp;
3578    </td>
3579    <td>
3580
3581<p>
3582    </td>
3583  </tr>
3584</table>
3585<a name="a12" doxytag="oscl_tls.h::OSCL_TLS_ID_ERRORHOOK"></a><p>
3586<table width="100%" cellpadding="2" cellspacing="0" border="0">
3587  <tr>
3588    <td class="md">
3589      <table cellpadding="0" cellspacing="0" border="0">
3590        <tr>
3591          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_ERRORHOOK = 1
3592      </table>
3593    </td>
3594  </tr>
3595</table>
3596<table cellspacing=5 cellpadding=0 border=0>
3597  <tr>
3598    <td>
3599      &nbsp;
3600    </td>
3601    <td>
3602
3603<p>
3604    </td>
3605  </tr>
3606</table>
3607<a name="a11" doxytag="oscl_tls.h::OSCL_TLS_ID_MAGICNUM"></a><p>
3608<table width="100%" cellpadding="2" cellspacing="0" border="0">
3609  <tr>
3610    <td class="md">
3611      <table cellpadding="0" cellspacing="0" border="0">
3612        <tr>
3613          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_MAGICNUM = 0
3614      </table>
3615    </td>
3616  </tr>
3617</table>
3618<table cellspacing=5 cellpadding=0 border=0>
3619  <tr>
3620    <td>
3621      &nbsp;
3622    </td>
3623    <td>
3624
3625<p>
3626    </td>
3627  </tr>
3628</table>
3629<a name="a21" doxytag="oscl_tls.h::OSCL_TLS_ID_OSCLREGISTRY"></a><p>
3630<table width="100%" cellpadding="2" cellspacing="0" border="0">
3631  <tr>
3632    <td class="md">
3633      <table cellpadding="0" cellspacing="0" border="0">
3634        <tr>
3635          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_OSCLREGISTRY = 10
3636      </table>
3637    </td>
3638  </tr>
3639</table>
3640<table cellspacing=5 cellpadding=0 border=0>
3641  <tr>
3642    <td>
3643      &nbsp;
3644    </td>
3645    <td>
3646
3647<p>
3648    </td>
3649  </tr>
3650</table>
3651<a name="a18" doxytag="oscl_tls.h::OSCL_TLS_ID_PAYLOADPARSER"></a><p>
3652<table width="100%" cellpadding="2" cellspacing="0" border="0">
3653  <tr>
3654    <td class="md">
3655      <table cellpadding="0" cellspacing="0" border="0">
3656        <tr>
3657          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_PAYLOADPARSER = 7
3658      </table>
3659    </td>
3660  </tr>
3661</table>
3662<table cellspacing=5 cellpadding=0 border=0>
3663  <tr>
3664    <td>
3665      &nbsp;
3666    </td>
3667    <td>
3668
3669<p>
3670    </td>
3671  </tr>
3672</table>
3673<a name="a16" doxytag="oscl_tls.h::OSCL_TLS_ID_PVERRORTRAP"></a><p>
3674<table width="100%" cellpadding="2" cellspacing="0" border="0">
3675  <tr>
3676    <td class="md">
3677      <table cellpadding="0" cellspacing="0" border="0">
3678        <tr>
3679          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_PVERRORTRAP = 5
3680      </table>
3681    </td>
3682  </tr>
3683</table>
3684<table cellspacing=5 cellpadding=0 border=0>
3685  <tr>
3686    <td>
3687      &nbsp;
3688    </td>
3689    <td>
3690
3691<p>
3692    </td>
3693  </tr>
3694</table>
3695<a name="a13" doxytag="oscl_tls.h::OSCL_TLS_ID_PVLOGGER"></a><p>
3696<table width="100%" cellpadding="2" cellspacing="0" border="0">
3697  <tr>
3698    <td class="md">
3699      <table cellpadding="0" cellspacing="0" border="0">
3700        <tr>
3701          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_PVLOGGER = 2
3702      </table>
3703    </td>
3704  </tr>
3705</table>
3706<table cellspacing=5 cellpadding=0 border=0>
3707  <tr>
3708    <td>
3709      &nbsp;
3710    </td>
3711    <td>
3712
3713<p>
3714    </td>
3715  </tr>
3716</table>
3717<a name="a19" doxytag="oscl_tls.h::OSCL_TLS_ID_PVMFRECOGNIZER"></a><p>
3718<table width="100%" cellpadding="2" cellspacing="0" border="0">
3719  <tr>
3720    <td class="md">
3721      <table cellpadding="0" cellspacing="0" border="0">
3722        <tr>
3723          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_PVMFRECOGNIZER = 8
3724      </table>
3725    </td>
3726  </tr>
3727</table>
3728<table cellspacing=5 cellpadding=0 border=0>
3729  <tr>
3730    <td>
3731      &nbsp;
3732    </td>
3733    <td>
3734
3735<p>
3736    </td>
3737  </tr>
3738</table>
3739<a name="a15" doxytag="oscl_tls.h::OSCL_TLS_ID_PVSCHEDULER"></a><p>
3740<table width="100%" cellpadding="2" cellspacing="0" border="0">
3741  <tr>
3742    <td class="md">
3743      <table cellpadding="0" cellspacing="0" border="0">
3744        <tr>
3745          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_PVSCHEDULER = 4
3746      </table>
3747    </td>
3748  </tr>
3749</table>
3750<table cellspacing=5 cellpadding=0 border=0>
3751  <tr>
3752    <td>
3753      &nbsp;
3754    </td>
3755    <td>
3756
3757<p>
3758    </td>
3759  </tr>
3760</table>
3761<a name="a17" doxytag="oscl_tls.h::OSCL_TLS_ID_SDPMEDIAPARSER"></a><p>
3762<table width="100%" cellpadding="2" cellspacing="0" border="0">
3763  <tr>
3764    <td class="md">
3765      <table cellpadding="0" cellspacing="0" border="0">
3766        <tr>
3767          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_SDPMEDIAPARSER = 6
3768      </table>
3769    </td>
3770  </tr>
3771</table>
3772<table cellspacing=5 cellpadding=0 border=0>
3773  <tr>
3774    <td>
3775      &nbsp;
3776    </td>
3777    <td>
3778
3779<p>
3780    </td>
3781  </tr>
3782</table>
3783<a name="a22" doxytag="oscl_tls.h::OSCL_TLS_ID_SQLITE3"></a><p>
3784<table width="100%" cellpadding="2" cellspacing="0" border="0">
3785  <tr>
3786    <td class="md">
3787      <table cellpadding="0" cellspacing="0" border="0">
3788        <tr>
3789          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_SQLITE3 = 11
3790      </table>
3791    </td>
3792  </tr>
3793</table>
3794<table cellspacing=5 cellpadding=0 border=0>
3795  <tr>
3796    <td>
3797      &nbsp;
3798    </td>
3799    <td>
3800
3801<p>
3802    </td>
3803  </tr>
3804</table>
3805<a name="a14" doxytag="oscl_tls.h::OSCL_TLS_ID_TEST"></a><p>
3806<table width="100%" cellpadding="2" cellspacing="0" border="0">
3807  <tr>
3808    <td class="md">
3809      <table cellpadding="0" cellspacing="0" border="0">
3810        <tr>
3811          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_TEST = 3
3812      </table>
3813    </td>
3814  </tr>
3815</table>
3816<table cellspacing=5 cellpadding=0 border=0>
3817  <tr>
3818    <td>
3819      &nbsp;
3820    </td>
3821    <td>
3822
3823<p>
3824    </td>
3825  </tr>
3826</table>
3827<a name="a20" doxytag="oscl_tls.h::OSCL_TLS_ID_WMDRM"></a><p>
3828<table width="100%" cellpadding="2" cellspacing="0" border="0">
3829  <tr>
3830    <td class="md">
3831      <table cellpadding="0" cellspacing="0" border="0">
3832        <tr>
3833          <td class="md" nowrap valign="top"> const uint32 OSCL_TLS_ID_WMDRM = 9
3834      </table>
3835    </td>
3836  </tr>
3837</table>
3838<table cellspacing=5 cellpadding=0 border=0>
3839  <tr>
3840    <td>
3841      &nbsp;
3842    </td>
3843    <td>
3844
3845<p>
3846    </td>
3847  </tr>
3848</table>
3849<a name="a1" doxytag="oscl_time.h::PV8601TIME_BUFFER_SIZE"></a><p>
3850<table width="100%" cellpadding="2" cellspacing="0" border="0">
3851  <tr>
3852    <td class="md">
3853      <table cellpadding="0" cellspacing="0" border="0">
3854        <tr>
3855          <td class="md" nowrap valign="top"> const int PV8601TIME_BUFFER_SIZE = 21
3856      </table>
3857    </td>
3858  </tr>
3859</table>
3860<table cellspacing=5 cellpadding=0 border=0>
3861  <tr>
3862    <td>
3863      &nbsp;
3864    </td>
3865    <td>
3866
3867<p>
3868    </td>
3869  </tr>
3870</table>
3871<a name="a9" doxytag="oscl_time.h::unix_ntp_offset"></a><p>
3872<table width="100%" cellpadding="2" cellspacing="0" border="0">
3873  <tr>
3874    <td class="md">
3875      <table cellpadding="0" cellspacing="0" border="0">
3876        <tr>
3877          <td class="md" nowrap valign="top"> const uint32 unix_ntp_offset = 2208988800U
3878      </table>
3879    </td>
3880  </tr>
3881</table>
3882<table cellspacing=5 cellpadding=0 border=0>
3883  <tr>
3884    <td>
3885      &nbsp;
3886    </td>
3887    <td>
3888
3889<p>
3890    </td>
3891  </tr>
3892</table>
3893<a name="a4" doxytag="oscl_time.h::USEC_PER_SEC"></a><p>
3894<table width="100%" cellpadding="2" cellspacing="0" border="0">
3895  <tr>
3896    <td class="md">
3897      <table cellpadding="0" cellspacing="0" border="0">
3898        <tr>
3899          <td class="md" nowrap valign="top"> const long USEC_PER_SEC = 1000000
3900      </table>
3901    </td>
3902  </tr>
3903</table>
3904<table cellspacing=5 cellpadding=0 border=0>
3905  <tr>
3906    <td>
3907      &nbsp;
3908    </td>
3909    <td>
3910
3911<p>
3912    </td>
3913  </tr>
3914</table>
3915<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
3916<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
3917</small></address>
3918</body>
3919</html>
3920