Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenacinterp.h
Go to the documentation of this file.
00001 /****************************************************************************** 00002 * 00003 * Name: acinterp.h - Interpreter subcomponent prototypes and defines 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 __ACINTERP_H__ 00117 #define __ACINTERP_H__ 00118 00119 00120 #define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 00121 00122 /* Macros for tables used for debug output */ 00123 00124 #define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) 00125 #define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) 00126 #define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) 00127 00128 /* 00129 * If possible, pack the following structures to byte alignment, since we 00130 * don't care about performance for debug output. Two cases where we cannot 00131 * pack the structures: 00132 * 00133 * 1) Hardware does not support misaligned memory transfers 00134 * 2) Compiler does not support pointers within packed structures 00135 */ 00136 #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) 00137 #pragma pack(1) 00138 #endif 00139 00140 typedef const struct acpi_exdump_info 00141 { 00142 UINT8 Opcode; 00143 UINT8 Offset; 00144 char *Name; 00145 00146 } ACPI_EXDUMP_INFO; 00147 00148 /* Values for the Opcode field above */ 00149 00150 #define ACPI_EXD_INIT 0 00151 #define ACPI_EXD_TYPE 1 00152 #define ACPI_EXD_UINT8 2 00153 #define ACPI_EXD_UINT16 3 00154 #define ACPI_EXD_UINT32 4 00155 #define ACPI_EXD_UINT64 5 00156 #define ACPI_EXD_LITERAL 6 00157 #define ACPI_EXD_POINTER 7 00158 #define ACPI_EXD_ADDRESS 8 00159 #define ACPI_EXD_STRING 9 00160 #define ACPI_EXD_BUFFER 10 00161 #define ACPI_EXD_PACKAGE 11 00162 #define ACPI_EXD_FIELD 12 00163 #define ACPI_EXD_REFERENCE 13 00164 00165 /* restore default alignment */ 00166 00167 #pragma pack() 00168 00169 00170 /* 00171 * exconvrt - object conversion 00172 */ 00173 ACPI_STATUS 00174 AcpiExConvertToInteger ( 00175 ACPI_OPERAND_OBJECT *ObjDesc, 00176 ACPI_OPERAND_OBJECT **ResultDesc, 00177 UINT32 Flags); 00178 00179 ACPI_STATUS 00180 AcpiExConvertToBuffer ( 00181 ACPI_OPERAND_OBJECT *ObjDesc, 00182 ACPI_OPERAND_OBJECT **ResultDesc); 00183 00184 ACPI_STATUS 00185 AcpiExConvertToString ( 00186 ACPI_OPERAND_OBJECT *ObjDesc, 00187 ACPI_OPERAND_OBJECT **ResultDesc, 00188 UINT32 Type); 00189 00190 /* Types for ->String conversion */ 00191 00192 #define ACPI_EXPLICIT_BYTE_COPY 0x00000000 00193 #define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 00194 #define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 00195 #define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 00196 00197 ACPI_STATUS 00198 AcpiExConvertToTargetType ( 00199 ACPI_OBJECT_TYPE DestinationType, 00200 ACPI_OPERAND_OBJECT *SourceDesc, 00201 ACPI_OPERAND_OBJECT **ResultDesc, 00202 ACPI_WALK_STATE *WalkState); 00203 00204 00205 /* 00206 * exdebug - AML debug object 00207 */ 00208 void 00209 AcpiExDoDebugObject ( 00210 ACPI_OPERAND_OBJECT *SourceDesc, 00211 UINT32 Level, 00212 UINT32 Index); 00213 00214 00215 /* 00216 * exfield - ACPI AML (p-code) execution - field manipulation 00217 */ 00218 ACPI_STATUS 00219 AcpiExCommonBufferSetup ( 00220 ACPI_OPERAND_OBJECT *ObjDesc, 00221 UINT32 BufferLength, 00222 UINT32 *DatumCount); 00223 00224 ACPI_STATUS 00225 AcpiExWriteWithUpdateRule ( 00226 ACPI_OPERAND_OBJECT *ObjDesc, 00227 UINT64 Mask, 00228 UINT64 FieldValue, 00229 UINT32 FieldDatumByteOffset); 00230 00231 void 00232 AcpiExGetBufferDatum( 00233 UINT64 *Datum, 00234 void *Buffer, 00235 UINT32 BufferLength, 00236 UINT32 ByteGranularity, 00237 UINT32 BufferOffset); 00238 00239 void 00240 AcpiExSetBufferDatum ( 00241 UINT64 MergedDatum, 00242 void *Buffer, 00243 UINT32 BufferLength, 00244 UINT32 ByteGranularity, 00245 UINT32 BufferOffset); 00246 00247 ACPI_STATUS 00248 AcpiExReadDataFromField ( 00249 ACPI_WALK_STATE *WalkState, 00250 ACPI_OPERAND_OBJECT *ObjDesc, 00251 ACPI_OPERAND_OBJECT **RetBufferDesc); 00252 00253 ACPI_STATUS 00254 AcpiExWriteDataToField ( 00255 ACPI_OPERAND_OBJECT *SourceDesc, 00256 ACPI_OPERAND_OBJECT *ObjDesc, 00257 ACPI_OPERAND_OBJECT **ResultDesc); 00258 00259 00260 /* 00261 * exfldio - low level field I/O 00262 */ 00263 ACPI_STATUS 00264 AcpiExExtractFromField ( 00265 ACPI_OPERAND_OBJECT *ObjDesc, 00266 void *Buffer, 00267 UINT32 BufferLength); 00268 00269 ACPI_STATUS 00270 AcpiExInsertIntoField ( 00271 ACPI_OPERAND_OBJECT *ObjDesc, 00272 void *Buffer, 00273 UINT32 BufferLength); 00274 00275 ACPI_STATUS 00276 AcpiExAccessRegion ( 00277 ACPI_OPERAND_OBJECT *ObjDesc, 00278 UINT32 FieldDatumByteOffset, 00279 UINT64 *Value, 00280 UINT32 ReadWrite); 00281 00282 00283 /* 00284 * exmisc - misc support routines 00285 */ 00286 ACPI_STATUS 00287 AcpiExGetObjectReference ( 00288 ACPI_OPERAND_OBJECT *ObjDesc, 00289 ACPI_OPERAND_OBJECT **ReturnDesc, 00290 ACPI_WALK_STATE *WalkState); 00291 00292 ACPI_STATUS 00293 AcpiExConcatTemplate ( 00294 ACPI_OPERAND_OBJECT *ObjDesc, 00295 ACPI_OPERAND_OBJECT *ObjDesc2, 00296 ACPI_OPERAND_OBJECT **ActualReturnDesc, 00297 ACPI_WALK_STATE *WalkState); 00298 00299 ACPI_STATUS 00300 AcpiExDoConcatenate ( 00301 ACPI_OPERAND_OBJECT *ObjDesc, 00302 ACPI_OPERAND_OBJECT *ObjDesc2, 00303 ACPI_OPERAND_OBJECT **ActualReturnDesc, 00304 ACPI_WALK_STATE *WalkState); 00305 00306 ACPI_STATUS 00307 AcpiExDoLogicalNumericOp ( 00308 UINT16 Opcode, 00309 UINT64 Integer0, 00310 UINT64 Integer1, 00311 BOOLEAN *LogicalResult); 00312 00313 ACPI_STATUS 00314 AcpiExDoLogicalOp ( 00315 UINT16 Opcode, 00316 ACPI_OPERAND_OBJECT *Operand0, 00317 ACPI_OPERAND_OBJECT *Operand1, 00318 BOOLEAN *LogicalResult); 00319 00320 UINT64 00321 AcpiExDoMathOp ( 00322 UINT16 Opcode, 00323 UINT64 Operand0, 00324 UINT64 Operand1); 00325 00326 ACPI_STATUS 00327 AcpiExCreateMutex ( 00328 ACPI_WALK_STATE *WalkState); 00329 00330 ACPI_STATUS 00331 AcpiExCreateProcessor ( 00332 ACPI_WALK_STATE *WalkState); 00333 00334 ACPI_STATUS 00335 AcpiExCreatePowerResource ( 00336 ACPI_WALK_STATE *WalkState); 00337 00338 ACPI_STATUS 00339 AcpiExCreateRegion ( 00340 UINT8 *AmlStart, 00341 UINT32 AmlLength, 00342 UINT8 RegionSpace, 00343 ACPI_WALK_STATE *WalkState); 00344 00345 ACPI_STATUS 00346 AcpiExCreateEvent ( 00347 ACPI_WALK_STATE *WalkState); 00348 00349 ACPI_STATUS 00350 AcpiExCreateAlias ( 00351 ACPI_WALK_STATE *WalkState); 00352 00353 ACPI_STATUS 00354 AcpiExCreateMethod ( 00355 UINT8 *AmlStart, 00356 UINT32 AmlLength, 00357 ACPI_WALK_STATE *WalkState); 00358 00359 00360 /* 00361 * exconfig - dynamic table load/unload 00362 */ 00363 ACPI_STATUS 00364 AcpiExLoadOp ( 00365 ACPI_OPERAND_OBJECT *ObjDesc, 00366 ACPI_OPERAND_OBJECT *Target, 00367 ACPI_WALK_STATE *WalkState); 00368 00369 ACPI_STATUS 00370 AcpiExLoadTableOp ( 00371 ACPI_WALK_STATE *WalkState, 00372 ACPI_OPERAND_OBJECT **ReturnDesc); 00373 00374 ACPI_STATUS 00375 AcpiExUnloadTable ( 00376 ACPI_OPERAND_OBJECT *DdbHandle); 00377 00378 00379 /* 00380 * exmutex - mutex support 00381 */ 00382 ACPI_STATUS 00383 AcpiExAcquireMutex ( 00384 ACPI_OPERAND_OBJECT *TimeDesc, 00385 ACPI_OPERAND_OBJECT *ObjDesc, 00386 ACPI_WALK_STATE *WalkState); 00387 00388 ACPI_STATUS 00389 AcpiExAcquireMutexObject ( 00390 UINT16 Timeout, 00391 ACPI_OPERAND_OBJECT *ObjDesc, 00392 ACPI_THREAD_ID ThreadId); 00393 00394 ACPI_STATUS 00395 AcpiExReleaseMutex ( 00396 ACPI_OPERAND_OBJECT *ObjDesc, 00397 ACPI_WALK_STATE *WalkState); 00398 00399 ACPI_STATUS 00400 AcpiExReleaseMutexObject ( 00401 ACPI_OPERAND_OBJECT *ObjDesc); 00402 00403 void 00404 AcpiExReleaseAllMutexes ( 00405 ACPI_THREAD_STATE *Thread); 00406 00407 void 00408 AcpiExUnlinkMutex ( 00409 ACPI_OPERAND_OBJECT *ObjDesc); 00410 00411 00412 /* 00413 * exprep - ACPI AML execution - prep utilities 00414 */ 00415 ACPI_STATUS 00416 AcpiExPrepCommonFieldObject ( 00417 ACPI_OPERAND_OBJECT *ObjDesc, 00418 UINT8 FieldFlags, 00419 UINT8 FieldAttribute, 00420 UINT32 FieldBitPosition, 00421 UINT32 FieldBitLength); 00422 00423 ACPI_STATUS 00424 AcpiExPrepFieldValue ( 00425 ACPI_CREATE_FIELD_INFO *Info); 00426 00427 00428 /* 00429 * exsystem - Interface to OS services 00430 */ 00431 ACPI_STATUS 00432 AcpiExSystemDoNotifyOp ( 00433 ACPI_OPERAND_OBJECT *Value, 00434 ACPI_OPERAND_OBJECT *ObjDesc); 00435 00436 ACPI_STATUS 00437 AcpiExSystemDoSleep( 00438 UINT64 Time); 00439 00440 ACPI_STATUS 00441 AcpiExSystemDoStall ( 00442 UINT32 Time); 00443 00444 ACPI_STATUS 00445 AcpiExSystemSignalEvent( 00446 ACPI_OPERAND_OBJECT *ObjDesc); 00447 00448 ACPI_STATUS 00449 AcpiExSystemWaitEvent( 00450 ACPI_OPERAND_OBJECT *Time, 00451 ACPI_OPERAND_OBJECT *ObjDesc); 00452 00453 ACPI_STATUS 00454 AcpiExSystemResetEvent( 00455 ACPI_OPERAND_OBJECT *ObjDesc); 00456 00457 ACPI_STATUS 00458 AcpiExSystemWaitSemaphore ( 00459 ACPI_SEMAPHORE Semaphore, 00460 UINT16 Timeout); 00461 00462 ACPI_STATUS 00463 AcpiExSystemWaitMutex ( 00464 ACPI_MUTEX Mutex, 00465 UINT16 Timeout); 00466 00467 /* 00468 * exoparg1 - ACPI AML execution, 1 operand 00469 */ 00470 ACPI_STATUS 00471 AcpiExOpcode_0A_0T_1R ( 00472 ACPI_WALK_STATE *WalkState); 00473 00474 ACPI_STATUS 00475 AcpiExOpcode_1A_0T_0R ( 00476 ACPI_WALK_STATE *WalkState); 00477 00478 ACPI_STATUS 00479 AcpiExOpcode_1A_0T_1R ( 00480 ACPI_WALK_STATE *WalkState); 00481 00482 ACPI_STATUS 00483 AcpiExOpcode_1A_1T_1R ( 00484 ACPI_WALK_STATE *WalkState); 00485 00486 ACPI_STATUS 00487 AcpiExOpcode_1A_1T_0R ( 00488 ACPI_WALK_STATE *WalkState); 00489 00490 /* 00491 * exoparg2 - ACPI AML execution, 2 operands 00492 */ 00493 ACPI_STATUS 00494 AcpiExOpcode_2A_0T_0R ( 00495 ACPI_WALK_STATE *WalkState); 00496 00497 ACPI_STATUS 00498 AcpiExOpcode_2A_0T_1R ( 00499 ACPI_WALK_STATE *WalkState); 00500 00501 ACPI_STATUS 00502 AcpiExOpcode_2A_1T_1R ( 00503 ACPI_WALK_STATE *WalkState); 00504 00505 ACPI_STATUS 00506 AcpiExOpcode_2A_2T_1R ( 00507 ACPI_WALK_STATE *WalkState); 00508 00509 00510 /* 00511 * exoparg3 - ACPI AML execution, 3 operands 00512 */ 00513 ACPI_STATUS 00514 AcpiExOpcode_3A_0T_0R ( 00515 ACPI_WALK_STATE *WalkState); 00516 00517 ACPI_STATUS 00518 AcpiExOpcode_3A_1T_1R ( 00519 ACPI_WALK_STATE *WalkState); 00520 00521 00522 /* 00523 * exoparg6 - ACPI AML execution, 6 operands 00524 */ 00525 ACPI_STATUS 00526 AcpiExOpcode_6A_0T_1R ( 00527 ACPI_WALK_STATE *WalkState); 00528 00529 00530 /* 00531 * exresolv - Object resolution and get value functions 00532 */ 00533 ACPI_STATUS 00534 AcpiExResolveToValue ( 00535 ACPI_OPERAND_OBJECT **StackPtr, 00536 ACPI_WALK_STATE *WalkState); 00537 00538 ACPI_STATUS 00539 AcpiExResolveMultiple ( 00540 ACPI_WALK_STATE *WalkState, 00541 ACPI_OPERAND_OBJECT *Operand, 00542 ACPI_OBJECT_TYPE *ReturnType, 00543 ACPI_OPERAND_OBJECT **ReturnDesc); 00544 00545 00546 /* 00547 * exresnte - resolve namespace node 00548 */ 00549 ACPI_STATUS 00550 AcpiExResolveNodeToValue ( 00551 ACPI_NAMESPACE_NODE **StackPtr, 00552 ACPI_WALK_STATE *WalkState); 00553 00554 00555 /* 00556 * exresop - resolve operand to value 00557 */ 00558 ACPI_STATUS 00559 AcpiExResolveOperands ( 00560 UINT16 Opcode, 00561 ACPI_OPERAND_OBJECT **StackPtr, 00562 ACPI_WALK_STATE *WalkState); 00563 00564 00565 /* 00566 * exdump - Interpreter debug output routines 00567 */ 00568 void 00569 AcpiExDumpOperand ( 00570 ACPI_OPERAND_OBJECT *ObjDesc, 00571 UINT32 Depth); 00572 00573 void 00574 AcpiExDumpOperands ( 00575 ACPI_OPERAND_OBJECT **Operands, 00576 const char *OpcodeName, 00577 UINT32 NumOpcodes); 00578 00579 void 00580 AcpiExDumpObjectDescriptor ( 00581 ACPI_OPERAND_OBJECT *Object, 00582 UINT32 Flags); 00583 00584 void 00585 AcpiExDumpNamespaceNode ( 00586 ACPI_NAMESPACE_NODE *Node, 00587 UINT32 Flags); 00588 00589 00590 /* 00591 * exnames - AML namestring support 00592 */ 00593 ACPI_STATUS 00594 AcpiExGetNameString ( 00595 ACPI_OBJECT_TYPE DataType, 00596 UINT8 *InAmlAddress, 00597 char **OutNameString, 00598 UINT32 *OutNameLength); 00599 00600 00601 /* 00602 * exstore - Object store support 00603 */ 00604 ACPI_STATUS 00605 AcpiExStore ( 00606 ACPI_OPERAND_OBJECT *ValDesc, 00607 ACPI_OPERAND_OBJECT *DestDesc, 00608 ACPI_WALK_STATE *WalkState); 00609 00610 ACPI_STATUS 00611 AcpiExStoreObjectToNode ( 00612 ACPI_OPERAND_OBJECT *SourceDesc, 00613 ACPI_NAMESPACE_NODE *Node, 00614 ACPI_WALK_STATE *WalkState, 00615 UINT8 ImplicitConversion); 00616 00617 #define ACPI_IMPLICIT_CONVERSION TRUE 00618 #define ACPI_NO_IMPLICIT_CONVERSION FALSE 00619 00620 00621 /* 00622 * exstoren - resolve/store object 00623 */ 00624 ACPI_STATUS 00625 AcpiExResolveObject ( 00626 ACPI_OPERAND_OBJECT **SourceDescPtr, 00627 ACPI_OBJECT_TYPE TargetType, 00628 ACPI_WALK_STATE *WalkState); 00629 00630 ACPI_STATUS 00631 AcpiExStoreObjectToObject ( 00632 ACPI_OPERAND_OBJECT *SourceDesc, 00633 ACPI_OPERAND_OBJECT *DestDesc, 00634 ACPI_OPERAND_OBJECT **NewDesc, 00635 ACPI_WALK_STATE *WalkState); 00636 00637 00638 /* 00639 * exstorob - store object - buffer/string 00640 */ 00641 ACPI_STATUS 00642 AcpiExStoreBufferToBuffer ( 00643 ACPI_OPERAND_OBJECT *SourceDesc, 00644 ACPI_OPERAND_OBJECT *TargetDesc); 00645 00646 ACPI_STATUS 00647 AcpiExStoreStringToString ( 00648 ACPI_OPERAND_OBJECT *SourceDesc, 00649 ACPI_OPERAND_OBJECT *TargetDesc); 00650 00651 00652 /* 00653 * excopy - object copy 00654 */ 00655 ACPI_STATUS 00656 AcpiExCopyIntegerToIndexField ( 00657 ACPI_OPERAND_OBJECT *SourceDesc, 00658 ACPI_OPERAND_OBJECT *TargetDesc); 00659 00660 ACPI_STATUS 00661 AcpiExCopyIntegerToBankField ( 00662 ACPI_OPERAND_OBJECT *SourceDesc, 00663 ACPI_OPERAND_OBJECT *TargetDesc); 00664 00665 ACPI_STATUS 00666 AcpiExCopyDataToNamedField ( 00667 ACPI_OPERAND_OBJECT *SourceDesc, 00668 ACPI_NAMESPACE_NODE *Node); 00669 00670 ACPI_STATUS 00671 AcpiExCopyIntegerToBufferField ( 00672 ACPI_OPERAND_OBJECT *SourceDesc, 00673 ACPI_OPERAND_OBJECT *TargetDesc); 00674 00675 00676 /* 00677 * exutils - interpreter/scanner utilities 00678 */ 00679 void 00680 AcpiExEnterInterpreter ( 00681 void); 00682 00683 void 00684 AcpiExExitInterpreter ( 00685 void); 00686 00687 void 00688 AcpiExReacquireInterpreter ( 00689 void); 00690 00691 void 00692 AcpiExRelinquishInterpreter ( 00693 void); 00694 00695 void 00696 AcpiExTruncateFor32bitTable ( 00697 ACPI_OPERAND_OBJECT *ObjDesc); 00698 00699 void 00700 AcpiExAcquireGlobalLock ( 00701 UINT32 Rule); 00702 00703 void 00704 AcpiExReleaseGlobalLock ( 00705 UINT32 Rule); 00706 00707 void 00708 AcpiExEisaIdToString ( 00709 char *Dest, 00710 UINT64 CompressedId); 00711 00712 void 00713 AcpiExIntegerToString ( 00714 char *Dest, 00715 UINT64 Value); 00716 00717 00718 /* 00719 * exregion - default OpRegion handlers 00720 */ 00721 ACPI_STATUS 00722 AcpiExSystemMemorySpaceHandler ( 00723 UINT32 Function, 00724 ACPI_PHYSICAL_ADDRESS Address, 00725 UINT32 BitWidth, 00726 UINT64 *Value, 00727 void *HandlerContext, 00728 void *RegionContext); 00729 00730 ACPI_STATUS 00731 AcpiExSystemIoSpaceHandler ( 00732 UINT32 Function, 00733 ACPI_PHYSICAL_ADDRESS Address, 00734 UINT32 BitWidth, 00735 UINT64 *Value, 00736 void *HandlerContext, 00737 void *RegionContext); 00738 00739 ACPI_STATUS 00740 AcpiExPciConfigSpaceHandler ( 00741 UINT32 Function, 00742 ACPI_PHYSICAL_ADDRESS Address, 00743 UINT32 BitWidth, 00744 UINT64 *Value, 00745 void *HandlerContext, 00746 void *RegionContext); 00747 00748 ACPI_STATUS 00749 AcpiExCmosSpaceHandler ( 00750 UINT32 Function, 00751 ACPI_PHYSICAL_ADDRESS Address, 00752 UINT32 BitWidth, 00753 UINT64 *Value, 00754 void *HandlerContext, 00755 void *RegionContext); 00756 00757 ACPI_STATUS 00758 AcpiExPciBarSpaceHandler ( 00759 UINT32 Function, 00760 ACPI_PHYSICAL_ADDRESS Address, 00761 UINT32 BitWidth, 00762 UINT64 *Value, 00763 void *HandlerContext, 00764 void *RegionContext); 00765 00766 ACPI_STATUS 00767 AcpiExEmbeddedControllerSpaceHandler ( 00768 UINT32 Function, 00769 ACPI_PHYSICAL_ADDRESS Address, 00770 UINT32 BitWidth, 00771 UINT64 *Value, 00772 void *HandlerContext, 00773 void *RegionContext); 00774 00775 ACPI_STATUS 00776 AcpiExSmBusSpaceHandler ( 00777 UINT32 Function, 00778 ACPI_PHYSICAL_ADDRESS Address, 00779 UINT32 BitWidth, 00780 UINT64 *Value, 00781 void *HandlerContext, 00782 void *RegionContext); 00783 00784 00785 ACPI_STATUS 00786 AcpiExDataTableSpaceHandler ( 00787 UINT32 Function, 00788 ACPI_PHYSICAL_ADDRESS Address, 00789 UINT32 BitWidth, 00790 UINT64 *Value, 00791 void *HandlerContext, 00792 void *RegionContext); 00793 00794 #endif /* __INTERP_H__ */ Generated on Sat May 26 2012 04:25:51 for ReactOS by
1.7.6.1
|