• 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 Error</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 Error</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__errno_8h.html">oscl_errno.h</a></td></tr>
13<tr><td>&nbsp;</td><td><font size=-1><em>Defines functions to access additional information on errors where supported through an errno or similar service.</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__error_8h.html">oscl_error.h</a></td></tr>
17<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Error trap and cleanup include file.</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__error__allocator_8h.html">oscl_error_allocator.h</a></td></tr>
21<tr><td>&nbsp;</td><td><font size=-1><em>Defines a memory allocation class used by the oscl error layer.</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__error__codes_8h.html">oscl_error_codes.h</a></td></tr>
25<tr><td>&nbsp;</td><td><font size=-1><em>Defines basic error and leave codes.</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__error__imp_8h.html">oscl_error_imp.h</a></td></tr>
29<tr><td>&nbsp;</td><td><font size=-1><em>Internal error implementation support.</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__error__imp__cppexceptions_8h.html">oscl_error_imp_cppexceptions.h</a></td></tr>
33<tr><td>&nbsp;</td><td><font size=-1><em>Implementation File for Leave using C++ exceptions.</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__error__imp__fatalerror_8h.html">oscl_error_imp_fatalerror.h</a></td></tr>
37<tr><td>&nbsp;</td><td><font size=-1><em>Implementation File for Leave using system fatal error.</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__error__imp__jumps_8h.html">oscl_error_imp_jumps.h</a></td></tr>
41<tr><td>&nbsp;</td><td><font size=-1><em>Implemenation of using Setjmp / Longjmp.</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__error__trapcleanup_8h.html">oscl_error_trapcleanup.h</a></td></tr>
45<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Error trap and cleanup implementation include file.</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__exception_8h.html">oscl_exception.h</a></td></tr>
49<tr><td>&nbsp;</td><td><font size=-1><em>contains all the exception handling macros and classes</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__heapbase_8h.html">oscl_heapbase.h</a></td></tr>
53<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Heap Base include file.</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__mempool__allocator_8h.html">oscl_mempool_allocator.h</a></td></tr>
57<tr><td>&nbsp;</td><td><font size=-1><em>This file contains the definition of memory pool allocator for leave/trap.</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__namestring_8h.html">oscl_namestring.h</a></td></tr>
61<tr><td>&nbsp;</td><td><font size=-1><em>Name string class include file.</em></font><br><br></td></tr>
62
63<p>
64<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
65<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class__OsclHeapBase.html">_OsclHeapBase</a></td></tr>
66<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classinternalLeave.html">internalLeave</a></td></tr>
67<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclError.html">OsclError</a></td></tr>
68<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorAllocator.html">OsclErrorAllocator</a></td></tr>
69<tr><td>&nbsp;</td><td><font size=-1><em>This class provides static methods to invoke the user defined memory allocation routines.</em> <a href="classOsclErrorAllocator.html#_details">More...</a><em></em></font><br><br></td></tr>
70<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorTrap.html">OsclErrorTrap</a></td></tr>
71<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a></td></tr>
72<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclException.html">OsclException</a></td></tr>
73<tr><td>&nbsp;</td><td><font size=-1><em><a class="el" href="oscl__exception_8h.html">oscl_exception.h</a> contains all the exception handling macros and classes This template class provides the base exception class that all exceptions derive from</em> <a href="classOsclException.html#_details">More...</a><em></em></font><br><br></td></tr>
74<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclJump.html">OsclJump</a></td></tr>
75<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolAllocator.html">OsclMemPoolAllocator</a></td></tr>
76<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclNameString.html">OsclNameString</a></td></tr>
77<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLSEx.html">OsclTLSEx</a></td></tr>
78<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLSRegistryEx.html">OsclTLSRegistryEx</a></td></tr>
79<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapItem.html">OsclTrapItem</a></td></tr>
80<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapStack.html">OsclTrapStack</a></td></tr>
81<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapStackItem.html">OsclTrapStackItem</a></td></tr>
82<tr><td colspan=2><br><h2>Defines</h2></td></tr>
83<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a8">OSCL_TRAPSTACK_PUSH</a>(a)&nbsp;&nbsp;&nbsp;OsclError::PushL(a)</td></tr>
84<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a9">OSCL_TRAPSTACK_POP</a>()&nbsp;&nbsp;&nbsp;OsclError::Pop()</td></tr>
85<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a10">OSCL_TRAPSTACK_POPDEALLOC</a>()&nbsp;&nbsp;&nbsp;OsclError::PopDealloc()</td></tr>
86<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a11">OsclErrNone</a>&nbsp;&nbsp;&nbsp;0</td></tr>
87<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a12">OsclErrGeneral</a>&nbsp;&nbsp;&nbsp;100</td></tr>
88<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a13">OsclErrNoMemory</a>&nbsp;&nbsp;&nbsp;101</td></tr>
89<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a14">OsclErrCancelled</a>&nbsp;&nbsp;&nbsp;102</td></tr>
90<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a15">OsclErrNotSupported</a>&nbsp;&nbsp;&nbsp;103</td></tr>
91<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a16">OsclErrArgument</a>&nbsp;&nbsp;&nbsp;104</td></tr>
92<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a17">OsclErrBadHandle</a>&nbsp;&nbsp;&nbsp;105</td></tr>
93<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a18">OsclErrAlreadyExists</a>&nbsp;&nbsp;&nbsp;106</td></tr>
94<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a19">OsclErrBusy</a>&nbsp;&nbsp;&nbsp;107</td></tr>
95<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a20">OsclErrNotReady</a>&nbsp;&nbsp;&nbsp;108</td></tr>
96<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a21">OsclErrCorrupt</a>&nbsp;&nbsp;&nbsp;109</td></tr>
97<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a22">OsclErrTimeout</a>&nbsp;&nbsp;&nbsp;110</td></tr>
98<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a23">OsclErrOverflow</a>&nbsp;&nbsp;&nbsp;111</td></tr>
99<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a24">OsclErrUnderflow</a>&nbsp;&nbsp;&nbsp;112</td></tr>
100<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a25">OsclErrInvalidState</a>&nbsp;&nbsp;&nbsp;113</td></tr>
101<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a26">OsclErrNoResources</a>&nbsp;&nbsp;&nbsp;114</td></tr>
102<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a27">OsclErrNotInstalled</a>&nbsp;&nbsp;&nbsp;115</td></tr>
103<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a28">OsclErrAlreadyInstalled</a>&nbsp;&nbsp;&nbsp;116</td></tr>
104<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a29">OsclErrSystemCallFailed</a>&nbsp;&nbsp;&nbsp;117</td></tr>
105<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a30">OsclErrNoHandler</a>&nbsp;&nbsp;&nbsp;118</td></tr>
106<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a31">OsclErrThreadContextIncorrect</a>&nbsp;&nbsp;&nbsp;119</td></tr>
107<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a32">OSCL_ERR_NONE</a>&nbsp;&nbsp;&nbsp;OsclErrNone</td></tr>
108<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a33">OSCL_BAD_ALLOC_EXCEPTION_CODE</a>&nbsp;&nbsp;&nbsp;OsclErrNoMemory</td></tr>
109<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a34">OsclSuccess</a>&nbsp;&nbsp;&nbsp;0</td></tr>
110<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a35">OsclPending</a>&nbsp;&nbsp;&nbsp;1</td></tr>
111<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a36">OsclFailure</a>&nbsp;&nbsp;&nbsp;-1</td></tr>
112<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a37">PVERROR_IMP_JUMPS</a></td></tr>
113<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a38">PVError_DoLeave</a>()&nbsp;&nbsp;&nbsp;<a class="el" href="classinternalLeave.html">internalLeave</a> __ilv;__ilv.a=0;throw(__ilv)</td></tr>
114<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a39">_PV_TRAP</a>(__r, __s)</td></tr>
115<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a40">_PV_TRAP_NO_TLS</a>(__trapimp, __r, __s)</td></tr>
116<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a41">OSCL_JUMP_MAX_JUMP_MARKS</a>&nbsp;&nbsp;&nbsp;OSCL_MAX_TRAP_LEVELS</td></tr>
117<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a42">internalLeave</a>&nbsp;&nbsp;&nbsp;(-1)</td></tr>
118<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a43">OSCL_MAX_TRAP_LEVELS</a>&nbsp;&nbsp;&nbsp;20</td></tr>
119<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a44">PVERRORTRAP_REGISTRY_ID</a>&nbsp;&nbsp;&nbsp;<a class="el" href="group__osclbase.html#a16">OSCL_TLS_ID_PVERRORTRAP</a></td></tr>
120<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a45">PVERRORTRAP_REGISTRY</a>&nbsp;&nbsp;&nbsp;<a class="el" href="classOsclTLSRegistry.html">OsclTLSRegistry</a></td></tr>
121<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a46">OSCL_LEAVE</a>(_leave_status)&nbsp;&nbsp;&nbsp;OsclError::Leave(_leave_status)</td></tr>
122<tr><td>&nbsp;</td><td><font size=-1><em>Use this macro to cause a Leave. It terminates the execution of the current active function.</em> <a href="#a46"></a><em></em></font><br><br></td></tr>
123<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a47">OSCL_TRY</a>(_leave_status, _statements)&nbsp;&nbsp;&nbsp;_PV_TRAP(_leave_status,_statements)</td></tr>
124<tr><td>&nbsp;</td><td><font size=-1><em>This macro will be used to set up a try block.</em> <a href="#a47"></a><em></em></font><br><br></td></tr>
125<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a48">OSCL_TRY_NO_TLS</a>(__trapimp, _leave_status, _statements)&nbsp;&nbsp;&nbsp;_PV_TRAP_NO_TLS(__trapimp,_leave_status,_statements)</td></tr>
126<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a49">OSCL_FIRST_CATCH_ANY</a>(_leave_status, _statements)&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone) { _statements; }</td></tr>
127<tr><td>&nbsp;</td><td><font size=-1><em>This section defines the macros to be used in the catch block following the try block Use this macro to call a function that handles all exception types thrown in the preceding try block.</em> <a href="#a49"></a><em></em></font><br><br></td></tr>
128<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a50">OSCL_FIRST_CATCH</a>(_leave_status, _catch_value, _statements)&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}</td></tr>
129<tr><td>&nbsp;</td><td><font size=-1><em>Use this macro to define a block of code that catches the first exception type thrown in the preceding try block.</em> <a href="#a50"></a><em></em></font><br><br></td></tr>
130<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a51">OSCL_CATCH</a>(_leave_status, _catch_value, _statements)&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}</td></tr>
131<tr><td>&nbsp;</td><td><font size=-1><em>Use this macro to define a block of code for catching additional exception types.</em> <a href="#a51"></a><em></em></font><br><br></td></tr>
132<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a52">OSCL_CATCH_ANY</a>(_leave_status, _statements)&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){ _statements;}</td></tr>
133<tr><td>&nbsp;</td><td><font size=-1><em>Use this macro to call a function that will catch all remaining exception types.</em> <a href="#a52"></a><em></em></font><br><br></td></tr>
134<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a53">OSCL_LAST_CATCH</a>(_leave_status)&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){OSCL_LEAVE(_leave_status);}</td></tr>
135<tr><td>&nbsp;</td><td><font size=-1><em>Use this macro if OSCL_CATCH_ANY has not been used. It will mark the end of the catch block.</em> <a href="#a53"></a><em></em></font><br><br></td></tr>
136<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
137<tr><td nowrap align=right valign=top>typedef int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a1">OsclLeaveCode</a></td></tr>
138<tr><td nowrap align=right valign=top>typedef int32&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a2">OsclReturnCode</a></td></tr>
139<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a3">OsclTrapOperation</a> )(<a class="el" href="group__osclbase.html#a25">OsclAny</a> *)</td></tr>
140<tr><td colspan=2><br><h2>Functions</h2></td></tr>
141<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a4">OSCL_IsErrnoSupported</a> ()</td></tr>
142<tr><td>&nbsp;</td><td><font size=-1><em>This function determines if a particular system saves the error number that occurs on a system call.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
143<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a5">OSCL_GetLastError</a> ()</td></tr>
144<tr><td>&nbsp;</td><td><font size=-1><em>This function returns the value of the system's global error number variable.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
145<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a6">OSCL_SetLastError</a> (int newVal)</td></tr>
146<tr><td>&nbsp;</td><td><font size=-1><em>This function sets the last error code for the system.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
147<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char *&nbsp;</td><td valign=bottom><a class="el" href="group__osclerror.html#a7">OSCL_StrError</a> (int errnum)</td></tr>
148<tr><td>&nbsp;</td><td><font size=-1><em>This function maps an error number to an error-message string.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
149</table>
150<hr><h2>Define Documentation</h2>
151<a name="a39" doxytag="oscl_error_imp_cppexceptions.h::_PV_TRAP"></a><p>
152<table width="100%" cellpadding="2" cellspacing="0" border="0">
153  <tr>
154    <td class="md">
155      <table cellpadding="0" cellspacing="0" border="0">
156        <tr>
157          <td class="md" nowrap valign="top"> #define _PV_TRAP</td>
158          <td class="md" valign="top">(&nbsp;</td>
159          <td class="md" nowrap valign="top">__r,         <tr>
160          <td></td>
161          <td></td>
162          <td class="md" nowrap>__s&nbsp;</td>
163          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
164          <td class="md" valign="top">)&nbsp;</td>
165          <td class="md" nowrap>
166      </table>
167    </td>
168  </tr>
169</table>
170<table cellspacing=5 cellpadding=0 border=0>
171  <tr>
172    <td>
173      &nbsp;
174    </td>
175    <td>
176
177<p>
178<b>Value:</b><div class="fragment"><pre>__r=<a class="code" href="group__osclerror.html#a11">OsclErrNone</a>;\
179        {\
180                <a class="code" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a>* __tr=<a class="code" href="classOsclErrorTrapImp.html#d0">OsclErrorTrapImp::Trap</a>();\
181                <span class="keywordflow">if</span>(!__tr){__s;}<span class="keywordflow">else</span>{\
182                <span class="keywordflow">try</span>{__s;}\
183                <span class="keywordflow">catch</span>(<a class="code" href="classinternalLeave.html">internalLeave</a> __lv)\
184                {__lv.a=__r=__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\
185                __tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#a0">UnTrap</a>();}\
186        }</pre></div>    </td>
187  </tr>
188</table>
189<a name="a40" doxytag="oscl_error_imp_cppexceptions.h::_PV_TRAP_NO_TLS"></a><p>
190<table width="100%" cellpadding="2" cellspacing="0" border="0">
191  <tr>
192    <td class="md">
193      <table cellpadding="0" cellspacing="0" border="0">
194        <tr>
195          <td class="md" nowrap valign="top"> #define _PV_TRAP_NO_TLS</td>
196          <td class="md" valign="top">(&nbsp;</td>
197          <td class="md" nowrap valign="top">__trapimp,         <tr>
198          <td></td>
199          <td></td>
200          <td class="md" nowrap>__r,         <tr>
201          <td></td>
202          <td></td>
203          <td class="md" nowrap>__s&nbsp;</td>
204          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
205          <td class="md" valign="top">)&nbsp;</td>
206          <td class="md" nowrap>
207      </table>
208    </td>
209  </tr>
210</table>
211<table cellspacing=5 cellpadding=0 border=0>
212  <tr>
213    <td>
214      &nbsp;
215    </td>
216    <td>
217
218<p>
219<b>Value:</b><div class="fragment"><pre>__r=<a class="code" href="group__osclerror.html#a11">OsclErrNone</a>;\
220        {\
221                <a class="code" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a>* __tr=<a class="code" href="classOsclErrorTrapImp.html#d1">OsclErrorTrapImp::TrapNoTls</a>(__trapimp);\
222                <span class="keywordflow">if</span>(!__tr){__s;}<span class="keywordflow">else</span>{\
223                <span class="keywordflow">try</span>{__s;}\
224                <span class="keywordflow">catch</span>(<a class="code" href="classinternalLeave.html">internalLeave</a> __lv)\
225                {__lv.a=__r=__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\
226                __tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#a0">UnTrap</a>();}\
227        }</pre></div>    </td>
228  </tr>
229</table>
230<a name="a42" doxytag="oscl_error_imp_jumps.h::internalLeave"></a><p>
231<table width="100%" cellpadding="2" cellspacing="0" border="0">
232  <tr>
233    <td class="md">
234      <table cellpadding="0" cellspacing="0" border="0">
235        <tr>
236          <td class="md" nowrap valign="top"> #define internalLeave&nbsp;&nbsp;&nbsp;(-1)
237      </table>
238    </td>
239  </tr>
240</table>
241<table cellspacing=5 cellpadding=0 border=0>
242  <tr>
243    <td>
244      &nbsp;
245    </td>
246    <td>
247
248<p>
249    </td>
250  </tr>
251</table>
252<a name="a33" doxytag="oscl_error_codes.h::OSCL_BAD_ALLOC_EXCEPTION_CODE"></a><p>
253<table width="100%" cellpadding="2" cellspacing="0" border="0">
254  <tr>
255    <td class="md">
256      <table cellpadding="0" cellspacing="0" border="0">
257        <tr>
258          <td class="md" nowrap valign="top"> #define OSCL_BAD_ALLOC_EXCEPTION_CODE&nbsp;&nbsp;&nbsp;OsclErrNoMemory
259      </table>
260    </td>
261  </tr>
262</table>
263<table cellspacing=5 cellpadding=0 border=0>
264  <tr>
265    <td>
266      &nbsp;
267    </td>
268    <td>
269
270<p>
271    </td>
272  </tr>
273</table>
274<a name="a51" doxytag="oscl_exception.h::OSCL_CATCH"></a><p>
275<table width="100%" cellpadding="2" cellspacing="0" border="0">
276  <tr>
277    <td class="md">
278      <table cellpadding="0" cellspacing="0" border="0">
279        <tr>
280          <td class="md" nowrap valign="top"> #define OSCL_CATCH</td>
281          <td class="md" valign="top">(&nbsp;</td>
282          <td class="md" nowrap valign="top">_leave_status,         <tr>
283          <td></td>
284          <td></td>
285          <td class="md" nowrap>_catch_value,         <tr>
286          <td></td>
287          <td></td>
288          <td class="md" nowrap>_statements&nbsp;</td>
289          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
290          <td class="md" valign="top">)&nbsp;</td>
291          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}
292      </table>
293    </td>
294  </tr>
295</table>
296<table cellspacing=5 cellpadding=0 border=0>
297  <tr>
298    <td>
299      &nbsp;
300    </td>
301    <td>
302
303<p>
304Use this macro to define a block of code for catching additional exception types.
305<p>
306OSCL_FIRST_CATCH can be used to catch one exception type. Then the OSCL_CATCH macro can be used to catch each subsequent type. The catch block must end with OSCL_LAST_CATCH or OSCL_CATCH_ANY <dl compact><dt><b>Parameters: </b></dt><dd>
307<table border=0 cellspacing=2 cellpadding=0>
308<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
309is the result of any OSCL_THROW </td></tr>
310<tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
311is the exception handled by this catch block </td></tr>
312</table>
313</dl>    </td>
314  </tr>
315</table>
316<a name="a52" doxytag="oscl_exception.h::OSCL_CATCH_ANY"></a><p>
317<table width="100%" cellpadding="2" cellspacing="0" border="0">
318  <tr>
319    <td class="md">
320      <table cellpadding="0" cellspacing="0" border="0">
321        <tr>
322          <td class="md" nowrap valign="top"> #define OSCL_CATCH_ANY</td>
323          <td class="md" valign="top">(&nbsp;</td>
324          <td class="md" nowrap valign="top">_leave_status,         <tr>
325          <td></td>
326          <td></td>
327          <td class="md" nowrap>_statements&nbsp;</td>
328          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
329          <td class="md" valign="top">)&nbsp;</td>
330          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){ _statements;}
331      </table>
332    </td>
333  </tr>
334</table>
335<table cellspacing=5 cellpadding=0 border=0>
336  <tr>
337    <td>
338      &nbsp;
339    </td>
340    <td>
341
342<p>
343Use this macro to call a function that will catch all remaining exception types.
344<p>
345<dl compact><dt><b>Parameters: </b></dt><dd>
346<table border=0 cellspacing=2 cellpadding=0>
347<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
348</td></tr>
349<tr><td valign=top><em>_statements</em>&nbsp;</td><td>
350is a statement or block of statements to handle all remaining exception types. This macro ends the try block. </td></tr>
351</table>
352</dl>    </td>
353  </tr>
354</table>
355<a name="a32" doxytag="oscl_error_codes.h::OSCL_ERR_NONE"></a><p>
356<table width="100%" cellpadding="2" cellspacing="0" border="0">
357  <tr>
358    <td class="md">
359      <table cellpadding="0" cellspacing="0" border="0">
360        <tr>
361          <td class="md" nowrap valign="top"> #define OSCL_ERR_NONE&nbsp;&nbsp;&nbsp;OsclErrNone
362      </table>
363    </td>
364  </tr>
365</table>
366<table cellspacing=5 cellpadding=0 border=0>
367  <tr>
368    <td>
369      &nbsp;
370    </td>
371    <td>
372
373<p>
374For backward compatibility with old definitions     </td>
375  </tr>
376</table>
377<a name="a50" doxytag="oscl_exception.h::OSCL_FIRST_CATCH"></a><p>
378<table width="100%" cellpadding="2" cellspacing="0" border="0">
379  <tr>
380    <td class="md">
381      <table cellpadding="0" cellspacing="0" border="0">
382        <tr>
383          <td class="md" nowrap valign="top"> #define OSCL_FIRST_CATCH</td>
384          <td class="md" valign="top">(&nbsp;</td>
385          <td class="md" nowrap valign="top">_leave_status,         <tr>
386          <td></td>
387          <td></td>
388          <td class="md" nowrap>_catch_value,         <tr>
389          <td></td>
390          <td></td>
391          <td class="md" nowrap>_statements&nbsp;</td>
392          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
393          <td class="md" valign="top">)&nbsp;</td>
394          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}
395      </table>
396    </td>
397  </tr>
398</table>
399<table cellspacing=5 cellpadding=0 border=0>
400  <tr>
401    <td>
402      &nbsp;
403    </td>
404    <td>
405
406<p>
407Use this macro to define a block of code that catches the first exception type thrown in the preceding try block.
408<p>
409<dl compact><dt><b>Parameters: </b></dt><dd>
410<table border=0 cellspacing=2 cellpadding=0>
411<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
412is the leave code that was returned by OSCL_THROW </td></tr>
413<tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
414is the exception handled by this catch block This macro MUST be used in conjunction with either OSCL_LAST_CATCH or OSCL_CATCH_ANY </td></tr>
415</table>
416</dl>    </td>
417  </tr>
418</table>
419<a name="a49" doxytag="oscl_exception.h::OSCL_FIRST_CATCH_ANY"></a><p>
420<table width="100%" cellpadding="2" cellspacing="0" border="0">
421  <tr>
422    <td class="md">
423      <table cellpadding="0" cellspacing="0" border="0">
424        <tr>
425          <td class="md" nowrap valign="top"> #define OSCL_FIRST_CATCH_ANY</td>
426          <td class="md" valign="top">(&nbsp;</td>
427          <td class="md" nowrap valign="top">_leave_status,         <tr>
428          <td></td>
429          <td></td>
430          <td class="md" nowrap>_statements&nbsp;</td>
431          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
432          <td class="md" valign="top">)&nbsp;</td>
433          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone) { _statements; }
434      </table>
435    </td>
436  </tr>
437</table>
438<table cellspacing=5 cellpadding=0 border=0>
439  <tr>
440    <td>
441      &nbsp;
442    </td>
443    <td>
444
445<p>
446This section defines the macros to be used in the catch block following the try block Use this macro to call a function that handles all exception types thrown in the preceding try block.
447<p>
448<dl compact><dt><b>Parameters: </b></dt><dd>
449<table border=0 cellspacing=2 cellpadding=0>
450<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
451</td></tr>
452<tr><td valign=top><em>_statements</em>&nbsp;</td><td>
453is a statement or block of statements that will catch all the exception types thrown by the preceding try block This is a standalone macro and should not be used with any of the macros above </td></tr>
454</table>
455</dl>    </td>
456  </tr>
457</table>
458<a name="a41" doxytag="oscl_error_imp_jumps.h::OSCL_JUMP_MAX_JUMP_MARKS"></a><p>
459<table width="100%" cellpadding="2" cellspacing="0" border="0">
460  <tr>
461    <td class="md">
462      <table cellpadding="0" cellspacing="0" border="0">
463        <tr>
464          <td class="md" nowrap valign="top"> #define OSCL_JUMP_MAX_JUMP_MARKS&nbsp;&nbsp;&nbsp;OSCL_MAX_TRAP_LEVELS
465      </table>
466    </td>
467  </tr>
468</table>
469<table cellspacing=5 cellpadding=0 border=0>
470  <tr>
471    <td>
472      &nbsp;
473    </td>
474    <td>
475
476<p>
477    </td>
478  </tr>
479</table>
480<a name="a53" doxytag="oscl_exception.h::OSCL_LAST_CATCH"></a><p>
481<table width="100%" cellpadding="2" cellspacing="0" border="0">
482  <tr>
483    <td class="md">
484      <table cellpadding="0" cellspacing="0" border="0">
485        <tr>
486          <td class="md" nowrap valign="top"> #define OSCL_LAST_CATCH</td>
487          <td class="md" valign="top">(&nbsp;</td>
488          <td class="md" nowrap valign="top">_leave_status&nbsp;</td>
489          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
490          <td class="md" valign="top">)&nbsp;</td>
491          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){OSCL_LEAVE(_leave_status);}
492      </table>
493    </td>
494  </tr>
495</table>
496<table cellspacing=5 cellpadding=0 border=0>
497  <tr>
498    <td>
499      &nbsp;
500    </td>
501    <td>
502
503<p>
504Use this macro if OSCL_CATCH_ANY has not been used. It will mark the end of the catch block.
505<p>
506<dl compact><dt><b>Parameters: </b></dt><dd>
507<table border=0 cellspacing=2 cellpadding=0>
508<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
509will be propagated up the call stack This macro will do an OSCL_LEAVE if the leave has not been handled by the calls above. This macro ends the try block. </td></tr>
510</table>
511</dl>    </td>
512  </tr>
513</table>
514<a name="a46" doxytag="oscl_exception.h::OSCL_LEAVE"></a><p>
515<table width="100%" cellpadding="2" cellspacing="0" border="0">
516  <tr>
517    <td class="md">
518      <table cellpadding="0" cellspacing="0" border="0">
519        <tr>
520          <td class="md" nowrap valign="top"> #define OSCL_LEAVE</td>
521          <td class="md" valign="top">(&nbsp;</td>
522          <td class="md" nowrap valign="top">_leave_status&nbsp;</td>
523          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
524          <td class="md" valign="top">)&nbsp;</td>
525          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::Leave(_leave_status)
526      </table>
527    </td>
528  </tr>
529</table>
530<table cellspacing=5 cellpadding=0 border=0>
531  <tr>
532    <td>
533      &nbsp;
534    </td>
535    <td>
536
537<p>
538Use this macro to cause a Leave. It terminates the execution of the current active function.
539<p>
540It also tries to cleanup the items on the cleanup stack. <dl compact><dt><b>Parameters: </b></dt><dd>
541<table border=0 cellspacing=2 cellpadding=0>
542<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
543tells the cause for the Leave </td></tr>
544</table>
545</dl>    </td>
546  </tr>
547</table>
548<a name="a43" doxytag="oscl_error_trapcleanup.h::OSCL_MAX_TRAP_LEVELS"></a><p>
549<table width="100%" cellpadding="2" cellspacing="0" border="0">
550  <tr>
551    <td class="md">
552      <table cellpadding="0" cellspacing="0" border="0">
553        <tr>
554          <td class="md" nowrap valign="top"> #define OSCL_MAX_TRAP_LEVELS&nbsp;&nbsp;&nbsp;20
555      </table>
556    </td>
557  </tr>
558</table>
559<table cellspacing=5 cellpadding=0 border=0>
560  <tr>
561    <td>
562      &nbsp;
563    </td>
564    <td>
565
566<p>
567    </td>
568  </tr>
569</table>
570<a name="a9" doxytag="oscl_error.h::OSCL_TRAPSTACK_POP"></a><p>
571<table width="100%" cellpadding="2" cellspacing="0" border="0">
572  <tr>
573    <td class="md">
574      <table cellpadding="0" cellspacing="0" border="0">
575        <tr>
576          <td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_POP</td>
577          <td class="md" valign="top">(&nbsp;</td>
578&nbsp;</td>
579          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
580          <td class="md" valign="top">)&nbsp;</td>
581          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::Pop()
582      </table>
583    </td>
584  </tr>
585</table>
586<table cellspacing=5 cellpadding=0 border=0>
587  <tr>
588    <td>
589      &nbsp;
590    </td>
591    <td>
592
593<p>
594    </td>
595  </tr>
596</table>
597<a name="a10" doxytag="oscl_error.h::OSCL_TRAPSTACK_POPDEALLOC"></a><p>
598<table width="100%" cellpadding="2" cellspacing="0" border="0">
599  <tr>
600    <td class="md">
601      <table cellpadding="0" cellspacing="0" border="0">
602        <tr>
603          <td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_POPDEALLOC</td>
604          <td class="md" valign="top">(&nbsp;</td>
605&nbsp;</td>
606          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
607          <td class="md" valign="top">)&nbsp;</td>
608          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::PopDealloc()
609      </table>
610    </td>
611  </tr>
612</table>
613<table cellspacing=5 cellpadding=0 border=0>
614  <tr>
615    <td>
616      &nbsp;
617    </td>
618    <td>
619
620<p>
621    </td>
622  </tr>
623</table>
624<a name="a8" doxytag="oscl_error.h::OSCL_TRAPSTACK_PUSH"></a><p>
625<table width="100%" cellpadding="2" cellspacing="0" border="0">
626  <tr>
627    <td class="md">
628      <table cellpadding="0" cellspacing="0" border="0">
629        <tr>
630          <td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_PUSH</td>
631          <td class="md" valign="top">(&nbsp;</td>
632          <td class="md" nowrap valign="top">a&nbsp;</td>
633          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
634          <td class="md" valign="top">)&nbsp;</td>
635          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::PushL(a)
636      </table>
637    </td>
638  </tr>
639</table>
640<table cellspacing=5 cellpadding=0 border=0>
641  <tr>
642    <td>
643      &nbsp;
644    </td>
645    <td>
646
647<p>
648Cleanup Stack user macros     </td>
649  </tr>
650</table>
651<a name="a47" doxytag="oscl_exception.h::OSCL_TRY"></a><p>
652<table width="100%" cellpadding="2" cellspacing="0" border="0">
653  <tr>
654    <td class="md">
655      <table cellpadding="0" cellspacing="0" border="0">
656        <tr>
657          <td class="md" nowrap valign="top"> #define OSCL_TRY</td>
658          <td class="md" valign="top">(&nbsp;</td>
659          <td class="md" nowrap valign="top">_leave_status,         <tr>
660          <td></td>
661          <td></td>
662          <td class="md" nowrap>_statements&nbsp;</td>
663          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
664          <td class="md" valign="top">)&nbsp;</td>
665          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_PV_TRAP(_leave_status,_statements)
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>
678This macro will be used to set up a try block.
679<p>
680The try block identifies a block of code that might throw exceptions (or leave) <dl compact><dt><b>Parameters: </b></dt><dd>
681<table border=0 cellspacing=2 cellpadding=0>
682<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
683oscl_leave_status will receive the result of any OSCL_LEAVE (which will get called from a OSCL_THROW) on systems that do not support exception handling.This is unused on systems that do support exception handling </td></tr>
684<tr><td valign=top><em>statements</em>&nbsp;</td><td>
685is a statement or block of statements that could throw exceptions and will be executed in the try block </td></tr>
686</table>
687</dl>    </td>
688  </tr>
689</table>
690<a name="a48" doxytag="oscl_exception.h::OSCL_TRY_NO_TLS"></a><p>
691<table width="100%" cellpadding="2" cellspacing="0" border="0">
692  <tr>
693    <td class="md">
694      <table cellpadding="0" cellspacing="0" border="0">
695        <tr>
696          <td class="md" nowrap valign="top"> #define OSCL_TRY_NO_TLS</td>
697          <td class="md" valign="top">(&nbsp;</td>
698          <td class="md" nowrap valign="top">__trapimp,         <tr>
699          <td></td>
700          <td></td>
701          <td class="md" nowrap>_leave_status,         <tr>
702          <td></td>
703          <td></td>
704          <td class="md" nowrap>_statements&nbsp;</td>
705          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
706          <td class="md" valign="top">)&nbsp;</td>
707          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_PV_TRAP_NO_TLS(__trapimp,_leave_status,_statements)
708      </table>
709    </td>
710  </tr>
711</table>
712<table cellspacing=5 cellpadding=0 border=0>
713  <tr>
714    <td>
715      &nbsp;
716    </td>
717    <td>
718
719<p>
720    </td>
721  </tr>
722</table>
723<a name="a18" doxytag="oscl_error_codes.h::OsclErrAlreadyExists"></a><p>
724<table width="100%" cellpadding="2" cellspacing="0" border="0">
725  <tr>
726    <td class="md">
727      <table cellpadding="0" cellspacing="0" border="0">
728        <tr>
729          <td class="md" nowrap valign="top"> #define OsclErrAlreadyExists&nbsp;&nbsp;&nbsp;106
730      </table>
731    </td>
732  </tr>
733</table>
734<table cellspacing=5 cellpadding=0 border=0>
735  <tr>
736    <td>
737      &nbsp;
738    </td>
739    <td>
740
741<p>
742    </td>
743  </tr>
744</table>
745<a name="a28" doxytag="oscl_error_codes.h::OsclErrAlreadyInstalled"></a><p>
746<table width="100%" cellpadding="2" cellspacing="0" border="0">
747  <tr>
748    <td class="md">
749      <table cellpadding="0" cellspacing="0" border="0">
750        <tr>
751          <td class="md" nowrap valign="top"> #define OsclErrAlreadyInstalled&nbsp;&nbsp;&nbsp;116
752      </table>
753    </td>
754  </tr>
755</table>
756<table cellspacing=5 cellpadding=0 border=0>
757  <tr>
758    <td>
759      &nbsp;
760    </td>
761    <td>
762
763<p>
764    </td>
765  </tr>
766</table>
767<a name="a16" doxytag="oscl_error_codes.h::OsclErrArgument"></a><p>
768<table width="100%" cellpadding="2" cellspacing="0" border="0">
769  <tr>
770    <td class="md">
771      <table cellpadding="0" cellspacing="0" border="0">
772        <tr>
773          <td class="md" nowrap valign="top"> #define OsclErrArgument&nbsp;&nbsp;&nbsp;104
774      </table>
775    </td>
776  </tr>
777</table>
778<table cellspacing=5 cellpadding=0 border=0>
779  <tr>
780    <td>
781      &nbsp;
782    </td>
783    <td>
784
785<p>
786    </td>
787  </tr>
788</table>
789<a name="a17" doxytag="oscl_error_codes.h::OsclErrBadHandle"></a><p>
790<table width="100%" cellpadding="2" cellspacing="0" border="0">
791  <tr>
792    <td class="md">
793      <table cellpadding="0" cellspacing="0" border="0">
794        <tr>
795          <td class="md" nowrap valign="top"> #define OsclErrBadHandle&nbsp;&nbsp;&nbsp;105
796      </table>
797    </td>
798  </tr>
799</table>
800<table cellspacing=5 cellpadding=0 border=0>
801  <tr>
802    <td>
803      &nbsp;
804    </td>
805    <td>
806
807<p>
808    </td>
809  </tr>
810</table>
811<a name="a19" doxytag="oscl_error_codes.h::OsclErrBusy"></a><p>
812<table width="100%" cellpadding="2" cellspacing="0" border="0">
813  <tr>
814    <td class="md">
815      <table cellpadding="0" cellspacing="0" border="0">
816        <tr>
817          <td class="md" nowrap valign="top"> #define OsclErrBusy&nbsp;&nbsp;&nbsp;107
818      </table>
819    </td>
820  </tr>
821</table>
822<table cellspacing=5 cellpadding=0 border=0>
823  <tr>
824    <td>
825      &nbsp;
826    </td>
827    <td>
828
829<p>
830    </td>
831  </tr>
832</table>
833<a name="a14" doxytag="oscl_error_codes.h::OsclErrCancelled"></a><p>
834<table width="100%" cellpadding="2" cellspacing="0" border="0">
835  <tr>
836    <td class="md">
837      <table cellpadding="0" cellspacing="0" border="0">
838        <tr>
839          <td class="md" nowrap valign="top"> #define OsclErrCancelled&nbsp;&nbsp;&nbsp;102
840      </table>
841    </td>
842  </tr>
843</table>
844<table cellspacing=5 cellpadding=0 border=0>
845  <tr>
846    <td>
847      &nbsp;
848    </td>
849    <td>
850
851<p>
852    </td>
853  </tr>
854</table>
855<a name="a21" doxytag="oscl_error_codes.h::OsclErrCorrupt"></a><p>
856<table width="100%" cellpadding="2" cellspacing="0" border="0">
857  <tr>
858    <td class="md">
859      <table cellpadding="0" cellspacing="0" border="0">
860        <tr>
861          <td class="md" nowrap valign="top"> #define OsclErrCorrupt&nbsp;&nbsp;&nbsp;109
862      </table>
863    </td>
864  </tr>
865</table>
866<table cellspacing=5 cellpadding=0 border=0>
867  <tr>
868    <td>
869      &nbsp;
870    </td>
871    <td>
872
873<p>
874    </td>
875  </tr>
876</table>
877<a name="a12" doxytag="oscl_error_codes.h::OsclErrGeneral"></a><p>
878<table width="100%" cellpadding="2" cellspacing="0" border="0">
879  <tr>
880    <td class="md">
881      <table cellpadding="0" cellspacing="0" border="0">
882        <tr>
883          <td class="md" nowrap valign="top"> #define OsclErrGeneral&nbsp;&nbsp;&nbsp;100
884      </table>
885    </td>
886  </tr>
887</table>
888<table cellspacing=5 cellpadding=0 border=0>
889  <tr>
890    <td>
891      &nbsp;
892    </td>
893    <td>
894
895<p>
896    </td>
897  </tr>
898</table>
899<a name="a25" doxytag="oscl_error_codes.h::OsclErrInvalidState"></a><p>
900<table width="100%" cellpadding="2" cellspacing="0" border="0">
901  <tr>
902    <td class="md">
903      <table cellpadding="0" cellspacing="0" border="0">
904        <tr>
905          <td class="md" nowrap valign="top"> #define OsclErrInvalidState&nbsp;&nbsp;&nbsp;113
906      </table>
907    </td>
908  </tr>
909</table>
910<table cellspacing=5 cellpadding=0 border=0>
911  <tr>
912    <td>
913      &nbsp;
914    </td>
915    <td>
916
917<p>
918    </td>
919  </tr>
920</table>
921<a name="a30" doxytag="oscl_error_codes.h::OsclErrNoHandler"></a><p>
922<table width="100%" cellpadding="2" cellspacing="0" border="0">
923  <tr>
924    <td class="md">
925      <table cellpadding="0" cellspacing="0" border="0">
926        <tr>
927          <td class="md" nowrap valign="top"> #define OsclErrNoHandler&nbsp;&nbsp;&nbsp;118
928      </table>
929    </td>
930  </tr>
931</table>
932<table cellspacing=5 cellpadding=0 border=0>
933  <tr>
934    <td>
935      &nbsp;
936    </td>
937    <td>
938
939<p>
940    </td>
941  </tr>
942</table>
943<a name="a13" doxytag="oscl_error_codes.h::OsclErrNoMemory"></a><p>
944<table width="100%" cellpadding="2" cellspacing="0" border="0">
945  <tr>
946    <td class="md">
947      <table cellpadding="0" cellspacing="0" border="0">
948        <tr>
949          <td class="md" nowrap valign="top"> #define OsclErrNoMemory&nbsp;&nbsp;&nbsp;101
950      </table>
951    </td>
952  </tr>
953</table>
954<table cellspacing=5 cellpadding=0 border=0>
955  <tr>
956    <td>
957      &nbsp;
958    </td>
959    <td>
960
961<p>
962    </td>
963  </tr>
964</table>
965<a name="a11" doxytag="oscl_error_codes.h::OsclErrNone"></a><p>
966<table width="100%" cellpadding="2" cellspacing="0" border="0">
967  <tr>
968    <td class="md">
969      <table cellpadding="0" cellspacing="0" border="0">
970        <tr>
971          <td class="md" nowrap valign="top"> #define OsclErrNone&nbsp;&nbsp;&nbsp;0
972      </table>
973    </td>
974  </tr>
975</table>
976<table cellspacing=5 cellpadding=0 border=0>
977  <tr>
978    <td>
979      &nbsp;
980    </td>
981    <td>
982
983<p>
984    </td>
985  </tr>
986</table>
987<a name="a26" doxytag="oscl_error_codes.h::OsclErrNoResources"></a><p>
988<table width="100%" cellpadding="2" cellspacing="0" border="0">
989  <tr>
990    <td class="md">
991      <table cellpadding="0" cellspacing="0" border="0">
992        <tr>
993          <td class="md" nowrap valign="top"> #define OsclErrNoResources&nbsp;&nbsp;&nbsp;114
994      </table>
995    </td>
996  </tr>
997</table>
998<table cellspacing=5 cellpadding=0 border=0>
999  <tr>
1000    <td>
1001      &nbsp;
1002    </td>
1003    <td>
1004
1005<p>
1006    </td>
1007  </tr>
1008</table>
1009<a name="a27" doxytag="oscl_error_codes.h::OsclErrNotInstalled"></a><p>
1010<table width="100%" cellpadding="2" cellspacing="0" border="0">
1011  <tr>
1012    <td class="md">
1013      <table cellpadding="0" cellspacing="0" border="0">
1014        <tr>
1015          <td class="md" nowrap valign="top"> #define OsclErrNotInstalled&nbsp;&nbsp;&nbsp;115
1016      </table>
1017    </td>
1018  </tr>
1019</table>
1020<table cellspacing=5 cellpadding=0 border=0>
1021  <tr>
1022    <td>
1023      &nbsp;
1024    </td>
1025    <td>
1026
1027<p>
1028    </td>
1029  </tr>
1030</table>
1031<a name="a20" doxytag="oscl_error_codes.h::OsclErrNotReady"></a><p>
1032<table width="100%" cellpadding="2" cellspacing="0" border="0">
1033  <tr>
1034    <td class="md">
1035      <table cellpadding="0" cellspacing="0" border="0">
1036        <tr>
1037          <td class="md" nowrap valign="top"> #define OsclErrNotReady&nbsp;&nbsp;&nbsp;108
1038      </table>
1039    </td>
1040  </tr>
1041</table>
1042<table cellspacing=5 cellpadding=0 border=0>
1043  <tr>
1044    <td>
1045      &nbsp;
1046    </td>
1047    <td>
1048
1049<p>
1050    </td>
1051  </tr>
1052</table>
1053<a name="a15" doxytag="oscl_error_codes.h::OsclErrNotSupported"></a><p>
1054<table width="100%" cellpadding="2" cellspacing="0" border="0">
1055  <tr>
1056    <td class="md">
1057      <table cellpadding="0" cellspacing="0" border="0">
1058        <tr>
1059          <td class="md" nowrap valign="top"> #define OsclErrNotSupported&nbsp;&nbsp;&nbsp;103
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>
1072    </td>
1073  </tr>
1074</table>
1075<a name="a23" doxytag="oscl_error_codes.h::OsclErrOverflow"></a><p>
1076<table width="100%" cellpadding="2" cellspacing="0" border="0">
1077  <tr>
1078    <td class="md">
1079      <table cellpadding="0" cellspacing="0" border="0">
1080        <tr>
1081          <td class="md" nowrap valign="top"> #define OsclErrOverflow&nbsp;&nbsp;&nbsp;111
1082      </table>
1083    </td>
1084  </tr>
1085</table>
1086<table cellspacing=5 cellpadding=0 border=0>
1087  <tr>
1088    <td>
1089      &nbsp;
1090    </td>
1091    <td>
1092
1093<p>
1094    </td>
1095  </tr>
1096</table>
1097<a name="a29" doxytag="oscl_error_codes.h::OsclErrSystemCallFailed"></a><p>
1098<table width="100%" cellpadding="2" cellspacing="0" border="0">
1099  <tr>
1100    <td class="md">
1101      <table cellpadding="0" cellspacing="0" border="0">
1102        <tr>
1103          <td class="md" nowrap valign="top"> #define OsclErrSystemCallFailed&nbsp;&nbsp;&nbsp;117
1104      </table>
1105    </td>
1106  </tr>
1107</table>
1108<table cellspacing=5 cellpadding=0 border=0>
1109  <tr>
1110    <td>
1111      &nbsp;
1112    </td>
1113    <td>
1114
1115<p>
1116    </td>
1117  </tr>
1118</table>
1119<a name="a31" doxytag="oscl_error_codes.h::OsclErrThreadContextIncorrect"></a><p>
1120<table width="100%" cellpadding="2" cellspacing="0" border="0">
1121  <tr>
1122    <td class="md">
1123      <table cellpadding="0" cellspacing="0" border="0">
1124        <tr>
1125          <td class="md" nowrap valign="top"> #define OsclErrThreadContextIncorrect&nbsp;&nbsp;&nbsp;119
1126      </table>
1127    </td>
1128  </tr>
1129</table>
1130<table cellspacing=5 cellpadding=0 border=0>
1131  <tr>
1132    <td>
1133      &nbsp;
1134    </td>
1135    <td>
1136
1137<p>
1138    </td>
1139  </tr>
1140</table>
1141<a name="a22" doxytag="oscl_error_codes.h::OsclErrTimeout"></a><p>
1142<table width="100%" cellpadding="2" cellspacing="0" border="0">
1143  <tr>
1144    <td class="md">
1145      <table cellpadding="0" cellspacing="0" border="0">
1146        <tr>
1147          <td class="md" nowrap valign="top"> #define OsclErrTimeout&nbsp;&nbsp;&nbsp;110
1148      </table>
1149    </td>
1150  </tr>
1151</table>
1152<table cellspacing=5 cellpadding=0 border=0>
1153  <tr>
1154    <td>
1155      &nbsp;
1156    </td>
1157    <td>
1158
1159<p>
1160    </td>
1161  </tr>
1162</table>
1163<a name="a24" doxytag="oscl_error_codes.h::OsclErrUnderflow"></a><p>
1164<table width="100%" cellpadding="2" cellspacing="0" border="0">
1165  <tr>
1166    <td class="md">
1167      <table cellpadding="0" cellspacing="0" border="0">
1168        <tr>
1169          <td class="md" nowrap valign="top"> #define OsclErrUnderflow&nbsp;&nbsp;&nbsp;112
1170      </table>
1171    </td>
1172  </tr>
1173</table>
1174<table cellspacing=5 cellpadding=0 border=0>
1175  <tr>
1176    <td>
1177      &nbsp;
1178    </td>
1179    <td>
1180
1181<p>
1182    </td>
1183  </tr>
1184</table>
1185<a name="a36" doxytag="oscl_error_codes.h::OsclFailure"></a><p>
1186<table width="100%" cellpadding="2" cellspacing="0" border="0">
1187  <tr>
1188    <td class="md">
1189      <table cellpadding="0" cellspacing="0" border="0">
1190        <tr>
1191          <td class="md" nowrap valign="top"> #define OsclFailure&nbsp;&nbsp;&nbsp;-1
1192      </table>
1193    </td>
1194  </tr>
1195</table>
1196<table cellspacing=5 cellpadding=0 border=0>
1197  <tr>
1198    <td>
1199      &nbsp;
1200    </td>
1201    <td>
1202
1203<p>
1204    </td>
1205  </tr>
1206</table>
1207<a name="a35" doxytag="oscl_error_codes.h::OsclPending"></a><p>
1208<table width="100%" cellpadding="2" cellspacing="0" border="0">
1209  <tr>
1210    <td class="md">
1211      <table cellpadding="0" cellspacing="0" border="0">
1212        <tr>
1213          <td class="md" nowrap valign="top"> #define OsclPending&nbsp;&nbsp;&nbsp;1
1214      </table>
1215    </td>
1216  </tr>
1217</table>
1218<table cellspacing=5 cellpadding=0 border=0>
1219  <tr>
1220    <td>
1221      &nbsp;
1222    </td>
1223    <td>
1224
1225<p>
1226    </td>
1227  </tr>
1228</table>
1229<a name="a34" doxytag="oscl_error_codes.h::OsclSuccess"></a><p>
1230<table width="100%" cellpadding="2" cellspacing="0" border="0">
1231  <tr>
1232    <td class="md">
1233      <table cellpadding="0" cellspacing="0" border="0">
1234        <tr>
1235          <td class="md" nowrap valign="top"> #define OsclSuccess&nbsp;&nbsp;&nbsp;0
1236      </table>
1237    </td>
1238  </tr>
1239</table>
1240<table cellspacing=5 cellpadding=0 border=0>
1241  <tr>
1242    <td>
1243      &nbsp;
1244    </td>
1245    <td>
1246
1247<p>
1248    </td>
1249  </tr>
1250</table>
1251<a name="a38" doxytag="oscl_error_imp_cppexceptions.h::PVError_DoLeave"></a><p>
1252<table width="100%" cellpadding="2" cellspacing="0" border="0">
1253  <tr>
1254    <td class="md">
1255      <table cellpadding="0" cellspacing="0" border="0">
1256        <tr>
1257          <td class="md" nowrap valign="top"> #define PVError_DoLeave</td>
1258          <td class="md" valign="top">(&nbsp;</td>
1259&nbsp;</td>
1260          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1261          <td class="md" valign="top">)&nbsp;</td>
1262          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="classinternalLeave.html">internalLeave</a> __ilv;__ilv.a=0;throw(__ilv)
1263      </table>
1264    </td>
1265  </tr>
1266</table>
1267<table cellspacing=5 cellpadding=0 border=0>
1268  <tr>
1269    <td>
1270      &nbsp;
1271    </td>
1272    <td>
1273
1274<p>
1275    </td>
1276  </tr>
1277</table>
1278<a name="a37" doxytag="oscl_error_imp.h::PVERROR_IMP_JUMPS"></a><p>
1279<table width="100%" cellpadding="2" cellspacing="0" border="0">
1280  <tr>
1281    <td class="md">
1282      <table cellpadding="0" cellspacing="0" border="0">
1283        <tr>
1284          <td class="md" nowrap valign="top"> #define PVERROR_IMP_JUMPS
1285      </table>
1286    </td>
1287  </tr>
1288</table>
1289<table cellspacing=5 cellpadding=0 border=0>
1290  <tr>
1291    <td>
1292      &nbsp;
1293    </td>
1294    <td>
1295
1296<p>
1297Internal leave/trap implementation.     </td>
1298  </tr>
1299</table>
1300<a name="a45" doxytag="oscl_error_trapcleanup.h::PVERRORTRAP_REGISTRY"></a><p>
1301<table width="100%" cellpadding="2" cellspacing="0" border="0">
1302  <tr>
1303    <td class="md">
1304      <table cellpadding="0" cellspacing="0" border="0">
1305        <tr>
1306          <td class="md" nowrap valign="top"> #define PVERRORTRAP_REGISTRY&nbsp;&nbsp;&nbsp;<a class="el" href="classOsclTLSRegistry.html">OsclTLSRegistry</a>
1307      </table>
1308    </td>
1309  </tr>
1310</table>
1311<table cellspacing=5 cellpadding=0 border=0>
1312  <tr>
1313    <td>
1314      &nbsp;
1315    </td>
1316    <td>
1317
1318<p>
1319    </td>
1320  </tr>
1321</table>
1322<a name="a44" doxytag="oscl_error_trapcleanup.h::PVERRORTRAP_REGISTRY_ID"></a><p>
1323<table width="100%" cellpadding="2" cellspacing="0" border="0">
1324  <tr>
1325    <td class="md">
1326      <table cellpadding="0" cellspacing="0" border="0">
1327        <tr>
1328          <td class="md" nowrap valign="top"> #define PVERRORTRAP_REGISTRY_ID&nbsp;&nbsp;&nbsp;<a class="el" href="group__osclbase.html#a16">OSCL_TLS_ID_PVERRORTRAP</a>
1329      </table>
1330    </td>
1331  </tr>
1332</table>
1333<table cellspacing=5 cellpadding=0 border=0>
1334  <tr>
1335    <td>
1336      &nbsp;
1337    </td>
1338    <td>
1339
1340<p>
1341    </td>
1342  </tr>
1343</table>
1344<hr><h2>Typedef Documentation</h2>
1345<a name="a1" doxytag="oscl_error_codes.h::OsclLeaveCode"></a><p>
1346<table width="100%" cellpadding="2" cellspacing="0" border="0">
1347  <tr>
1348    <td class="md">
1349      <table cellpadding="0" cellspacing="0" border="0">
1350        <tr>
1351          <td class="md" nowrap valign="top"> typedef int32 OsclLeaveCode
1352      </table>
1353    </td>
1354  </tr>
1355</table>
1356<table cellspacing=5 cellpadding=0 border=0>
1357  <tr>
1358    <td>
1359      &nbsp;
1360    </td>
1361    <td>
1362
1363<p>
1364Leave Codes     </td>
1365  </tr>
1366</table>
1367<a name="a2" doxytag="oscl_error_codes.h::OsclReturnCode"></a><p>
1368<table width="100%" cellpadding="2" cellspacing="0" border="0">
1369  <tr>
1370    <td class="md">
1371      <table cellpadding="0" cellspacing="0" border="0">
1372        <tr>
1373          <td class="md" nowrap valign="top"> typedef int32 OsclReturnCode
1374      </table>
1375    </td>
1376  </tr>
1377</table>
1378<table cellspacing=5 cellpadding=0 border=0>
1379  <tr>
1380    <td>
1381      &nbsp;
1382    </td>
1383    <td>
1384
1385<p>
1386Return Codes     </td>
1387  </tr>
1388</table>
1389<a name="a3" doxytag="oscl_heapbase.h::OsclTrapOperation"></a><p>
1390<table width="100%" cellpadding="2" cellspacing="0" border="0">
1391  <tr>
1392    <td class="md">
1393      <table cellpadding="0" cellspacing="0" border="0">
1394        <tr>
1395          <td class="md" nowrap valign="top"> typedef void(* OsclTrapOperation)(<a class="el" href="group__osclbase.html#a25">OsclAny</a>*)
1396      </table>
1397    </td>
1398  </tr>
1399</table>
1400<table cellspacing=5 cellpadding=0 border=0>
1401  <tr>
1402    <td>
1403      &nbsp;
1404    </td>
1405    <td>
1406
1407<p>
1408<a class="el" href="classOsclTrapItem.html">OsclTrapItem</a> may be used in the cleanup stack when a custom cleanup operation is needed.     </td>
1409  </tr>
1410</table>
1411<hr><h2>Function Documentation</h2>
1412<a name="a5" doxytag="oscl_errno.h::OSCL_GetLastError"></a><p>
1413<table width="100%" cellpadding="2" cellspacing="0" border="0">
1414  <tr>
1415    <td class="md">
1416      <table cellpadding="0" cellspacing="0" border="0">
1417        <tr>
1418          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int OSCL_GetLastError </td>
1419          <td class="md" valign="top">(&nbsp;</td>
1420          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1421          <td class="md" valign="top">)&nbsp;</td>
1422          <td class="md" nowrap></td>
1423        </tr>
1424
1425      </table>
1426    </td>
1427  </tr>
1428</table>
1429<table cellspacing=5 cellpadding=0 border=0>
1430  <tr>
1431    <td>
1432      &nbsp;
1433    </td>
1434    <td>
1435
1436<p>
1437This function returns the value of the system's global error number variable.
1438<p>
1439<dl compact><dt><b>Returns: </b></dt><dd>
1440Returns 0 for system's that do not have this functionality The value of the error number variable does not change until the user calls SetLastError or if another system call occurs that changes the value Supported Platforms: Win32/wince, Unix Unsupported Platforms : Symbian </dl>    </td>
1441  </tr>
1442</table>
1443<a name="a4" doxytag="oscl_errno.h::OSCL_IsErrnoSupported"></a><p>
1444<table width="100%" cellpadding="2" cellspacing="0" border="0">
1445  <tr>
1446    <td class="md">
1447      <table cellpadding="0" cellspacing="0" border="0">
1448        <tr>
1449          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OSCL_IsErrnoSupported </td>
1450          <td class="md" valign="top">(&nbsp;</td>
1451          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1452          <td class="md" valign="top">)&nbsp;</td>
1453          <td class="md" nowrap></td>
1454        </tr>
1455
1456      </table>
1457    </td>
1458  </tr>
1459</table>
1460<table cellspacing=5 cellpadding=0 border=0>
1461  <tr>
1462    <td>
1463      &nbsp;
1464    </td>
1465    <td>
1466
1467<p>
1468This function determines if a particular system saves the error number that occurs on a system call.
1469<p>
1470<dl compact><dt><b>Returns: </b></dt><dd>
1471This method returns false on systems that do not save the error number that occurs on a system call in a global variable. Returns true for systems that do save the error number </dl>    </td>
1472  </tr>
1473</table>
1474<a name="a6" doxytag="oscl_errno.h::OSCL_SetLastError"></a><p>
1475<table width="100%" cellpadding="2" cellspacing="0" border="0">
1476  <tr>
1477    <td class="md">
1478      <table cellpadding="0" cellspacing="0" border="0">
1479        <tr>
1480          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OSCL_SetLastError </td>
1481          <td class="md" valign="top">(&nbsp;</td>
1482          <td class="md" nowrap valign="top">int&nbsp;</td>
1483          <td class="mdname1" valign="top" nowrap>&nbsp; <em>newVal</em>          </td>
1484          <td class="md" valign="top">)&nbsp;</td>
1485          <td class="md" nowrap></td>
1486        </tr>
1487
1488      </table>
1489    </td>
1490  </tr>
1491</table>
1492<table cellspacing=5 cellpadding=0 border=0>
1493  <tr>
1494    <td>
1495      &nbsp;
1496    </td>
1497    <td>
1498
1499<p>
1500This function sets the last error code for the system.
1501<p>
1502<dl compact><dt><b>Parameters: </b></dt><dd>
1503<table border=0 cellspacing=2 cellpadding=0>
1504<tr><td valign=top><em>newVal</em>&nbsp;</td><td>
1505This value represents the new value for the global error number This method can be used to reset the error number after having retrieved it using GetLastError. Supported Platforms: Win32/wince, Unix Unsupported Platforms : Symbian </td></tr>
1506</table>
1507</dl>    </td>
1508  </tr>
1509</table>
1510<a name="a7" doxytag="oscl_errno.h::OSCL_StrError"></a><p>
1511<table width="100%" cellpadding="2" cellspacing="0" border="0">
1512  <tr>
1513    <td class="md">
1514      <table cellpadding="0" cellspacing="0" border="0">
1515        <tr>
1516          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* OSCL_StrError </td>
1517          <td class="md" valign="top">(&nbsp;</td>
1518          <td class="md" nowrap valign="top">int&nbsp;</td>
1519          <td class="mdname1" valign="top" nowrap>&nbsp; <em>errnum</em>          </td>
1520          <td class="md" valign="top">)&nbsp;</td>
1521          <td class="md" nowrap></td>
1522        </tr>
1523
1524      </table>
1525    </td>
1526  </tr>
1527</table>
1528<table cellspacing=5 cellpadding=0 border=0>
1529  <tr>
1530    <td>
1531      &nbsp;
1532    </td>
1533    <td>
1534
1535<p>
1536This function maps an error number to an error-message string.
1537<p>
1538<dl compact><dt><b>Parameters: </b></dt><dd>
1539<table border=0 cellspacing=2 cellpadding=0>
1540<tr><td valign=top><em>errnum</em>&nbsp;</td><td>
1541This value represents the error number to map </td></tr>
1542</table>
1543</dl><dl compact><dt><b>Returns: </b></dt><dd>
1544This method returns a pointer to a string containing the system error-message. It returns NULL for systems that do not have this functionality Supported Platforms: Win32/wince, Unix Unsupported Platforms : Symbian </dl>    </td>
1545  </tr>
1546</table>
1547<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
1548<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
1549</small></address>
1550</body>
1551</html>
1552