acdispat.h revision 69450
119370Spst/******************************************************************************
298944Sobrien *
398944Sobrien * Name: acdispat.h - dispatcher (parser to interpreter interface)
419370Spst *       $Revision: 32 $
519370Spst *
619370Spst *****************************************************************************/
719370Spst
819370Spst/******************************************************************************
919370Spst *
1019370Spst * 1. Copyright Notice
1119370Spst *
1219370Spst * Some or all of this work - Copyright (c) 1999, Intel Corp.  All rights
1319370Spst * reserved.
1419370Spst *
1519370Spst * 2. License
1619370Spst *
1719370Spst * 2.1. This is your license from Intel Corp. under its intellectual property
1819370Spst * rights.  You may have additional license terms from the party that provided
1919370Spst * you this software, covering your right to use that party's intellectual
2019370Spst * property rights.
2119370Spst *
2219370Spst * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
2319370Spst * copy of the source code appearing in this file ("Covered Code") an
2419370Spst * irrevocable, perpetual, worldwide license under Intel's copyrights in the
2519370Spst * base code distributed originally by Intel ("Original Intel Code") to copy,
2619370Spst * make derivatives, distribute, use and display any portion of the Covered
2719370Spst * Code in any form, with the right to sublicense such rights; and
2819370Spst *
2919370Spst * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
3019370Spst * license (with the right to sublicense), under only those claims of Intel
3119370Spst * patents that are infringed by the Original Intel Code, to make, use, sell,
3219370Spst * offer to sell, and import the Covered Code and derivative works thereof
3319370Spst * solely to the minimum extent necessary to exercise the above copyright
3419370Spst * license, and in no event shall the patent license extend to any additions
3519370Spst * to or modifications of the Original Intel Code.  No other license or right
3619370Spst * is granted directly or by implication, estoppel or otherwise;
3719370Spst *
3819370Spst * The above copyright and patent license is granted only if the following
3919370Spst * conditions are met:
4019370Spst *
4119370Spst * 3. Conditions
4219370Spst *
4319370Spst * 3.1. Redistribution of Source with Rights to Further Distribute Source.
4419370Spst * Redistribution of source code of any substantial portion of the Covered
4519370Spst * Code or modification with rights to further distribute source must include
4619370Spst * the above Copyright Notice, the above License, this list of Conditions,
4719370Spst * and the following Disclaimer and Export Compliance provision.  In addition,
4819370Spst * Licensee must cause all Covered Code to which Licensee contributes to
4919370Spst * contain a file documenting the changes Licensee made to create that Covered
5019370Spst * Code and the date of any change.  Licensee must include in that file the
5119370Spst * documentation of any changes made by any predecessor Licensee.  Licensee
5219370Spst * must include a prominent statement that the modification is derived,
53130803Smarcel * directly or indirectly, from Original Intel Code.
5419370Spst *
5519370Spst * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
5619370Spst * Redistribution of source code of any substantial portion of the Covered
5719370Spst * Code or modification without rights to further distribute source must
5819370Spst * include the following Disclaimer and Export Compliance provision in the
5919370Spst * documentation and/or other materials provided with distribution.  In
6019370Spst * addition, Licensee may not authorize further sublicense of source of any
6119370Spst * portion of the Covered Code, and must include terms to the effect that the
6219370Spst * license from Licensee to its licensee is limited to the intellectual
6319370Spst * property embodied in the software Licensee provides to its licensee, and
6419370Spst * not to intellectual property embodied in modifications its licensee may
6519370Spst * make.
6619370Spst *
6719370Spst * 3.3. Redistribution of Executable. Redistribution in executable form of any
6819370Spst * substantial portion of the Covered Code or modification must reproduce the
6919370Spst * above Copyright Notice, and the following Disclaimer and Export Compliance
7019370Spst * provision in the documentation and/or other materials provided with the
7119370Spst * distribution.
7219370Spst *
7319370Spst * 3.4. Intel retains all right, title, and interest in and to the Original
7419370Spst * Intel Code.
7519370Spst *
7619370Spst * 3.5. Neither the name Intel nor any other trademark owned or controlled by
7719370Spst * Intel shall be used in advertising or otherwise to promote the sale, use or
7819370Spst * other dealings in products derived from or relating to the Covered Code
7919370Spst * without prior written authorization from Intel.
8019370Spst *
8119370Spst * 4. Disclaimer and Export Compliance
8219370Spst *
8319370Spst * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
8419370Spst * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
8519370Spst * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
8619370Spst * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
8719370Spst * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
8819370Spst * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
8919370Spst * PARTICULAR PURPOSE.
9019370Spst *
91130803Smarcel * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
92130803Smarcel * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
9319370Spst * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
9419370Spst * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
9519370Spst * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
9619370Spst * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
9719370Spst * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
9819370Spst * LIMITED REMEDY.
9919370Spst *
10019370Spst * 4.3. Licensee shall not export, either directly or indirectly, any of this
10119370Spst * software or system incorporating such software without first obtaining any
10219370Spst * required license or other approval from the U. S. Department of Commerce or
10319370Spst * any other agency or department of the United States Government.  In the
104130803Smarcel * event Licensee exports any such software from the United States or
10519370Spst * re-exports any such software from a foreign destination, Licensee shall
10619370Spst * ensure that the distribution and export/re-export of the software is in
107130803Smarcel * compliance with all laws, regulations, orders, or other restrictions of the
108130803Smarcel * U.S. Export Administration Regulations. Licensee agrees that neither it nor
10998944Sobrien * any of its subsidiaries will export/re-export any technical data, process,
11019370Spst * software, or service, directly or indirectly, to any country for which the
11198944Sobrien * United States government or any agency thereof requires an export license,
11219370Spst * other governmental approval, or letter of assurance, without first obtaining
11398944Sobrien * such license, approval or letter.
11419370Spst *
11519370Spst *****************************************************************************/
11698944Sobrien
11719370Spst
11819370Spst#ifndef _ACDISPAT_H_
11998944Sobrien#define _ACDISPAT_H_
12019370Spst
12119370Spst
12219370Spst#define NAMEOF_LOCAL_NTE    "__L0"
12319370Spst#define NAMEOF_ARG_NTE      "__A0"
12419370Spst
12519370Spst
12619370Spst/* For AcpiDsMethodDataSetValue */
12719370Spst
12819370Spst#define MTH_TYPE_LOCAL              0
12919370Spst#define MTH_TYPE_ARG                1
13019370Spst
13119370Spst
13219370Spst/* Common interfaces */
13319370Spst
13419370SpstACPI_STATUS
13519370SpstAcpiDsObjStackPush (
13619370Spst    void                    *Object,
13719370Spst    ACPI_WALK_STATE         *WalkState);
13819370Spst
13946283SdfrACPI_STATUS
14019370SpstAcpiDsObjStackPop (
14119370Spst    UINT32                  PopCount,
14219370Spst    ACPI_WALK_STATE         *WalkState);
14319370Spst
14419370Spstvoid *
14519370SpstAcpiDsObjStackGetValue (
14619370Spst    UINT32                  Index,
14719370Spst    ACPI_WALK_STATE         *WalkState);
14819370Spst
14919370SpstACPI_STATUS
15019370SpstAcpiDsObjStackPopObject (
15119370Spst    ACPI_OPERAND_OBJECT     **Object,
15219370Spst    ACPI_WALK_STATE         *WalkState);
15319370Spst
15419370Spst
15519370Spst/* dsopcode - support for late evaluation */
15619370Spst
15719370SpstACPI_STATUS
15819370SpstAcpiDsGetFieldUnitArguments (
15919370Spst    ACPI_OPERAND_OBJECT     *ObjDesc);
16019370Spst
16119370SpstACPI_STATUS
16219370SpstAcpiDsGetRegionArguments (
16319370Spst    ACPI_OPERAND_OBJECT     *RgnDesc);
16419370Spst
16519370Spst
16619370Spst/* dsctrl - Parser/Interpreter interface, control stack routines */
16719370Spst
16819370Spst
16919370SpstACPI_STATUS
17019370SpstAcpiDsExecBeginControlOp (
17119370Spst    ACPI_WALK_STATE         *WalkState,
17219370Spst    ACPI_PARSE_OBJECT       *Op);
17319370Spst
17419370SpstACPI_STATUS
17519370SpstAcpiDsExecEndControlOp (
17619370Spst    ACPI_WALK_STATE         *WalkState,
17719370Spst    ACPI_PARSE_OBJECT       *Op);
17819370Spst
17919370Spst
18019370Spst/* dsexec - Parser/Interpreter interface, method execution callbacks */
18119370Spst
18219370Spst
18319370SpstACPI_STATUS
18419370SpstAcpiDsGetPredicateValue (
18519370Spst    ACPI_WALK_STATE         *WalkState,
18619370Spst    ACPI_PARSE_OBJECT       *Op,
18719370Spst    UINT32                  HasResultObj);
18819370Spst
18919370SpstACPI_STATUS
19019370SpstAcpiDsExecBeginOp (
19119370Spst    UINT16                  Opcode,
19219370Spst    ACPI_PARSE_OBJECT       *Op,
19319370Spst    ACPI_WALK_STATE         *WalkState,
19419370Spst    ACPI_PARSE_OBJECT       **OutOp);
19519370Spst
19619370SpstACPI_STATUS
19719370SpstAcpiDsExecEndOp (
19819370Spst    ACPI_WALK_STATE         *State,
19919370Spst    ACPI_PARSE_OBJECT       *Op);
20019370Spst
20119370Spst
20219370Spst/* dsfield - Parser/Interpreter interface for AML fields */
20319370Spst
20419370Spst
20519370SpstACPI_STATUS
20619370SpstAcpiDsCreateField (
20719370Spst    ACPI_PARSE_OBJECT       *Op,
20819370Spst    ACPI_NAMESPACE_NODE     *RegionNode,
20919370Spst    ACPI_WALK_STATE         *WalkState);
21019370Spst
21119370SpstACPI_STATUS
21219370SpstAcpiDsCreateBankField (
21319370Spst    ACPI_PARSE_OBJECT       *Op,
21419370Spst    ACPI_NAMESPACE_NODE     *RegionNode,
21519370Spst    ACPI_WALK_STATE         *WalkState);
21619370Spst
21719370SpstACPI_STATUS
21819370SpstAcpiDsCreateIndexField (
21919370Spst    ACPI_PARSE_OBJECT       *Op,
220130803Smarcel    ACPI_HANDLE             RegionNode,
22119370Spst    ACPI_WALK_STATE         *WalkState);
22219370Spst
22319370Spst
22419370Spst/* dsload - Parser/Interpreter interface, namespace load callbacks */
22519370Spst
22619370SpstACPI_STATUS
22719370SpstAcpiDsLoad1BeginOp (
22819370Spst    UINT16                  Opcode,
22919370Spst    ACPI_PARSE_OBJECT       *Op,
23019370Spst    ACPI_WALK_STATE         *WalkState,
23119370Spst    ACPI_PARSE_OBJECT       **OutOp);
23219370Spst
23319370SpstACPI_STATUS
23419370SpstAcpiDsLoad1EndOp (
23519370Spst    ACPI_WALK_STATE         *WalkState,
23619370Spst    ACPI_PARSE_OBJECT       *Op);
23719370Spst
23819370SpstACPI_STATUS
23919370SpstAcpiDsLoad2BeginOp (
24019370Spst    UINT16                  Opcode,
24119370Spst    ACPI_PARSE_OBJECT       *Op,
24219370Spst    ACPI_WALK_STATE         *WalkState,
24319370Spst    ACPI_PARSE_OBJECT       **OutOp);
24419370Spst
24519370SpstACPI_STATUS
24619370SpstAcpiDsLoad2EndOp (
24719370Spst    ACPI_WALK_STATE         *State,
24819370Spst    ACPI_PARSE_OBJECT       *Op);
24919370Spst
25019370SpstACPI_STATUS
25119370SpstAcpiDsLoad3BeginOp (
25219370Spst    UINT16                  Opcode,
25319370Spst    ACPI_PARSE_OBJECT       *Op,
25419370Spst    ACPI_WALK_STATE         *WalkState,
25519370Spst    ACPI_PARSE_OBJECT       **OutOp);
25619370Spst
25719370SpstACPI_STATUS
25819370SpstAcpiDsLoad3EndOp (
25919370Spst    ACPI_WALK_STATE         *State,
26019370Spst    ACPI_PARSE_OBJECT       *Op);
26119370Spst
26219370Spst
26319370Spst/* dsmthdat - method data (locals/args) */
26419370Spst
26519370Spst
26619370SpstACPI_STATUS
26719370SpstAcpiDsMethodDataGetEntry (
26819370Spst    UINT32                  Type,
26919370Spst    UINT32                  Index,
27019370Spst    ACPI_WALK_STATE         *WalkState,
27119370Spst    ACPI_OPERAND_OBJECT     ***Node);
27219370Spst
27319370SpstACPI_STATUS
27419370SpstAcpiDsMethodDataDeleteAll (
27519370Spst    ACPI_WALK_STATE         *WalkState);
27619370Spst
27719370SpstBOOLEAN
27819370SpstAcpiDsIsMethodValue (
27919370Spst    ACPI_OPERAND_OBJECT     *ObjDesc);
28019370Spst
28119370SpstOBJECT_TYPE_INTERNAL
28219370SpstAcpiDsMethodDataGetType (
28319370Spst    UINT32                  Type,
28419370Spst    UINT32                  Index,
28519370Spst    ACPI_WALK_STATE         *WalkState);
28619370Spst
28719370SpstACPI_STATUS
28819370SpstAcpiDsMethodDataGetValue (
28919370Spst    UINT32                  Type,
29019370Spst    UINT32                  Index,
29119370Spst    ACPI_WALK_STATE         *WalkState,
29219370Spst    ACPI_OPERAND_OBJECT     **DestDesc);
29319370Spst
29419370SpstACPI_STATUS
29519370SpstAcpiDsMethodDataSetValue (
29619370Spst    UINT32                  Type,
29719370Spst    UINT32                  Index,
29819370Spst    ACPI_OPERAND_OBJECT     *SrcDesc,
29919370Spst    ACPI_WALK_STATE         *WalkState);
30019370Spst
30119370SpstACPI_STATUS
30219370SpstAcpiDsMethodDataDeleteValue (
30319370Spst    UINT32                  Type,
30419370Spst    UINT32                  Index,
30519370Spst    ACPI_WALK_STATE         *WalkState);
30619370Spst
30719370SpstACPI_STATUS
30819370SpstAcpiDsMethodDataInitArgs (
30919370Spst    ACPI_OPERAND_OBJECT     **Params,
31019370Spst    UINT32                  MaxParamCount,
31119370Spst    ACPI_WALK_STATE         *WalkState);
31219370Spst
31319370SpstACPI_NAMESPACE_NODE *
31419370SpstAcpiDsMethodDataGetNte (
31519370Spst    UINT32                  Type,
31619370Spst    UINT32                  Index,
31719370Spst    ACPI_WALK_STATE         *WalkState);
31819370Spst
31919370SpstACPI_STATUS
32019370SpstAcpiDsMethodDataInit (
32119370Spst    ACPI_WALK_STATE         *WalkState);
32219370Spst
32319370SpstACPI_STATUS
32419370SpstAcpiDsMethodDataSetEntry (
32519370Spst    UINT32                  Type,
32619370Spst    UINT32                  Index,
32719370Spst    ACPI_OPERAND_OBJECT     *Object,
32819370Spst    ACPI_WALK_STATE         *WalkState);
32919370Spst
33019370Spst
33119370Spst/* dsmethod - Parser/Interpreter interface - control method parsing */
33219370Spst
33319370SpstACPI_STATUS
33419370SpstAcpiDsParseMethod (
335130803Smarcel    ACPI_HANDLE             ObjHandle);
33619370Spst
33719370SpstACPI_STATUS
33819370SpstAcpiDsCallControlMethod (
33919370Spst    ACPI_WALK_LIST          *WalkList,
34019370Spst    ACPI_WALK_STATE         *WalkState,
34119370Spst    ACPI_PARSE_OBJECT       *Op);
34219370Spst
34319370SpstACPI_STATUS
34419370SpstAcpiDsRestartControlMethod (
34519370Spst    ACPI_WALK_STATE         *WalkState,
34619370Spst    ACPI_OPERAND_OBJECT     *ReturnDesc);
34719370Spst
34819370SpstACPI_STATUS
34919370SpstAcpiDsTerminateControlMethod (
35019370Spst    ACPI_WALK_STATE         *WalkState);
35119370Spst
35219370SpstACPI_STATUS
35319370SpstAcpiDsBeginMethodExecution (
35419370Spst    ACPI_NAMESPACE_NODE     *MethodNode,
35519370Spst    ACPI_OPERAND_OBJECT     *ObjDesc);
35619370Spst
35719370Spst
35819370Spst/* dsobj - Parser/Interpreter interface - object initialization and conversion */
35919370Spst
36019370SpstACPI_STATUS
36119370SpstAcpiDsInitOneObject (
36219370Spst    ACPI_HANDLE             ObjHandle,
36319370Spst    UINT32                  Level,
36419370Spst    void                    *Context,
36519370Spst    void                    **ReturnValue);
36619370Spst
36719370SpstACPI_STATUS
36819370SpstAcpiDsInitializeObjects (
36919370Spst    ACPI_TABLE_DESC         *TableDesc,
37019370Spst    ACPI_NAMESPACE_NODE     *StartNode);
37119370Spst
37219370SpstACPI_STATUS
37319370SpstAcpiDsBuildInternalPackageObj (
37419370Spst    ACPI_WALK_STATE         *WalkState,
37519370Spst    ACPI_PARSE_OBJECT       *op,
37619370Spst    ACPI_OPERAND_OBJECT     **ObjDesc);
37719370Spst
37819370SpstACPI_STATUS
37919370SpstAcpiDsBuildInternalObject (
38019370Spst    ACPI_WALK_STATE         *WalkState,
38119370Spst    ACPI_PARSE_OBJECT       *op,
38219370Spst    ACPI_OPERAND_OBJECT     **ObjDescPtr);
38319370Spst
38419370SpstACPI_STATUS
38519370SpstAcpiDsInitObjectFromOp (
38619370Spst    ACPI_WALK_STATE         *WalkState,
38719370Spst    ACPI_PARSE_OBJECT       *Op,
38819370Spst    UINT16                  Opcode,
38919370Spst    ACPI_OPERAND_OBJECT     **ObjDesc);
39019370Spst
39119370SpstACPI_STATUS
39219370SpstAcpiDsCreateNode (
39319370Spst    ACPI_WALK_STATE         *WalkState,
39419370Spst    ACPI_NAMESPACE_NODE     *Node,
39519370Spst    ACPI_PARSE_OBJECT       *Op);
39619370Spst
39719370Spst
39819370Spst/* dsregn - Parser/Interpreter interface - Op Region parsing */
39919370Spst
40019370SpstACPI_STATUS
40119370SpstAcpiDsEvalFieldUnitOperands (
40219370Spst    ACPI_WALK_STATE         *WalkState,
40319370Spst    ACPI_PARSE_OBJECT       *Op);
40419370Spst
40519370SpstACPI_STATUS
40619370SpstAcpiDsEvalRegionOperands (
40719370Spst    ACPI_WALK_STATE         *WalkState,
40819370Spst    ACPI_PARSE_OBJECT       *Op);
40919370Spst
41019370SpstACPI_STATUS
41119370SpstAcpiDsInitializeRegion (
41219370Spst    ACPI_HANDLE             ObjHandle);
41319370Spst
41419370Spst
41519370Spst/* dsutils - Parser/Interpreter interface utility routines */
41619370Spst
41719370SpstBOOLEAN
41819370SpstAcpiDsIsResultUsed (
41919370Spst    ACPI_PARSE_OBJECT       *Op,
42019370Spst    ACPI_WALK_STATE         *WalkState);
42119370Spst
42219370Spstvoid
42319370SpstAcpiDsDeleteResultIfNotUsed (
42419370Spst    ACPI_PARSE_OBJECT       *Op,
42519370Spst    ACPI_OPERAND_OBJECT     *ResultObj,
42619370Spst    ACPI_WALK_STATE         *WalkState);
42719370Spst
42819370SpstACPI_STATUS
42919370SpstAcpiDsCreateOperand (
43019370Spst    ACPI_WALK_STATE         *WalkState,
43119370Spst    ACPI_PARSE_OBJECT       *Arg);
43219370Spst
43319370SpstACPI_STATUS
43419370SpstAcpiDsCreateOperands (
43519370Spst    ACPI_WALK_STATE         *WalkState,
43619370Spst    ACPI_PARSE_OBJECT       *FirstArg);
43719370Spst
43819370SpstACPI_STATUS
43919370SpstAcpiDsResolveOperands (
44019370Spst    ACPI_WALK_STATE         *WalkState);
44119370Spst
44219370SpstOBJECT_TYPE_INTERNAL
44319370SpstAcpiDsMapOpcodeToDataType (
44419370Spst    UINT16                  Opcode,
44519370Spst    UINT32                  *OutFlags);
44619370Spst
44719370SpstOBJECT_TYPE_INTERNAL
44819370SpstAcpiDsMapNamedOpcodeToDataType (
44919370Spst    UINT16                  Opcode);
45019370Spst
45119370Spst
45219370Spst/*
45319370Spst * dswscope - Scope Stack manipulation
45419370Spst */
45519370Spst
45619370SpstACPI_STATUS
45719370SpstAcpiDsScopeStackPush (
45819370Spst    ACPI_NAMESPACE_NODE     *Node,
45919370Spst    OBJECT_TYPE_INTERNAL    Type,
46019370Spst    ACPI_WALK_STATE         *WalkState);
46119370Spst
46219370Spst
46319370SpstACPI_STATUS
46419370SpstAcpiDsScopeStackPop (
46519370Spst    ACPI_WALK_STATE         *WalkState);
46619370Spst
46719370Spstvoid
46819370SpstAcpiDsScopeStackClear (
46919370Spst    ACPI_WALK_STATE         *WalkState);
47019370Spst
47119370Spst
47219370Spst/* AcpiDswstate - parser WALK_STATE management routines */
47319370Spst
47419370SpstACPI_WALK_STATE *
47519370SpstAcpiDsCreateWalkState (
47619370Spst    ACPI_OWNER_ID           OwnerId,
47719370Spst    ACPI_PARSE_OBJECT       *Origin,
47819370Spst    ACPI_OPERAND_OBJECT     *MthDesc,
47919370Spst    ACPI_WALK_LIST          *WalkList);
48019370Spst
48119370SpstACPI_STATUS
48219370SpstAcpiDsObjStackDeleteAll (
48319370Spst    ACPI_WALK_STATE         *WalkState);
48419370Spst
48519370SpstACPI_STATUS
48619370SpstAcpiDsObjStackPopAndDelete (
48719370Spst    UINT32                  PopCount,
48819370Spst    ACPI_WALK_STATE         *WalkState);
48919370Spst
49019370Spstvoid
49119370SpstAcpiDsDeleteWalkState (
49219370Spst    ACPI_WALK_STATE         *WalkState);
49319370Spst
49419370SpstACPI_WALK_STATE *
49519370SpstAcpiDsPopWalkState (
49619370Spst    ACPI_WALK_LIST          *WalkList);
49719370Spst
49819370SpstACPI_STATUS
49919370SpstAcpiDsResultStackPop (
50019370Spst    ACPI_OPERAND_OBJECT     **Object,
50119370Spst    ACPI_WALK_STATE         *WalkState);
50219370Spst
50319370SpstACPI_STATUS
50419370SpstAcpiDsResultStackPush (
50519370Spst    void                    *Object,
50619370Spst    ACPI_WALK_STATE         *WalkState);
50719370Spst
50819370SpstACPI_STATUS
50919370SpstAcpiDsResultStackClear (
51019370Spst    ACPI_WALK_STATE         *WalkState);
51119370Spst
51219370SpstACPI_WALK_STATE *
51319370SpstAcpiDsGetCurrentWalkState (
51419370Spst    ACPI_WALK_LIST          *WalkList);
51519370Spst
51619370Spstvoid
51719370SpstAcpiDsDeleteWalkStateCache (
51819370Spst    void);
51919370Spst
52019370Spst
52119370Spst#endif /* _ACDISPAT_H_ */
52219370Spst