ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

acinterp.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.