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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </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 </td><td valign=bottom><a class="el" href="oscl__errno_8h.html">oscl_errno.h</a></td></tr> 13 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__error_8h.html">oscl_error.h</a></td></tr> 17 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__error__allocator_8h.html">oscl_error_allocator.h</a></td></tr> 21 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__error__codes_8h.html">oscl_error_codes.h</a></td></tr> 25 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__error__imp_8h.html">oscl_error_imp.h</a></td></tr> 29 <tr><td> </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 </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> </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 </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> </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 </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> </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 </td><td valign=bottom><a class="el" href="oscl__error__trapcleanup_8h.html">oscl_error_trapcleanup.h</a></td></tr> 45 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__exception_8h.html">oscl_exception.h</a></td></tr> 49 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__heapbase_8h.html">oscl_heapbase.h</a></td></tr> 53 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__mempool__allocator_8h.html">oscl_mempool_allocator.h</a></td></tr> 57 <tr><td> </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 </td><td valign=bottom><a class="el" href="oscl__namestring_8h.html">oscl_namestring.h</a></td></tr> 61 <tr><td> </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 </td><td valign=bottom><a class="el" href="class__OsclHeapBase.html">_OsclHeapBase</a></td></tr> 66 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classinternalLeave.html">internalLeave</a></td></tr> 67 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclError.html">OsclError</a></td></tr> 68 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclErrorAllocator.html">OsclErrorAllocator</a></td></tr> 69 <tr><td> </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 </td><td valign=bottom><a class="el" href="classOsclErrorTrap.html">OsclErrorTrap</a></td></tr> 71 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclErrorTrapImp.html">OsclErrorTrapImp</a></td></tr> 72 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclException.html">OsclException</a></td></tr> 73 <tr><td> </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 </td><td valign=bottom><a class="el" href="classOsclJump.html">OsclJump</a></td></tr> 75 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclMemPoolAllocator.html">OsclMemPoolAllocator</a></td></tr> 76 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclNameString.html">OsclNameString</a></td></tr> 77 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclTLSEx.html">OsclTLSEx</a></td></tr> 78 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclTLSRegistryEx.html">OsclTLSRegistryEx</a></td></tr> 79 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclTrapItem.html">OsclTrapItem</a></td></tr> 80 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclTrapStack.html">OsclTrapStack</a></td></tr> 81 <tr><td nowrap align=right valign=top>class </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a8">OSCL_TRAPSTACK_PUSH</a>(a) OsclError::PushL(a)</td></tr> 84 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a9">OSCL_TRAPSTACK_POP</a>() OsclError::Pop()</td></tr> 85 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a10">OSCL_TRAPSTACK_POPDEALLOC</a>() OsclError::PopDealloc()</td></tr> 86 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a11">OsclErrNone</a> 0</td></tr> 87 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a12">OsclErrGeneral</a> 100</td></tr> 88 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a13">OsclErrNoMemory</a> 101</td></tr> 89 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a14">OsclErrCancelled</a> 102</td></tr> 90 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a15">OsclErrNotSupported</a> 103</td></tr> 91 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a16">OsclErrArgument</a> 104</td></tr> 92 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a17">OsclErrBadHandle</a> 105</td></tr> 93 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a18">OsclErrAlreadyExists</a> 106</td></tr> 94 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a19">OsclErrBusy</a> 107</td></tr> 95 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a20">OsclErrNotReady</a> 108</td></tr> 96 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a21">OsclErrCorrupt</a> 109</td></tr> 97 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a22">OsclErrTimeout</a> 110</td></tr> 98 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a23">OsclErrOverflow</a> 111</td></tr> 99 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a24">OsclErrUnderflow</a> 112</td></tr> 100 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a25">OsclErrInvalidState</a> 113</td></tr> 101 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a26">OsclErrNoResources</a> 114</td></tr> 102 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a27">OsclErrNotInstalled</a> 115</td></tr> 103 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a28">OsclErrAlreadyInstalled</a> 116</td></tr> 104 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a29">OsclErrSystemCallFailed</a> 117</td></tr> 105 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a30">OsclErrNoHandler</a> 118</td></tr> 106 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a31">OsclErrThreadContextIncorrect</a> 119</td></tr> 107 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a32">OSCL_ERR_NONE</a> OsclErrNone</td></tr> 108 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a33">OSCL_BAD_ALLOC_EXCEPTION_CODE</a> OsclErrNoMemory</td></tr> 109 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a34">OsclSuccess</a> 0</td></tr> 110 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a35">OsclPending</a> 1</td></tr> 111 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a36">OsclFailure</a> -1</td></tr> 112 <tr><td nowrap align=right valign=top>#define </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a38">PVError_DoLeave</a>() <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 </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 </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a41">OSCL_JUMP_MAX_JUMP_MARKS</a> OSCL_MAX_TRAP_LEVELS</td></tr> 117 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a42">internalLeave</a> (-1)</td></tr> 118 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a43">OSCL_MAX_TRAP_LEVELS</a> 20</td></tr> 119 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a44">PVERRORTRAP_REGISTRY_ID</a> <a class="el" href="group__osclbase.html#a16">OSCL_TLS_ID_PVERRORTRAP</a></td></tr> 120 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a45">PVERRORTRAP_REGISTRY</a> <a class="el" href="classOsclTLSRegistry.html">OsclTLSRegistry</a></td></tr> 121 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a46">OSCL_LEAVE</a>(_leave_status) OsclError::Leave(_leave_status)</td></tr> 122 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a47">OSCL_TRY</a>(_leave_status, _statements) _PV_TRAP(_leave_status,_statements)</td></tr> 124 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a48">OSCL_TRY_NO_TLS</a>(__trapimp, _leave_status, _statements) _PV_TRAP_NO_TLS(__trapimp,_leave_status,_statements)</td></tr> 126 <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__osclerror.html#a49">OSCL_FIRST_CATCH_ANY</a>(_leave_status, _statements) if (_leave_status!=OsclErrNone) { _statements; }</td></tr> 127 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a50">OSCL_FIRST_CATCH</a>(_leave_status, _catch_value, _statements) if (_leave_status!=OsclErrNone && _leave_status == _catch_value){_statements;}</td></tr> 129 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a51">OSCL_CATCH</a>(_leave_status, _catch_value, _statements) else if (_leave_status!=OsclErrNone && _leave_status == _catch_value){_statements;}</td></tr> 131 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a52">OSCL_CATCH_ANY</a>(_leave_status, _statements) else if (_leave_status!=OsclErrNone){ _statements;}</td></tr> 133 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a53">OSCL_LAST_CATCH</a>(_leave_status) else if (_leave_status!=OsclErrNone){OSCL_LEAVE(_leave_status);}</td></tr> 135 <tr><td> </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 </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 </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(* </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a4">OSCL_IsErrnoSupported</a> ()</td></tr> 142 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a5">OSCL_GetLastError</a> ()</td></tr> 144 <tr><td> </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 </td><td valign=bottom><a class="el" href="group__osclerror.html#a6">OSCL_SetLastError</a> (int newVal)</td></tr> 146 <tr><td> </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 * </td><td valign=bottom><a class="el" href="group__osclerror.html#a7">OSCL_StrError</a> (int errnum)</td></tr> 148 <tr><td> </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">( </td> 159 <td class="md" nowrap valign="top">__r, <tr> 160 <td></td> 161 <td></td> 162 <td class="md" nowrap>__s </td> 163 <td class="mdname1" valign="top" nowrap> </td> 164 <td class="md" valign="top">) </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 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-><a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\ 185 __tr-><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">( </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 </td> 204 <td class="mdname1" valign="top" nowrap> </td> 205 <td class="md" valign="top">) </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 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-><a class="code" href="classOsclErrorTrapImp.html#m1">iLeave</a>;}\ 226 __tr-><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 (-1) 237 </table> 238 </td> 239 </tr> 240 </table> 241 <table cellspacing=5 cellpadding=0 border=0> 242 <tr> 243 <td> 244 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 OsclErrNoMemory 259 </table> 260 </td> 261 </tr> 262 </table> 263 <table cellspacing=5 cellpadding=0 border=0> 264 <tr> 265 <td> 266 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">( </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 </td> 289 <td class="mdname1" valign="top" nowrap> </td> 290 <td class="md" valign="top">) </td> 291 <td class="md" nowrap> else if (_leave_status!=OsclErrNone && _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 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> </td><td> 309 is the result of any OSCL_THROW </td></tr> 310 <tr><td valign=top><em>exceptiontype</em> </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">( </td> 324 <td class="md" nowrap valign="top">_leave_status, <tr> 325 <td></td> 326 <td></td> 327 <td class="md" nowrap>_statements </td> 328 <td class="mdname1" valign="top" nowrap> </td> 329 <td class="md" valign="top">) </td> 330 <td class="md" nowrap> 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 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> </td><td> 348 </td></tr> 349 <tr><td valign=top><em>_statements</em> </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 OsclErrNone 362 </table> 363 </td> 364 </tr> 365 </table> 366 <table cellspacing=5 cellpadding=0 border=0> 367 <tr> 368 <td> 369 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">( </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 </td> 392 <td class="mdname1" valign="top" nowrap> </td> 393 <td class="md" valign="top">) </td> 394 <td class="md" nowrap> if (_leave_status!=OsclErrNone && _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 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> </td><td> 412 is the leave code that was returned by OSCL_THROW </td></tr> 413 <tr><td valign=top><em>exceptiontype</em> </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">( </td> 427 <td class="md" nowrap valign="top">_leave_status, <tr> 428 <td></td> 429 <td></td> 430 <td class="md" nowrap>_statements </td> 431 <td class="mdname1" valign="top" nowrap> </td> 432 <td class="md" valign="top">) </td> 433 <td class="md" nowrap> 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 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> </td><td> 451 </td></tr> 452 <tr><td valign=top><em>_statements</em> </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 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 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">( </td> 488 <td class="md" nowrap valign="top">_leave_status </td> 489 <td class="mdname1" valign="top" nowrap> </td> 490 <td class="md" valign="top">) </td> 491 <td class="md" nowrap> 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 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> </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">( </td> 522 <td class="md" nowrap valign="top">_leave_status </td> 523 <td class="mdname1" valign="top" nowrap> </td> 524 <td class="md" valign="top">) </td> 525 <td class="md" nowrap> 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 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> </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 20 555 </table> 556 </td> 557 </tr> 558 </table> 559 <table cellspacing=5 cellpadding=0 border=0> 560 <tr> 561 <td> 562 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">( </td> 578 </td> 579 <td class="mdname1" valign="top" nowrap> </td> 580 <td class="md" valign="top">) </td> 581 <td class="md" nowrap> OsclError::Pop() 582 </table> 583 </td> 584 </tr> 585 </table> 586 <table cellspacing=5 cellpadding=0 border=0> 587 <tr> 588 <td> 589 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">( </td> 605 </td> 606 <td class="mdname1" valign="top" nowrap> </td> 607 <td class="md" valign="top">) </td> 608 <td class="md" nowrap> OsclError::PopDealloc() 609 </table> 610 </td> 611 </tr> 612 </table> 613 <table cellspacing=5 cellpadding=0 border=0> 614 <tr> 615 <td> 616 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">( </td> 632 <td class="md" nowrap valign="top">a </td> 633 <td class="mdname1" valign="top" nowrap> </td> 634 <td class="md" valign="top">) </td> 635 <td class="md" nowrap> OsclError::PushL(a) 636 </table> 637 </td> 638 </tr> 639 </table> 640 <table cellspacing=5 cellpadding=0 border=0> 641 <tr> 642 <td> 643 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">( </td> 659 <td class="md" nowrap valign="top">_leave_status, <tr> 660 <td></td> 661 <td></td> 662 <td class="md" nowrap>_statements </td> 663 <td class="mdname1" valign="top" nowrap> </td> 664 <td class="md" valign="top">) </td> 665 <td class="md" nowrap> _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 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> </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> </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">( </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 </td> 705 <td class="mdname1" valign="top" nowrap> </td> 706 <td class="md" valign="top">) </td> 707 <td class="md" nowrap> _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 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 106 730 </table> 731 </td> 732 </tr> 733 </table> 734 <table cellspacing=5 cellpadding=0 border=0> 735 <tr> 736 <td> 737 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 116 752 </table> 753 </td> 754 </tr> 755 </table> 756 <table cellspacing=5 cellpadding=0 border=0> 757 <tr> 758 <td> 759 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 104 774 </table> 775 </td> 776 </tr> 777 </table> 778 <table cellspacing=5 cellpadding=0 border=0> 779 <tr> 780 <td> 781 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 105 796 </table> 797 </td> 798 </tr> 799 </table> 800 <table cellspacing=5 cellpadding=0 border=0> 801 <tr> 802 <td> 803 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 107 818 </table> 819 </td> 820 </tr> 821 </table> 822 <table cellspacing=5 cellpadding=0 border=0> 823 <tr> 824 <td> 825 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 102 840 </table> 841 </td> 842 </tr> 843 </table> 844 <table cellspacing=5 cellpadding=0 border=0> 845 <tr> 846 <td> 847 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 109 862 </table> 863 </td> 864 </tr> 865 </table> 866 <table cellspacing=5 cellpadding=0 border=0> 867 <tr> 868 <td> 869 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 100 884 </table> 885 </td> 886 </tr> 887 </table> 888 <table cellspacing=5 cellpadding=0 border=0> 889 <tr> 890 <td> 891 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 113 906 </table> 907 </td> 908 </tr> 909 </table> 910 <table cellspacing=5 cellpadding=0 border=0> 911 <tr> 912 <td> 913 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 118 928 </table> 929 </td> 930 </tr> 931 </table> 932 <table cellspacing=5 cellpadding=0 border=0> 933 <tr> 934 <td> 935 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 101 950 </table> 951 </td> 952 </tr> 953 </table> 954 <table cellspacing=5 cellpadding=0 border=0> 955 <tr> 956 <td> 957 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 0 972 </table> 973 </td> 974 </tr> 975 </table> 976 <table cellspacing=5 cellpadding=0 border=0> 977 <tr> 978 <td> 979 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 114 994 </table> 995 </td> 996 </tr> 997 </table> 998 <table cellspacing=5 cellpadding=0 border=0> 999 <tr> 1000 <td> 1001 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 115 1016 </table> 1017 </td> 1018 </tr> 1019 </table> 1020 <table cellspacing=5 cellpadding=0 border=0> 1021 <tr> 1022 <td> 1023 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 108 1038 </table> 1039 </td> 1040 </tr> 1041 </table> 1042 <table cellspacing=5 cellpadding=0 border=0> 1043 <tr> 1044 <td> 1045 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 103 1060 </table> 1061 </td> 1062 </tr> 1063 </table> 1064 <table cellspacing=5 cellpadding=0 border=0> 1065 <tr> 1066 <td> 1067 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 111 1082 </table> 1083 </td> 1084 </tr> 1085 </table> 1086 <table cellspacing=5 cellpadding=0 border=0> 1087 <tr> 1088 <td> 1089 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 117 1104 </table> 1105 </td> 1106 </tr> 1107 </table> 1108 <table cellspacing=5 cellpadding=0 border=0> 1109 <tr> 1110 <td> 1111 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 119 1126 </table> 1127 </td> 1128 </tr> 1129 </table> 1130 <table cellspacing=5 cellpadding=0 border=0> 1131 <tr> 1132 <td> 1133 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 110 1148 </table> 1149 </td> 1150 </tr> 1151 </table> 1152 <table cellspacing=5 cellpadding=0 border=0> 1153 <tr> 1154 <td> 1155 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 112 1170 </table> 1171 </td> 1172 </tr> 1173 </table> 1174 <table cellspacing=5 cellpadding=0 border=0> 1175 <tr> 1176 <td> 1177 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 -1 1192 </table> 1193 </td> 1194 </tr> 1195 </table> 1196 <table cellspacing=5 cellpadding=0 border=0> 1197 <tr> 1198 <td> 1199 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 1 1214 </table> 1215 </td> 1216 </tr> 1217 </table> 1218 <table cellspacing=5 cellpadding=0 border=0> 1219 <tr> 1220 <td> 1221 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 0 1236 </table> 1237 </td> 1238 </tr> 1239 </table> 1240 <table cellspacing=5 cellpadding=0 border=0> 1241 <tr> 1242 <td> 1243 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">( </td> 1259 </td> 1260 <td class="mdname1" valign="top" nowrap> </td> 1261 <td class="md" valign="top">) </td> 1262 <td class="md" nowrap> <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 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 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 <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 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 <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 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 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 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 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">( </td> 1420 <td class="mdname1" valign="top" nowrap> </td> 1421 <td class="md" valign="top">) </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 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">( </td> 1451 <td class="mdname1" valign="top" nowrap> </td> 1452 <td class="md" valign="top">) </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 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">( </td> 1482 <td class="md" nowrap valign="top">int </td> 1483 <td class="mdname1" valign="top" nowrap> <em>newVal</em> </td> 1484 <td class="md" valign="top">) </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 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> </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">( </td> 1518 <td class="md" nowrap valign="top">int </td> 1519 <td class="mdname1" valign="top" nowrap> <em>errnum</em> </td> 1520 <td class="md" valign="top">) </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 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> </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