blob: 8bbc804dd75d02885b4f0d7f5608631ac908d349 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>OSCL Error</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>OSCL Error</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Files</h2></td></tr>
<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>
<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>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Error trap and cleanup include file.</em></font><br><br></td></tr>
<p>
<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>
<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>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Defines basic error and leave codes.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Internal error implementation support.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Implementation File for Leave using C++ exceptions.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Implementation File for Leave using system fatal error.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Implemenation of using Setjmp / Longjmp.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Error trap and cleanup implementation include file.</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>contains all the exception handling macros and classes</em></font><br><br></td></tr>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>OSCL Heap Base include file.</em></font><br><br></td></tr>
<p>
<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>
<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>
<p>
<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>
<tr><td>&nbsp;</td><td><font size=-1><em>Name string class include file.</em></font><br><br></td></tr>
<p>
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class__OsclHeapBase.html">_OsclHeapBase</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classinternalLeave.html">internalLeave</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclError.html">OsclError</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorAllocator.html">OsclErrorAllocator</a></td></tr>
<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>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorTrap.html">OsclErrorTrap</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclException.html">OsclException</a></td></tr>
<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>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclJump.html">OsclJump</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolAllocator.html">OsclMemPoolAllocator</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclNameString.html">OsclNameString</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLSEx.html">OsclTLSEx</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTLSRegistryEx.html">OsclTLSRegistryEx</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapItem.html">OsclTrapItem</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapStack.html">OsclTrapStack</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclTrapStackItem.html">OsclTrapStackItem</a></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a name="a39" doxytag="oscl_error_imp_cppexceptions.h::_PV_TRAP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define _PV_TRAP</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">__r, <tr>
<td></td>
<td></td>
<td class="md" nowrap>__s&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>__r=<a class="code" href="group__osclerror.html#a11">OsclErrNone</a>;\
{\
<a class="code" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a>* __tr=<a class="code" href="classOsclErrorTrapImp.html#d0">OsclErrorTrapImp::Trap</a>();\
<span class="keywordflow">if</span>(!__tr){__s;}<span class="keywordflow">else</span>{\
<span class="keywordflow">try</span>{__s;}\
<span class="keywordflow">catch</span>(<a class="code" href="classinternalLeave.html">internalLeave</a> __lv)\
{__lv.a=__r=__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\
__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#a0">UnTrap</a>();}\
}</pre></div> </td>
</tr>
</table>
<a name="a40" doxytag="oscl_error_imp_cppexceptions.h::_PV_TRAP_NO_TLS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define _PV_TRAP_NO_TLS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">__trapimp, <tr>
<td></td>
<td></td>
<td class="md" nowrap>__r, <tr>
<td></td>
<td></td>
<td class="md" nowrap>__s&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>__r=<a class="code" href="group__osclerror.html#a11">OsclErrNone</a>;\
{\
<a class="code" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a>* __tr=<a class="code" href="classOsclErrorTrapImp.html#d1">OsclErrorTrapImp::TrapNoTls</a>(__trapimp);\
<span class="keywordflow">if</span>(!__tr){__s;}<span class="keywordflow">else</span>{\
<span class="keywordflow">try</span>{__s;}\
<span class="keywordflow">catch</span>(<a class="code" href="classinternalLeave.html">internalLeave</a> __lv)\
{__lv.a=__r=__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\
__tr-&gt;<a class="code" href="classOsclErrorTrapImp.html#a0">UnTrap</a>();}\
}</pre></div> </td>
</tr>
</table>
<a name="a42" doxytag="oscl_error_imp_jumps.h::internalLeave"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define internalLeave&nbsp;&nbsp;&nbsp;(-1)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a33" doxytag="oscl_error_codes.h::OSCL_BAD_ALLOC_EXCEPTION_CODE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_BAD_ALLOC_EXCEPTION_CODE&nbsp;&nbsp;&nbsp;OsclErrNoMemory
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a51" doxytag="oscl_exception.h::OSCL_CATCH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_CATCH</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_catch_value, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Use this macro to define a block of code for catching additional exception types.
<p>
OSCL_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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
is the result of any OSCL_THROW </td></tr>
<tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
is the exception handled by this catch block </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a52" doxytag="oscl_exception.h::OSCL_CATCH_ANY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_CATCH_ANY</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){ _statements;}
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Use this macro to call a function that will catch all remaining exception types.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>_statements</em>&nbsp;</td><td>
is a statement or block of statements to handle all remaining exception types. This macro ends the try block. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a32" doxytag="oscl_error_codes.h::OSCL_ERR_NONE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_ERR_NONE&nbsp;&nbsp;&nbsp;OsclErrNone
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
For backward compatibility with old definitions </td>
</tr>
</table>
<a name="a50" doxytag="oscl_exception.h::OSCL_FIRST_CATCH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_FIRST_CATCH</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_catch_value, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone &amp;&amp; _leave_status == _catch_value){_statements;}
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Use this macro to define a block of code that catches the first exception type thrown in the preceding try block.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
is the leave code that was returned by OSCL_THROW </td></tr>
<tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
is 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>
</table>
</dl> </td>
</tr>
</table>
<a name="a49" doxytag="oscl_exception.h::OSCL_FIRST_CATCH_ANY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_FIRST_CATCH_ANY</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (_leave_status!=OsclErrNone) { _statements; }
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>_statements</em>&nbsp;</td><td>
is 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>
</table>
</dl> </td>
</tr>
</table>
<a name="a41" doxytag="oscl_error_imp_jumps.h::OSCL_JUMP_MAX_JUMP_MARKS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_JUMP_MAX_JUMP_MARKS&nbsp;&nbsp;&nbsp;OSCL_MAX_TRAP_LEVELS
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a53" doxytag="oscl_exception.h::OSCL_LAST_CATCH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_LAST_CATCH</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;else if (_leave_status!=OsclErrNone){OSCL_LEAVE(_leave_status);}
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Use this macro if OSCL_CATCH_ANY has not been used. It will mark the end of the catch block.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>_leave_status</em>&nbsp;</td><td>
will 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>
</table>
</dl> </td>
</tr>
</table>
<a name="a46" doxytag="oscl_exception.h::OSCL_LEAVE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_LEAVE</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::Leave(_leave_status)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Use this macro to cause a Leave. It terminates the execution of the current active function.
<p>
It also tries to cleanup the items on the cleanup stack. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
tells the cause for the Leave </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a43" doxytag="oscl_error_trapcleanup.h::OSCL_MAX_TRAP_LEVELS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_MAX_TRAP_LEVELS&nbsp;&nbsp;&nbsp;20
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a9" doxytag="oscl_error.h::OSCL_TRAPSTACK_POP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_POP</td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::Pop()
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a10" doxytag="oscl_error.h::OSCL_TRAPSTACK_POPDEALLOC"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_POPDEALLOC</td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::PopDealloc()
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a8" doxytag="oscl_error.h::OSCL_TRAPSTACK_PUSH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_TRAPSTACK_PUSH</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">a&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;OsclError::PushL(a)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Cleanup Stack user macros </td>
</tr>
</table>
<a name="a47" doxytag="oscl_exception.h::OSCL_TRY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_TRY</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;_PV_TRAP(_leave_status,_statements)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This macro will be used to set up a try block.
<p>
The try block identifies a block of code that might throw exceptions (or leave) <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
oscl_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>
<tr><td valign=top><em>statements</em>&nbsp;</td><td>
is a statement or block of statements that could throw exceptions and will be executed in the try block </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a48" doxytag="oscl_exception.h::OSCL_TRY_NO_TLS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_TRY_NO_TLS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">__trapimp, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_leave_status, <tr>
<td></td>
<td></td>
<td class="md" nowrap>_statements&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;_PV_TRAP_NO_TLS(__trapimp,_leave_status,_statements)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a18" doxytag="oscl_error_codes.h::OsclErrAlreadyExists"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrAlreadyExists&nbsp;&nbsp;&nbsp;106
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a28" doxytag="oscl_error_codes.h::OsclErrAlreadyInstalled"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrAlreadyInstalled&nbsp;&nbsp;&nbsp;116
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a16" doxytag="oscl_error_codes.h::OsclErrArgument"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrArgument&nbsp;&nbsp;&nbsp;104
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a17" doxytag="oscl_error_codes.h::OsclErrBadHandle"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrBadHandle&nbsp;&nbsp;&nbsp;105
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a19" doxytag="oscl_error_codes.h::OsclErrBusy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrBusy&nbsp;&nbsp;&nbsp;107
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a14" doxytag="oscl_error_codes.h::OsclErrCancelled"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrCancelled&nbsp;&nbsp;&nbsp;102
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a21" doxytag="oscl_error_codes.h::OsclErrCorrupt"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrCorrupt&nbsp;&nbsp;&nbsp;109
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a12" doxytag="oscl_error_codes.h::OsclErrGeneral"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrGeneral&nbsp;&nbsp;&nbsp;100
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a25" doxytag="oscl_error_codes.h::OsclErrInvalidState"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrInvalidState&nbsp;&nbsp;&nbsp;113
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a30" doxytag="oscl_error_codes.h::OsclErrNoHandler"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNoHandler&nbsp;&nbsp;&nbsp;118
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a13" doxytag="oscl_error_codes.h::OsclErrNoMemory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNoMemory&nbsp;&nbsp;&nbsp;101
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a11" doxytag="oscl_error_codes.h::OsclErrNone"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNone&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a26" doxytag="oscl_error_codes.h::OsclErrNoResources"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNoResources&nbsp;&nbsp;&nbsp;114
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a27" doxytag="oscl_error_codes.h::OsclErrNotInstalled"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNotInstalled&nbsp;&nbsp;&nbsp;115
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a20" doxytag="oscl_error_codes.h::OsclErrNotReady"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNotReady&nbsp;&nbsp;&nbsp;108
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a15" doxytag="oscl_error_codes.h::OsclErrNotSupported"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrNotSupported&nbsp;&nbsp;&nbsp;103
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a23" doxytag="oscl_error_codes.h::OsclErrOverflow"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrOverflow&nbsp;&nbsp;&nbsp;111
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a29" doxytag="oscl_error_codes.h::OsclErrSystemCallFailed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrSystemCallFailed&nbsp;&nbsp;&nbsp;117
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a31" doxytag="oscl_error_codes.h::OsclErrThreadContextIncorrect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrThreadContextIncorrect&nbsp;&nbsp;&nbsp;119
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a22" doxytag="oscl_error_codes.h::OsclErrTimeout"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrTimeout&nbsp;&nbsp;&nbsp;110
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a24" doxytag="oscl_error_codes.h::OsclErrUnderflow"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclErrUnderflow&nbsp;&nbsp;&nbsp;112
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a36" doxytag="oscl_error_codes.h::OsclFailure"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclFailure&nbsp;&nbsp;&nbsp;-1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a35" doxytag="oscl_error_codes.h::OsclPending"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclPending&nbsp;&nbsp;&nbsp;1
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a34" doxytag="oscl_error_codes.h::OsclSuccess"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OsclSuccess&nbsp;&nbsp;&nbsp;0
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a38" doxytag="oscl_error_imp_cppexceptions.h::PVError_DoLeave"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define PVError_DoLeave</td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="classinternalLeave.html">internalLeave</a> __ilv;__ilv.a=0;throw(__ilv)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a37" doxytag="oscl_error_imp.h::PVERROR_IMP_JUMPS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define PVERROR_IMP_JUMPS
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Internal leave/trap implementation. </td>
</tr>
</table>
<a name="a45" doxytag="oscl_error_trapcleanup.h::PVERRORTRAP_REGISTRY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define PVERRORTRAP_REGISTRY&nbsp;&nbsp;&nbsp;<a class="el" href="classOsclTLSRegistry.html">OsclTLSRegistry</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a44" doxytag="oscl_error_trapcleanup.h::PVERRORTRAP_REGISTRY_ID"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a1" doxytag="oscl_error_codes.h::OsclLeaveCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef int32 OsclLeaveCode
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Leave Codes </td>
</tr>
</table>
<a name="a2" doxytag="oscl_error_codes.h::OsclReturnCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef int32 OsclReturnCode
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Return Codes </td>
</tr>
</table>
<a name="a3" doxytag="oscl_heapbase.h::OsclTrapOperation"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef void(* OsclTrapOperation)(<a class="el" href="group__osclbase.html#a25">OsclAny</a>*)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<a class="el" href="classOsclTrapItem.html">OsclTrapItem</a> may be used in the cleanup stack when a custom cleanup operation is needed. </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a5" doxytag="oscl_errno.h::OSCL_GetLastError"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF int OSCL_GetLastError </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This function returns the value of the system's global error number variable.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns 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>
</tr>
</table>
<a name="a4" doxytag="oscl_errno.h::OSCL_IsErrnoSupported"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OSCL_IsErrnoSupported </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This function determines if a particular system saves the error number that occurs on a system call.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
This 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>
</tr>
</table>
<a name="a6" doxytag="oscl_errno.h::OSCL_SetLastError"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OSCL_SetLastError </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">int&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>newVal</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This function sets the last error code for the system.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newVal</em>&nbsp;</td><td>
This 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>
</table>
</dl> </td>
</tr>
</table>
<a name="a7" doxytag="oscl_errno.h::OSCL_StrError"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* OSCL_StrError </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">int&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>errnum</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This function maps an error number to an error-message string.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>errnum</em>&nbsp;</td><td>
This value represents the error number to map </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
This 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>
</tr>
</table>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>