Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenacexcep.h
Go to the documentation of this file.
00001 /****************************************************************************** 00002 * 00003 * Name: acexcep.h - Exception codes returned by the ACPI subsystem 00004 * 00005 *****************************************************************************/ 00006 00007 /****************************************************************************** 00008 * 00009 * 1. Copyright Notice 00010 * 00011 * Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp. 00012 * All rights reserved. 00013 * 00014 * 2. License 00015 * 00016 * 2.1. This is your license from Intel Corp. under its intellectual property 00017 * rights. You may have additional license terms from the party that provided 00018 * you this software, covering your right to use that party's intellectual 00019 * property rights. 00020 * 00021 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 00022 * copy of the source code appearing in this file ("Covered Code") an 00023 * irrevocable, perpetual, worldwide license under Intel's copyrights in the 00024 * base code distributed originally by Intel ("Original Intel Code") to copy, 00025 * make derivatives, distribute, use and display any portion of the Covered 00026 * Code in any form, with the right to sublicense such rights; and 00027 * 00028 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 00029 * license (with the right to sublicense), under only those claims of Intel 00030 * patents that are infringed by the Original Intel Code, to make, use, sell, 00031 * offer to sell, and import the Covered Code and derivative works thereof 00032 * solely to the minimum extent necessary to exercise the above copyright 00033 * license, and in no event shall the patent license extend to any additions 00034 * to or modifications of the Original Intel Code. No other license or right 00035 * is granted directly or by implication, estoppel or otherwise; 00036 * 00037 * The above copyright and patent license is granted only if the following 00038 * conditions are met: 00039 * 00040 * 3. Conditions 00041 * 00042 * 3.1. Redistribution of Source with Rights to Further Distribute Source. 00043 * Redistribution of source code of any substantial portion of the Covered 00044 * Code or modification with rights to further distribute source must include 00045 * the above Copyright Notice, the above License, this list of Conditions, 00046 * and the following Disclaimer and Export Compliance provision. In addition, 00047 * Licensee must cause all Covered Code to which Licensee contributes to 00048 * contain a file documenting the changes Licensee made to create that Covered 00049 * Code and the date of any change. Licensee must include in that file the 00050 * documentation of any changes made by any predecessor Licensee. Licensee 00051 * must include a prominent statement that the modification is derived, 00052 * directly or indirectly, from Original Intel Code. 00053 * 00054 * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 00055 * Redistribution of source code of any substantial portion of the Covered 00056 * Code or modification without rights to further distribute source must 00057 * include the following Disclaimer and Export Compliance provision in the 00058 * documentation and/or other materials provided with distribution. In 00059 * addition, Licensee may not authorize further sublicense of source of any 00060 * portion of the Covered Code, and must include terms to the effect that the 00061 * license from Licensee to its licensee is limited to the intellectual 00062 * property embodied in the software Licensee provides to its licensee, and 00063 * not to intellectual property embodied in modifications its licensee may 00064 * make. 00065 * 00066 * 3.3. Redistribution of Executable. Redistribution in executable form of any 00067 * substantial portion of the Covered Code or modification must reproduce the 00068 * above Copyright Notice, and the following Disclaimer and Export Compliance 00069 * provision in the documentation and/or other materials provided with the 00070 * distribution. 00071 * 00072 * 3.4. Intel retains all right, title, and interest in and to the Original 00073 * Intel Code. 00074 * 00075 * 3.5. Neither the name Intel nor any other trademark owned or controlled by 00076 * Intel shall be used in advertising or otherwise to promote the sale, use or 00077 * other dealings in products derived from or relating to the Covered Code 00078 * without prior written authorization from Intel. 00079 * 00080 * 4. Disclaimer and Export Compliance 00081 * 00082 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 00083 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 00084 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 00085 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 00086 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 00087 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 00088 * PARTICULAR PURPOSE. 00089 * 00090 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 00091 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 00092 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 00093 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 00094 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 00095 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 00096 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 00097 * LIMITED REMEDY. 00098 * 00099 * 4.3. Licensee shall not export, either directly or indirectly, any of this 00100 * software or system incorporating such software without first obtaining any 00101 * required license or other approval from the U. S. Department of Commerce or 00102 * any other agency or department of the United States Government. In the 00103 * event Licensee exports any such software from the United States or 00104 * re-exports any such software from a foreign destination, Licensee shall 00105 * ensure that the distribution and export/re-export of the software is in 00106 * compliance with all laws, regulations, orders, or other restrictions of the 00107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor 00108 * any of its subsidiaries will export/re-export any technical data, process, 00109 * software, or service, directly or indirectly, to any country for which the 00110 * United States government or any agency thereof requires an export license, 00111 * other governmental approval, or letter of assurance, without first obtaining 00112 * such license, approval or letter. 00113 * 00114 *****************************************************************************/ 00115 00116 #ifndef __ACEXCEP_H__ 00117 #define __ACEXCEP_H__ 00118 00119 00120 /* 00121 * Exceptions returned by external ACPI interfaces 00122 */ 00123 #define AE_CODE_ENVIRONMENTAL 0x0000 00124 #define AE_CODE_PROGRAMMER 0x1000 00125 #define AE_CODE_ACPI_TABLES 0x2000 00126 #define AE_CODE_AML 0x3000 00127 #define AE_CODE_CONTROL 0x4000 00128 #define AE_CODE_MASK 0xF000 00129 00130 00131 #define ACPI_SUCCESS(a) (!(a)) 00132 #define ACPI_FAILURE(a) (a) 00133 00134 00135 #define AE_OK (ACPI_STATUS) 0x0000 00136 00137 /* 00138 * Environmental exceptions 00139 */ 00140 #define AE_ERROR (ACPI_STATUS) (0x0001 | AE_CODE_ENVIRONMENTAL) 00141 #define AE_NO_ACPI_TABLES (ACPI_STATUS) (0x0002 | AE_CODE_ENVIRONMENTAL) 00142 #define AE_NO_NAMESPACE (ACPI_STATUS) (0x0003 | AE_CODE_ENVIRONMENTAL) 00143 #define AE_NO_MEMORY (ACPI_STATUS) (0x0004 | AE_CODE_ENVIRONMENTAL) 00144 #define AE_NOT_FOUND (ACPI_STATUS) (0x0005 | AE_CODE_ENVIRONMENTAL) 00145 #define AE_NOT_EXIST (ACPI_STATUS) (0x0006 | AE_CODE_ENVIRONMENTAL) 00146 #define AE_ALREADY_EXISTS (ACPI_STATUS) (0x0007 | AE_CODE_ENVIRONMENTAL) 00147 #define AE_TYPE (ACPI_STATUS) (0x0008 | AE_CODE_ENVIRONMENTAL) 00148 #define AE_NULL_OBJECT (ACPI_STATUS) (0x0009 | AE_CODE_ENVIRONMENTAL) 00149 #define AE_NULL_ENTRY (ACPI_STATUS) (0x000A | AE_CODE_ENVIRONMENTAL) 00150 #define AE_BUFFER_OVERFLOW (ACPI_STATUS) (0x000B | AE_CODE_ENVIRONMENTAL) 00151 #define AE_STACK_OVERFLOW (ACPI_STATUS) (0x000C | AE_CODE_ENVIRONMENTAL) 00152 #define AE_STACK_UNDERFLOW (ACPI_STATUS) (0x000D | AE_CODE_ENVIRONMENTAL) 00153 #define AE_NOT_IMPLEMENTED (ACPI_STATUS) (0x000E | AE_CODE_ENVIRONMENTAL) 00154 #define AE_SUPPORT (ACPI_STATUS) (0x000F | AE_CODE_ENVIRONMENTAL) 00155 #define AE_LIMIT (ACPI_STATUS) (0x0010 | AE_CODE_ENVIRONMENTAL) 00156 #define AE_TIME (ACPI_STATUS) (0x0011 | AE_CODE_ENVIRONMENTAL) 00157 #define AE_ACQUIRE_DEADLOCK (ACPI_STATUS) (0x0012 | AE_CODE_ENVIRONMENTAL) 00158 #define AE_RELEASE_DEADLOCK (ACPI_STATUS) (0x0013 | AE_CODE_ENVIRONMENTAL) 00159 #define AE_NOT_ACQUIRED (ACPI_STATUS) (0x0014 | AE_CODE_ENVIRONMENTAL) 00160 #define AE_ALREADY_ACQUIRED (ACPI_STATUS) (0x0015 | AE_CODE_ENVIRONMENTAL) 00161 #define AE_NO_HARDWARE_RESPONSE (ACPI_STATUS) (0x0016 | AE_CODE_ENVIRONMENTAL) 00162 #define AE_NO_GLOBAL_LOCK (ACPI_STATUS) (0x0017 | AE_CODE_ENVIRONMENTAL) 00163 #define AE_ABORT_METHOD (ACPI_STATUS) (0x0018 | AE_CODE_ENVIRONMENTAL) 00164 #define AE_SAME_HANDLER (ACPI_STATUS) (0x0019 | AE_CODE_ENVIRONMENTAL) 00165 #define AE_NO_HANDLER (ACPI_STATUS) (0x001A | AE_CODE_ENVIRONMENTAL) 00166 #define AE_OWNER_ID_LIMIT (ACPI_STATUS) (0x001B | AE_CODE_ENVIRONMENTAL) 00167 00168 #define AE_CODE_ENV_MAX 0x001B 00169 00170 00171 /* 00172 * Programmer exceptions 00173 */ 00174 #define AE_BAD_PARAMETER (ACPI_STATUS) (0x0001 | AE_CODE_PROGRAMMER) 00175 #define AE_BAD_CHARACTER (ACPI_STATUS) (0x0002 | AE_CODE_PROGRAMMER) 00176 #define AE_BAD_PATHNAME (ACPI_STATUS) (0x0003 | AE_CODE_PROGRAMMER) 00177 #define AE_BAD_DATA (ACPI_STATUS) (0x0004 | AE_CODE_PROGRAMMER) 00178 #define AE_BAD_HEX_CONSTANT (ACPI_STATUS) (0x0005 | AE_CODE_PROGRAMMER) 00179 #define AE_BAD_OCTAL_CONSTANT (ACPI_STATUS) (0x0006 | AE_CODE_PROGRAMMER) 00180 #define AE_BAD_DECIMAL_CONSTANT (ACPI_STATUS) (0x0007 | AE_CODE_PROGRAMMER) 00181 #define AE_MISSING_ARGUMENTS (ACPI_STATUS) (0x0008 | AE_CODE_PROGRAMMER) 00182 #define AE_BAD_ADDRESS (ACPI_STATUS) (0x0009 | AE_CODE_PROGRAMMER) 00183 00184 #define AE_CODE_PGM_MAX 0x0009 00185 00186 00187 /* 00188 * Acpi table exceptions 00189 */ 00190 #define AE_BAD_SIGNATURE (ACPI_STATUS) (0x0001 | AE_CODE_ACPI_TABLES) 00191 #define AE_BAD_HEADER (ACPI_STATUS) (0x0002 | AE_CODE_ACPI_TABLES) 00192 #define AE_BAD_CHECKSUM (ACPI_STATUS) (0x0003 | AE_CODE_ACPI_TABLES) 00193 #define AE_BAD_VALUE (ACPI_STATUS) (0x0004 | AE_CODE_ACPI_TABLES) 00194 #define AE_INVALID_TABLE_LENGTH (ACPI_STATUS) (0x0005 | AE_CODE_ACPI_TABLES) 00195 00196 #define AE_CODE_TBL_MAX 0x0005 00197 00198 00199 /* 00200 * AML exceptions. These are caused by problems with 00201 * the actual AML byte stream 00202 */ 00203 #define AE_AML_BAD_OPCODE (ACPI_STATUS) (0x0001 | AE_CODE_AML) 00204 #define AE_AML_NO_OPERAND (ACPI_STATUS) (0x0002 | AE_CODE_AML) 00205 #define AE_AML_OPERAND_TYPE (ACPI_STATUS) (0x0003 | AE_CODE_AML) 00206 #define AE_AML_OPERAND_VALUE (ACPI_STATUS) (0x0004 | AE_CODE_AML) 00207 #define AE_AML_UNINITIALIZED_LOCAL (ACPI_STATUS) (0x0005 | AE_CODE_AML) 00208 #define AE_AML_UNINITIALIZED_ARG (ACPI_STATUS) (0x0006 | AE_CODE_AML) 00209 #define AE_AML_UNINITIALIZED_ELEMENT (ACPI_STATUS) (0x0007 | AE_CODE_AML) 00210 #define AE_AML_NUMERIC_OVERFLOW (ACPI_STATUS) (0x0008 | AE_CODE_AML) 00211 #define AE_AML_REGION_LIMIT (ACPI_STATUS) (0x0009 | AE_CODE_AML) 00212 #define AE_AML_BUFFER_LIMIT (ACPI_STATUS) (0x000A | AE_CODE_AML) 00213 #define AE_AML_PACKAGE_LIMIT (ACPI_STATUS) (0x000B | AE_CODE_AML) 00214 #define AE_AML_DIVIDE_BY_ZERO (ACPI_STATUS) (0x000C | AE_CODE_AML) 00215 #define AE_AML_BAD_NAME (ACPI_STATUS) (0x000D | AE_CODE_AML) 00216 #define AE_AML_NAME_NOT_FOUND (ACPI_STATUS) (0x000E | AE_CODE_AML) 00217 #define AE_AML_INTERNAL (ACPI_STATUS) (0x000F | AE_CODE_AML) 00218 #define AE_AML_INVALID_SPACE_ID (ACPI_STATUS) (0x0010 | AE_CODE_AML) 00219 #define AE_AML_STRING_LIMIT (ACPI_STATUS) (0x0011 | AE_CODE_AML) 00220 #define AE_AML_NO_RETURN_VALUE (ACPI_STATUS) (0x0012 | AE_CODE_AML) 00221 #define AE_AML_METHOD_LIMIT (ACPI_STATUS) (0x0013 | AE_CODE_AML) 00222 #define AE_AML_NOT_OWNER (ACPI_STATUS) (0x0014 | AE_CODE_AML) 00223 #define AE_AML_MUTEX_ORDER (ACPI_STATUS) (0x0015 | AE_CODE_AML) 00224 #define AE_AML_MUTEX_NOT_ACQUIRED (ACPI_STATUS) (0x0016 | AE_CODE_AML) 00225 #define AE_AML_INVALID_RESOURCE_TYPE (ACPI_STATUS) (0x0017 | AE_CODE_AML) 00226 #define AE_AML_INVALID_INDEX (ACPI_STATUS) (0x0018 | AE_CODE_AML) 00227 #define AE_AML_REGISTER_LIMIT (ACPI_STATUS) (0x0019 | AE_CODE_AML) 00228 #define AE_AML_NO_WHILE (ACPI_STATUS) (0x001A | AE_CODE_AML) 00229 #define AE_AML_ALIGNMENT (ACPI_STATUS) (0x001B | AE_CODE_AML) 00230 #define AE_AML_NO_RESOURCE_END_TAG (ACPI_STATUS) (0x001C | AE_CODE_AML) 00231 #define AE_AML_BAD_RESOURCE_VALUE (ACPI_STATUS) (0x001D | AE_CODE_AML) 00232 #define AE_AML_CIRCULAR_REFERENCE (ACPI_STATUS) (0x001E | AE_CODE_AML) 00233 #define AE_AML_BAD_RESOURCE_LENGTH (ACPI_STATUS) (0x001F | AE_CODE_AML) 00234 #define AE_AML_ILLEGAL_ADDRESS (ACPI_STATUS) (0x0020 | AE_CODE_AML) 00235 #define AE_AML_INFINITE_LOOP (ACPI_STATUS) (0x0021 | AE_CODE_AML) 00236 00237 #define AE_CODE_AML_MAX 0x0021 00238 00239 00240 /* 00241 * Internal exceptions used for control 00242 */ 00243 #define AE_CTRL_RETURN_VALUE (ACPI_STATUS) (0x0001 | AE_CODE_CONTROL) 00244 #define AE_CTRL_PENDING (ACPI_STATUS) (0x0002 | AE_CODE_CONTROL) 00245 #define AE_CTRL_TERMINATE (ACPI_STATUS) (0x0003 | AE_CODE_CONTROL) 00246 #define AE_CTRL_TRUE (ACPI_STATUS) (0x0004 | AE_CODE_CONTROL) 00247 #define AE_CTRL_FALSE (ACPI_STATUS) (0x0005 | AE_CODE_CONTROL) 00248 #define AE_CTRL_DEPTH (ACPI_STATUS) (0x0006 | AE_CODE_CONTROL) 00249 #define AE_CTRL_END (ACPI_STATUS) (0x0007 | AE_CODE_CONTROL) 00250 #define AE_CTRL_TRANSFER (ACPI_STATUS) (0x0008 | AE_CODE_CONTROL) 00251 #define AE_CTRL_BREAK (ACPI_STATUS) (0x0009 | AE_CODE_CONTROL) 00252 #define AE_CTRL_CONTINUE (ACPI_STATUS) (0x000A | AE_CODE_CONTROL) 00253 #define AE_CTRL_SKIP (ACPI_STATUS) (0x000B | AE_CODE_CONTROL) 00254 #define AE_CTRL_PARSE_CONTINUE (ACPI_STATUS) (0x000C | AE_CODE_CONTROL) 00255 #define AE_CTRL_PARSE_PENDING (ACPI_STATUS) (0x000D | AE_CODE_CONTROL) 00256 00257 #define AE_CODE_CTRL_MAX 0x000D 00258 00259 00260 /* Exception strings for AcpiFormatException */ 00261 00262 #ifdef DEFINE_ACPI_GLOBALS 00263 00264 /* 00265 * String versions of the exception codes above 00266 * These strings must match the corresponding defines exactly 00267 */ 00268 char const *AcpiGbl_ExceptionNames_Env[] = 00269 { 00270 "AE_OK", 00271 "AE_ERROR", 00272 "AE_NO_ACPI_TABLES", 00273 "AE_NO_NAMESPACE", 00274 "AE_NO_MEMORY", 00275 "AE_NOT_FOUND", 00276 "AE_NOT_EXIST", 00277 "AE_ALREADY_EXISTS", 00278 "AE_TYPE", 00279 "AE_NULL_OBJECT", 00280 "AE_NULL_ENTRY", 00281 "AE_BUFFER_OVERFLOW", 00282 "AE_STACK_OVERFLOW", 00283 "AE_STACK_UNDERFLOW", 00284 "AE_NOT_IMPLEMENTED", 00285 "AE_SUPPORT", 00286 "AE_LIMIT", 00287 "AE_TIME", 00288 "AE_ACQUIRE_DEADLOCK", 00289 "AE_RELEASE_DEADLOCK", 00290 "AE_NOT_ACQUIRED", 00291 "AE_ALREADY_ACQUIRED", 00292 "AE_NO_HARDWARE_RESPONSE", 00293 "AE_NO_GLOBAL_LOCK", 00294 "AE_ABORT_METHOD", 00295 "AE_SAME_HANDLER", 00296 "AE_NO_HANDLER", 00297 "AE_OWNER_ID_LIMIT" 00298 }; 00299 00300 char const *AcpiGbl_ExceptionNames_Pgm[] = 00301 { 00302 NULL, 00303 "AE_BAD_PARAMETER", 00304 "AE_BAD_CHARACTER", 00305 "AE_BAD_PATHNAME", 00306 "AE_BAD_DATA", 00307 "AE_BAD_HEX_CONSTANT", 00308 "AE_BAD_OCTAL_CONSTANT", 00309 "AE_BAD_DECIMAL_CONSTANT", 00310 "AE_MISSING_ARGUMENTS", 00311 "AE_BAD_ADDRESS" 00312 }; 00313 00314 char const *AcpiGbl_ExceptionNames_Tbl[] = 00315 { 00316 NULL, 00317 "AE_BAD_SIGNATURE", 00318 "AE_BAD_HEADER", 00319 "AE_BAD_CHECKSUM", 00320 "AE_BAD_VALUE", 00321 "AE_INVALID_TABLE_LENGTH" 00322 }; 00323 00324 char const *AcpiGbl_ExceptionNames_Aml[] = 00325 { 00326 NULL, 00327 "AE_AML_BAD_OPCODE", 00328 "AE_AML_NO_OPERAND", 00329 "AE_AML_OPERAND_TYPE", 00330 "AE_AML_OPERAND_VALUE", 00331 "AE_AML_UNINITIALIZED_LOCAL", 00332 "AE_AML_UNINITIALIZED_ARG", 00333 "AE_AML_UNINITIALIZED_ELEMENT", 00334 "AE_AML_NUMERIC_OVERFLOW", 00335 "AE_AML_REGION_LIMIT", 00336 "AE_AML_BUFFER_LIMIT", 00337 "AE_AML_PACKAGE_LIMIT", 00338 "AE_AML_DIVIDE_BY_ZERO", 00339 "AE_AML_BAD_NAME", 00340 "AE_AML_NAME_NOT_FOUND", 00341 "AE_AML_INTERNAL", 00342 "AE_AML_INVALID_SPACE_ID", 00343 "AE_AML_STRING_LIMIT", 00344 "AE_AML_NO_RETURN_VALUE", 00345 "AE_AML_METHOD_LIMIT", 00346 "AE_AML_NOT_OWNER", 00347 "AE_AML_MUTEX_ORDER", 00348 "AE_AML_MUTEX_NOT_ACQUIRED", 00349 "AE_AML_INVALID_RESOURCE_TYPE", 00350 "AE_AML_INVALID_INDEX", 00351 "AE_AML_REGISTER_LIMIT", 00352 "AE_AML_NO_WHILE", 00353 "AE_AML_ALIGNMENT", 00354 "AE_AML_NO_RESOURCE_END_TAG", 00355 "AE_AML_BAD_RESOURCE_VALUE", 00356 "AE_AML_CIRCULAR_REFERENCE", 00357 "AE_AML_BAD_RESOURCE_LENGTH", 00358 "AE_AML_ILLEGAL_ADDRESS", 00359 "AE_AML_INFINITE_LOOP" 00360 }; 00361 00362 char const *AcpiGbl_ExceptionNames_Ctrl[] = 00363 { 00364 NULL, 00365 "AE_CTRL_RETURN_VALUE", 00366 "AE_CTRL_PENDING", 00367 "AE_CTRL_TERMINATE", 00368 "AE_CTRL_TRUE", 00369 "AE_CTRL_FALSE", 00370 "AE_CTRL_DEPTH", 00371 "AE_CTRL_END", 00372 "AE_CTRL_TRANSFER", 00373 "AE_CTRL_BREAK", 00374 "AE_CTRL_CONTINUE", 00375 "AE_CTRL_SKIP", 00376 "AE_CTRL_PARSE_CONTINUE", 00377 "AE_CTRL_PARSE_PENDING" 00378 }; 00379 00380 #endif /* ACPI GLOBALS */ 00381 00382 #endif /* __ACEXCEP_H__ */ Generated on Sun May 27 2012 04:27:18 for ReactOS by
1.7.6.1
|