Home | History | Annotate | Download | only in oscl_html
      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>
    304 Use this macro to define a block of code for catching additional exception types.
    305 <p>
    306 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>
    307 <table border=0 cellspacing=2 cellpadding=0>
    308 <tr><td valign=top><em>oscl_leave_status</em>&nbsp;</td><td>
    309 is the result of any OSCL_THROW </td></tr>
    310 <tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
    311 is 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>
    343 Use 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>
    350 is 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>
    374 For 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>
    407 Use 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>
    412 is the leave code that was returned by OSCL_THROW </td></tr>
    413 <tr><td valign=top><em>exceptiontype</em>&nbsp;</td><td>
    414 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>
    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>
    446 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.
    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>
    453 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>
    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>
    504 Use 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>
    509 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>
    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>
    538 Use this macro to cause a Leave. It terminates the execution of the current active function.
    539 <p>
    540 It 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>
    543 tells 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>
    648 Cleanup 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>
    678 This macro will be used to set up a try block.
    679 <p>
    680 The 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>
    683 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>
    684 <tr><td valign=top><em>statements</em>&nbsp;</td><td>
    685 is 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>
   1297 Internal 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>
   1364 Leave 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>
   1386 Return 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>
   1437 This function returns the value of the system's global error number variable.
   1438 <p>
   1439 <dl compact><dt><b>Returns: </b></dt><dd>
   1440 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>
   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>
   1468 This 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>
   1471 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>
   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>
   1500 This 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>
   1505 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>
   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>
   1536 This 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>
   1541 This value represents the error number to map </td></tr>
   1542 </table>
   1543 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1544 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>
   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