acinterp.h revision 107325
1/******************************************************************************
2 *
3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4 *       $Revision: 142 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights.  You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.
21 *
22 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
23 * copy of the source code appearing in this file ("Covered Code") an
24 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
25 * base code distributed originally by Intel ("Original Intel Code") to copy,
26 * make derivatives, distribute, use and display any portion of the Covered
27 * Code in any form, with the right to sublicense such rights; and
28 *
29 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
30 * license (with the right to sublicense), under only those claims of Intel
31 * patents that are infringed by the Original Intel Code, to make, use, sell,
32 * offer to sell, and import the Covered Code and derivative works thereof
33 * solely to the minimum extent necessary to exercise the above copyright
34 * license, and in no event shall the patent license extend to any additions
35 * to or modifications of the Original Intel Code.  No other license or right
36 * is granted directly or by implication, estoppel or otherwise;
37 *
38 * The above copyright and patent license is granted only if the following
39 * conditions are met:
40 *
41 * 3. Conditions
42 *
43 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
44 * Redistribution of source code of any substantial portion of the Covered
45 * Code or modification with rights to further distribute source must include
46 * the above Copyright Notice, the above License, this list of Conditions,
47 * and the following Disclaimer and Export Compliance provision.  In addition,
48 * Licensee must cause all Covered Code to which Licensee contributes to
49 * contain a file documenting the changes Licensee made to create that Covered
50 * Code and the date of any change.  Licensee must include in that file the
51 * documentation of any changes made by any predecessor Licensee.  Licensee
52 * must include a prominent statement that the modification is derived,
53 * directly or indirectly, from Original Intel Code.
54 *
55 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
56 * Redistribution of source code of any substantial portion of the Covered
57 * Code or modification without rights to further distribute source must
58 * include the following Disclaimer and Export Compliance provision in the
59 * documentation and/or other materials provided with distribution.  In
60 * addition, Licensee may not authorize further sublicense of source of any
61 * portion of the Covered Code, and must include terms to the effect that the
62 * license from Licensee to its licensee is limited to the intellectual
63 * property embodied in the software Licensee provides to its licensee, and
64 * not to intellectual property embodied in modifications its licensee may
65 * make.
66 *
67 * 3.3. Redistribution of Executable. Redistribution in executable form of any
68 * substantial portion of the Covered Code or modification must reproduce the
69 * above Copyright Notice, and the following Disclaimer and Export Compliance
70 * provision in the documentation and/or other materials provided with the
71 * distribution.
72 *
73 * 3.4. Intel retains all right, title, and interest in and to the Original
74 * Intel Code.
75 *
76 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
77 * Intel shall be used in advertising or otherwise to promote the sale, use or
78 * other dealings in products derived from or relating to the Covered Code
79 * without prior written authorization from Intel.
80 *
81 * 4. Disclaimer and Export Compliance
82 *
83 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
84 * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
85 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
86 * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
87 * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
88 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
89 * PARTICULAR PURPOSE.
90 *
91 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
92 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
93 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
94 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
95 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
96 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
97 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
98 * LIMITED REMEDY.
99 *
100 * 4.3. Licensee shall not export, either directly or indirectly, any of this
101 * software or system incorporating such software without first obtaining any
102 * required license or other approval from the U. S. Department of Commerce or
103 * any other agency or department of the United States Government.  In the
104 * event Licensee exports any such software from the United States or
105 * re-exports any such software from a foreign destination, Licensee shall
106 * ensure that the distribution and export/re-export of the software is in
107 * compliance with all laws, regulations, orders, or other restrictions of the
108 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
109 * any of its subsidiaries will export/re-export any technical data, process,
110 * software, or service, directly or indirectly, to any country for which the
111 * United States government or any agency thereof requires an export license,
112 * other governmental approval, or letter of assurance, without first obtaining
113 * such license, approval or letter.
114 *
115 *****************************************************************************/
116
117#ifndef __ACINTERP_H__
118#define __ACINTERP_H__
119
120
121#define ACPI_WALK_OPERANDS       (&(WalkState->Operands [WalkState->NumOperands -1]))
122
123
124ACPI_STATUS
125AcpiExResolveOperands (
126    UINT16                  Opcode,
127    ACPI_OPERAND_OBJECT     **StackPtr,
128    ACPI_WALK_STATE         *WalkState);
129
130ACPI_STATUS
131AcpiExCheckObjectType (
132    ACPI_OBJECT_TYPE        TypeNeeded,
133    ACPI_OBJECT_TYPE        ThisType,
134    void                    *Object);
135
136/*
137 * exxface - External interpreter interfaces
138 */
139
140ACPI_STATUS
141AcpiExLoadTable (
142    ACPI_TABLE_TYPE         TableId);
143
144ACPI_STATUS
145AcpiExExecuteMethod (
146    ACPI_NAMESPACE_NODE     *MethodNode,
147    ACPI_OPERAND_OBJECT     **Params,
148    ACPI_OPERAND_OBJECT     **ReturnObjDesc);
149
150
151/*
152 * exconvrt - object conversion
153 */
154
155ACPI_STATUS
156AcpiExConvertToInteger (
157    ACPI_OPERAND_OBJECT     *ObjDesc,
158    ACPI_OPERAND_OBJECT     **ResultDesc,
159    ACPI_WALK_STATE         *WalkState);
160
161ACPI_STATUS
162AcpiExConvertToBuffer (
163    ACPI_OPERAND_OBJECT     *ObjDesc,
164    ACPI_OPERAND_OBJECT     **ResultDesc,
165    ACPI_WALK_STATE         *WalkState);
166
167ACPI_STATUS
168AcpiExConvertToString (
169    ACPI_OPERAND_OBJECT     *ObjDesc,
170    ACPI_OPERAND_OBJECT     **ResultDesc,
171    UINT32                  Base,
172    UINT32                  MaxLength,
173    ACPI_WALK_STATE         *WalkState);
174
175ACPI_STATUS
176AcpiExConvertToTargetType (
177    ACPI_OBJECT_TYPE        DestinationType,
178    ACPI_OPERAND_OBJECT     *SourceDesc,
179    ACPI_OPERAND_OBJECT     **ResultDesc,
180    ACPI_WALK_STATE         *WalkState);
181
182UINT32
183AcpiExConvertToAscii (
184    ACPI_INTEGER            Integer,
185    UINT32                  Base,
186    UINT8                   *String);
187
188/*
189 * exfield - ACPI AML (p-code) execution - field manipulation
190 */
191
192ACPI_STATUS
193AcpiExExtractFromField (
194    ACPI_OPERAND_OBJECT     *ObjDesc,
195    void                    *Buffer,
196    UINT32                  BufferLength);
197
198ACPI_STATUS
199AcpiExInsertIntoField (
200    ACPI_OPERAND_OBJECT     *ObjDesc,
201    void                    *Buffer,
202    UINT32                  BufferLength);
203
204ACPI_STATUS
205AcpiExSetupRegion (
206    ACPI_OPERAND_OBJECT     *ObjDesc,
207    UINT32                  FieldDatumByteOffset);
208
209ACPI_STATUS
210AcpiExAccessRegion (
211    ACPI_OPERAND_OBJECT     *ObjDesc,
212    UINT32                  FieldDatumByteOffset,
213    ACPI_INTEGER            *Value,
214    UINT32                  ReadWrite);
215
216BOOLEAN
217AcpiExRegisterOverflow (
218    ACPI_OPERAND_OBJECT     *ObjDesc,
219    ACPI_INTEGER            Value);
220
221ACPI_STATUS
222AcpiExFieldDatumIo (
223    ACPI_OPERAND_OBJECT     *ObjDesc,
224    UINT32                  FieldDatumByteOffset,
225    ACPI_INTEGER            *Value,
226    UINT32                  ReadWrite);
227
228ACPI_STATUS
229AcpiExWriteWithUpdateRule (
230    ACPI_OPERAND_OBJECT     *ObjDesc,
231    ACPI_INTEGER            Mask,
232    ACPI_INTEGER            FieldValue,
233    UINT32                  FieldDatumByteOffset);
234
235void
236AcpiExGetBufferDatum(
237    ACPI_INTEGER            *Datum,
238    void                    *Buffer,
239    UINT32                  ByteGranularity,
240    UINT32                  Offset);
241
242void
243AcpiExSetBufferDatum (
244    ACPI_INTEGER            MergedDatum,
245    void                    *Buffer,
246    UINT32                  ByteGranularity,
247    UINT32                  Offset);
248
249ACPI_STATUS
250AcpiExReadDataFromField (
251    ACPI_WALK_STATE         *WalkState,
252    ACPI_OPERAND_OBJECT     *ObjDesc,
253    ACPI_OPERAND_OBJECT     **RetBufferDesc);
254
255ACPI_STATUS
256AcpiExWriteDataToField (
257    ACPI_OPERAND_OBJECT     *SourceDesc,
258    ACPI_OPERAND_OBJECT     *ObjDesc,
259    ACPI_OPERAND_OBJECT     **ResultDesc);
260
261/*
262 * exmisc - ACPI AML (p-code) execution - specific opcodes
263 */
264
265ACPI_STATUS
266AcpiExOpcode_3A_0T_0R (
267    ACPI_WALK_STATE         *WalkState);
268
269ACPI_STATUS
270AcpiExOpcode_3A_1T_1R (
271    ACPI_WALK_STATE         *WalkState);
272
273ACPI_STATUS
274AcpiExOpcode_6A_0T_1R (
275    ACPI_WALK_STATE         *WalkState);
276
277BOOLEAN
278AcpiExDoMatch (
279    UINT32                  MatchOp,
280    ACPI_INTEGER            PackageValue,
281    ACPI_INTEGER            MatchValue);
282
283ACPI_STATUS
284AcpiExGetObjectReference (
285    ACPI_OPERAND_OBJECT     *ObjDesc,
286    ACPI_OPERAND_OBJECT     **ReturnDesc,
287    ACPI_WALK_STATE         *WalkState);
288
289ACPI_STATUS
290AcpiExResolveMultiple (
291    ACPI_WALK_STATE         *WalkState,
292    ACPI_OPERAND_OBJECT     *Operand,
293    ACPI_OBJECT_TYPE        *ReturnType,
294    ACPI_OPERAND_OBJECT     **ReturnDesc);
295
296ACPI_STATUS
297AcpiExConcatTemplate (
298    ACPI_OPERAND_OBJECT     *ObjDesc,
299    ACPI_OPERAND_OBJECT     *ObjDesc2,
300    ACPI_OPERAND_OBJECT     **ActualReturnDesc,
301    ACPI_WALK_STATE         *WalkState);
302
303ACPI_STATUS
304AcpiExDoConcatenate (
305    ACPI_OPERAND_OBJECT     *ObjDesc,
306    ACPI_OPERAND_OBJECT     *ObjDesc2,
307    ACPI_OPERAND_OBJECT     **ActualReturnDesc,
308    ACPI_WALK_STATE         *WalkState);
309
310BOOLEAN
311AcpiExDoLogicalOp (
312    UINT16                  Opcode,
313    ACPI_INTEGER            Operand0,
314    ACPI_INTEGER            Operand1);
315
316ACPI_INTEGER
317AcpiExDoMathOp (
318    UINT16                  Opcode,
319    ACPI_INTEGER            Operand0,
320    ACPI_INTEGER            Operand1);
321
322ACPI_STATUS
323AcpiExCreateMutex (
324    ACPI_WALK_STATE         *WalkState);
325
326ACPI_STATUS
327AcpiExCreateProcessor (
328    ACPI_WALK_STATE         *WalkState);
329
330ACPI_STATUS
331AcpiExCreatePowerResource (
332    ACPI_WALK_STATE         *WalkState);
333
334ACPI_STATUS
335AcpiExCreateRegion (
336    UINT8                   *AmlStart,
337    UINT32                  AmlLength,
338    UINT8                   RegionSpace,
339    ACPI_WALK_STATE         *WalkState);
340
341ACPI_STATUS
342AcpiExCreateTableRegion (
343    ACPI_WALK_STATE         *WalkState);
344
345ACPI_STATUS
346AcpiExCreateEvent (
347    ACPI_WALK_STATE         *WalkState);
348
349ACPI_STATUS
350AcpiExCreateAlias (
351    ACPI_WALK_STATE         *WalkState);
352
353ACPI_STATUS
354AcpiExCreateMethod (
355    UINT8                   *AmlStart,
356    UINT32                  AmlLength,
357    ACPI_WALK_STATE         *WalkState);
358
359
360/*
361 * exconfig - dynamic table load/unload
362 */
363
364ACPI_STATUS
365AcpiExAddTable (
366    ACPI_TABLE_HEADER       *Table,
367    ACPI_NAMESPACE_NODE     *ParentNode,
368    ACPI_OPERAND_OBJECT     **DdbHandle);
369
370ACPI_STATUS
371AcpiExLoadOp (
372    ACPI_OPERAND_OBJECT     *ObjDesc,
373    ACPI_OPERAND_OBJECT     *Target,
374    ACPI_WALK_STATE         *WalkState);
375
376ACPI_STATUS
377AcpiExLoadTableOp (
378    ACPI_WALK_STATE         *WalkState,
379    ACPI_OPERAND_OBJECT     **ReturnDesc);
380
381ACPI_STATUS
382AcpiExUnloadTable (
383    ACPI_OPERAND_OBJECT     *DdbHandle);
384
385
386/*
387 * exmutex - mutex support
388 */
389
390ACPI_STATUS
391AcpiExAcquireMutex (
392    ACPI_OPERAND_OBJECT     *TimeDesc,
393    ACPI_OPERAND_OBJECT     *ObjDesc,
394    ACPI_WALK_STATE         *WalkState);
395
396ACPI_STATUS
397AcpiExReleaseMutex (
398    ACPI_OPERAND_OBJECT     *ObjDesc,
399    ACPI_WALK_STATE         *WalkState);
400
401void
402AcpiExReleaseAllMutexes (
403    ACPI_THREAD_STATE       *Thread);
404
405void
406AcpiExUnlinkMutex (
407    ACPI_OPERAND_OBJECT     *ObjDesc);
408
409void
410AcpiExLinkMutex (
411    ACPI_OPERAND_OBJECT     *ObjDesc,
412    ACPI_THREAD_STATE       *Thread);
413
414/*
415 * exprep - ACPI AML (p-code) execution - prep utilities
416 */
417
418ACPI_STATUS
419AcpiExPrepCommonFieldObject (
420    ACPI_OPERAND_OBJECT     *ObjDesc,
421    UINT8                   FieldFlags,
422    UINT8                   FieldAttribute,
423    UINT32                  FieldBitPosition,
424    UINT32                  FieldBitLength);
425
426ACPI_STATUS
427AcpiExPrepFieldValue (
428    ACPI_CREATE_FIELD_INFO  *Info);
429
430/*
431 * exsystem - Interface to OS services
432 */
433
434ACPI_STATUS
435AcpiExSystemDoNotifyOp (
436    ACPI_OPERAND_OBJECT     *Value,
437    ACPI_OPERAND_OBJECT     *ObjDesc);
438
439ACPI_STATUS
440AcpiExSystemDoSuspend(
441    UINT32                  Time);
442
443ACPI_STATUS
444AcpiExSystemDoStall (
445    UINT32                  Time);
446
447ACPI_STATUS
448AcpiExSystemAcquireMutex(
449    ACPI_OPERAND_OBJECT     *Time,
450    ACPI_OPERAND_OBJECT     *ObjDesc);
451
452ACPI_STATUS
453AcpiExSystemReleaseMutex(
454    ACPI_OPERAND_OBJECT     *ObjDesc);
455
456ACPI_STATUS
457AcpiExSystemSignalEvent(
458    ACPI_OPERAND_OBJECT     *ObjDesc);
459
460ACPI_STATUS
461AcpiExSystemWaitEvent(
462    ACPI_OPERAND_OBJECT     *Time,
463    ACPI_OPERAND_OBJECT     *ObjDesc);
464
465ACPI_STATUS
466AcpiExSystemResetEvent(
467    ACPI_OPERAND_OBJECT     *ObjDesc);
468
469ACPI_STATUS
470AcpiExSystemWaitSemaphore (
471    ACPI_HANDLE             Semaphore,
472    UINT16                  Timeout);
473
474
475/*
476 * exmonadic - ACPI AML (p-code) execution, monadic operators
477 */
478
479ACPI_STATUS
480AcpiExOpcode_1A_0T_0R (
481    ACPI_WALK_STATE         *WalkState);
482
483ACPI_STATUS
484AcpiExOpcode_1A_0T_1R (
485    ACPI_WALK_STATE         *WalkState);
486
487ACPI_STATUS
488AcpiExOpcode_1A_1T_1R (
489    ACPI_WALK_STATE         *WalkState);
490
491ACPI_STATUS
492AcpiExOpcode_1A_1T_0R (
493    ACPI_WALK_STATE         *WalkState);
494
495/*
496 * exdyadic - ACPI AML (p-code) execution, dyadic operators
497 */
498
499ACPI_STATUS
500AcpiExOpcode_2A_0T_0R (
501    ACPI_WALK_STATE         *WalkState);
502
503ACPI_STATUS
504AcpiExOpcode_2A_0T_1R (
505    ACPI_WALK_STATE         *WalkState);
506
507ACPI_STATUS
508AcpiExOpcode_2A_1T_1R (
509    ACPI_WALK_STATE         *WalkState);
510
511ACPI_STATUS
512AcpiExOpcode_2A_2T_1R (
513    ACPI_WALK_STATE         *WalkState);
514
515
516/*
517 * exresolv  - Object resolution and get value functions
518 */
519
520ACPI_STATUS
521AcpiExResolveToValue (
522    ACPI_OPERAND_OBJECT     **StackPtr,
523    ACPI_WALK_STATE         *WalkState);
524
525ACPI_STATUS
526AcpiExResolveNodeToValue (
527    ACPI_NAMESPACE_NODE     **StackPtr,
528    ACPI_WALK_STATE         *WalkState);
529
530ACPI_STATUS
531AcpiExResolveObjectToValue (
532    ACPI_OPERAND_OBJECT     **StackPtr,
533    ACPI_WALK_STATE         *WalkState);
534
535
536/*
537 * exdump - Scanner debug output routines
538 */
539
540void
541AcpiExDumpOperand (
542    ACPI_OPERAND_OBJECT     *EntryDesc);
543
544void
545AcpiExDumpOperands (
546    ACPI_OPERAND_OBJECT     **Operands,
547    ACPI_INTERPRETER_MODE   InterpreterMode,
548    NATIVE_CHAR             *Ident,
549    UINT32                  NumLevels,
550    NATIVE_CHAR             *Note,
551    NATIVE_CHAR             *ModuleName,
552    UINT32                  LineNumber);
553
554void
555AcpiExDumpObjectDescriptor (
556    ACPI_OPERAND_OBJECT     *Object,
557    UINT32                  Flags);
558
559void
560AcpiExDumpNode (
561    ACPI_NAMESPACE_NODE     *Node,
562    UINT32                  Flags);
563
564void
565AcpiExOutString (
566    char                    *Title,
567    char                    *Value);
568
569void
570AcpiExOutPointer (
571    char                    *Title,
572    void                    *Value);
573
574void
575AcpiExOutInteger (
576    char                    *Title,
577    UINT32                  Value);
578
579void
580AcpiExOutAddress (
581    char                    *Title,
582    ACPI_PHYSICAL_ADDRESS   Value);
583
584
585/*
586 * exnames - interpreter/scanner name load/execute
587 */
588
589NATIVE_CHAR *
590AcpiExAllocateNameString (
591    UINT32                  PrefixCount,
592    UINT32                  NumNameSegs);
593
594UINT32
595AcpiExGoodChar (
596    UINT32                  Character);
597
598ACPI_STATUS
599AcpiExNameSegment (
600    UINT8                   **InAmlAddress,
601    NATIVE_CHAR             *NameString);
602
603ACPI_STATUS
604AcpiExGetNameString (
605    ACPI_OBJECT_TYPE        DataType,
606    UINT8                   *InAmlAddress,
607    NATIVE_CHAR             **OutNameString,
608    UINT32                  *OutNameLength);
609
610ACPI_STATUS
611AcpiExDoName (
612    ACPI_OBJECT_TYPE        DataType,
613    ACPI_INTERPRETER_MODE   LoadExecMode);
614
615
616/*
617 * exstore - Object store support
618 */
619
620ACPI_STATUS
621AcpiExStore (
622    ACPI_OPERAND_OBJECT     *ValDesc,
623    ACPI_OPERAND_OBJECT     *DestDesc,
624    ACPI_WALK_STATE         *WalkState);
625
626ACPI_STATUS
627AcpiExStoreObjectToIndex (
628    ACPI_OPERAND_OBJECT     *ValDesc,
629    ACPI_OPERAND_OBJECT     *DestDesc,
630    ACPI_WALK_STATE         *WalkState);
631
632ACPI_STATUS
633AcpiExStoreObjectToNode (
634    ACPI_OPERAND_OBJECT     *SourceDesc,
635    ACPI_NAMESPACE_NODE     *Node,
636    ACPI_WALK_STATE         *WalkState);
637
638
639/*
640 * exstoren
641 */
642
643ACPI_STATUS
644AcpiExResolveObject (
645    ACPI_OPERAND_OBJECT     **SourceDescPtr,
646    ACPI_OBJECT_TYPE        TargetType,
647    ACPI_WALK_STATE         *WalkState);
648
649ACPI_STATUS
650AcpiExStoreObjectToObject (
651    ACPI_OPERAND_OBJECT     *SourceDesc,
652    ACPI_OPERAND_OBJECT     *DestDesc,
653    ACPI_OPERAND_OBJECT     **NewDesc,
654    ACPI_WALK_STATE         *WalkState);
655
656
657/*
658 * excopy - object copy
659 */
660
661ACPI_STATUS
662AcpiExStoreBufferToBuffer (
663    ACPI_OPERAND_OBJECT     *SourceDesc,
664    ACPI_OPERAND_OBJECT     *TargetDesc);
665
666ACPI_STATUS
667AcpiExStoreStringToString (
668    ACPI_OPERAND_OBJECT     *SourceDesc,
669    ACPI_OPERAND_OBJECT     *TargetDesc);
670
671ACPI_STATUS
672AcpiExCopyIntegerToIndexField (
673    ACPI_OPERAND_OBJECT     *SourceDesc,
674    ACPI_OPERAND_OBJECT     *TargetDesc);
675
676ACPI_STATUS
677AcpiExCopyIntegerToBankField (
678    ACPI_OPERAND_OBJECT     *SourceDesc,
679    ACPI_OPERAND_OBJECT     *TargetDesc);
680
681ACPI_STATUS
682AcpiExCopyDataToNamedField (
683    ACPI_OPERAND_OBJECT     *SourceDesc,
684    ACPI_NAMESPACE_NODE     *Node);
685
686ACPI_STATUS
687AcpiExCopyIntegerToBufferField (
688    ACPI_OPERAND_OBJECT     *SourceDesc,
689    ACPI_OPERAND_OBJECT     *TargetDesc);
690
691/*
692 * exutils - interpreter/scanner utilities
693 */
694
695ACPI_STATUS
696AcpiExEnterInterpreter (
697    void);
698
699void
700AcpiExExitInterpreter (
701    void);
702
703void
704AcpiExTruncateFor32bitTable (
705    ACPI_OPERAND_OBJECT     *ObjDesc);
706
707BOOLEAN
708AcpiExAcquireGlobalLock (
709    UINT32                  Rule);
710
711void
712AcpiExReleaseGlobalLock (
713    BOOLEAN                 Locked);
714
715UINT32
716AcpiExDigitsNeeded (
717    ACPI_INTEGER            Value,
718    UINT32                  Base);
719
720void
721AcpiExEisaIdToString (
722    UINT32                  NumericId,
723    NATIVE_CHAR             *OutString);
724
725void
726AcpiExUnsignedIntegerToString (
727    ACPI_INTEGER            Value,
728    NATIVE_CHAR             *OutString);
729
730
731/*
732 * exregion - default OpRegion handlers
733 */
734
735ACPI_STATUS
736AcpiExSystemMemorySpaceHandler (
737    UINT32                  Function,
738    ACPI_PHYSICAL_ADDRESS   Address,
739    UINT32                  BitWidth,
740    ACPI_INTEGER            *Value,
741    void                    *HandlerContext,
742    void                    *RegionContext);
743
744ACPI_STATUS
745AcpiExSystemIoSpaceHandler (
746    UINT32                  Function,
747    ACPI_PHYSICAL_ADDRESS   Address,
748    UINT32                  BitWidth,
749    ACPI_INTEGER            *Value,
750    void                    *HandlerContext,
751    void                    *RegionContext);
752
753ACPI_STATUS
754AcpiExPciConfigSpaceHandler (
755    UINT32                  Function,
756    ACPI_PHYSICAL_ADDRESS   Address,
757    UINT32                  BitWidth,
758    ACPI_INTEGER            *Value,
759    void                    *HandlerContext,
760    void                    *RegionContext);
761
762ACPI_STATUS
763AcpiExCmosSpaceHandler (
764    UINT32                  Function,
765    ACPI_PHYSICAL_ADDRESS   Address,
766    UINT32                  BitWidth,
767    ACPI_INTEGER            *Value,
768    void                    *HandlerContext,
769    void                    *RegionContext);
770
771ACPI_STATUS
772AcpiExPciBarSpaceHandler (
773    UINT32                  Function,
774    ACPI_PHYSICAL_ADDRESS   Address,
775    UINT32                  BitWidth,
776    ACPI_INTEGER            *Value,
777    void                    *HandlerContext,
778    void                    *RegionContext);
779
780ACPI_STATUS
781AcpiExEmbeddedControllerSpaceHandler (
782    UINT32                  Function,
783    ACPI_PHYSICAL_ADDRESS   Address,
784    UINT32                  BitWidth,
785    ACPI_INTEGER            *Value,
786    void                    *HandlerContext,
787    void                    *RegionContext);
788
789ACPI_STATUS
790AcpiExSmBusSpaceHandler (
791    UINT32                  Function,
792    ACPI_PHYSICAL_ADDRESS   Address,
793    UINT32                  BitWidth,
794    ACPI_INTEGER            *Value,
795    void                    *HandlerContext,
796    void                    *RegionContext);
797
798
799ACPI_STATUS
800AcpiExDataTableSpaceHandler (
801    UINT32                  Function,
802    ACPI_PHYSICAL_ADDRESS   Address,
803    UINT32                  BitWidth,
804    ACPI_INTEGER            *Value,
805    void                    *HandlerContext,
806    void                    *RegionContext);
807
808#endif /* __INTERP_H__ */
809