acpixf.h revision 167802
167754Smsmith
267754Smsmith/******************************************************************************
367754Smsmith *
470243Smsmith * Name: acpixf.h - External interfaces to the ACPI subsystem
567754Smsmith *
667754Smsmith *****************************************************************************/
767754Smsmith
867754Smsmith/******************************************************************************
967754Smsmith *
1067754Smsmith * 1. Copyright Notice
1167754Smsmith *
12167802Sjkim * Some or all of this work - Copyright (c) 1999 - 2007, Intel Corp.
1370243Smsmith * All rights reserved.
1467754Smsmith *
1567754Smsmith * 2. License
1667754Smsmith *
1767754Smsmith * 2.1. This is your license from Intel Corp. under its intellectual property
1867754Smsmith * rights.  You may have additional license terms from the party that provided
1967754Smsmith * you this software, covering your right to use that party's intellectual
2067754Smsmith * property rights.
2167754Smsmith *
2267754Smsmith * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
2367754Smsmith * copy of the source code appearing in this file ("Covered Code") an
2467754Smsmith * irrevocable, perpetual, worldwide license under Intel's copyrights in the
2567754Smsmith * base code distributed originally by Intel ("Original Intel Code") to copy,
2667754Smsmith * make derivatives, distribute, use and display any portion of the Covered
2767754Smsmith * Code in any form, with the right to sublicense such rights; and
2867754Smsmith *
2967754Smsmith * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
3067754Smsmith * license (with the right to sublicense), under only those claims of Intel
3167754Smsmith * patents that are infringed by the Original Intel Code, to make, use, sell,
3267754Smsmith * offer to sell, and import the Covered Code and derivative works thereof
3367754Smsmith * solely to the minimum extent necessary to exercise the above copyright
3467754Smsmith * license, and in no event shall the patent license extend to any additions
3567754Smsmith * to or modifications of the Original Intel Code.  No other license or right
3667754Smsmith * is granted directly or by implication, estoppel or otherwise;
3767754Smsmith *
3867754Smsmith * The above copyright and patent license is granted only if the following
3967754Smsmith * conditions are met:
4067754Smsmith *
4167754Smsmith * 3. Conditions
4267754Smsmith *
4367754Smsmith * 3.1. Redistribution of Source with Rights to Further Distribute Source.
4467754Smsmith * Redistribution of source code of any substantial portion of the Covered
4567754Smsmith * Code or modification with rights to further distribute source must include
4667754Smsmith * the above Copyright Notice, the above License, this list of Conditions,
4767754Smsmith * and the following Disclaimer and Export Compliance provision.  In addition,
4867754Smsmith * Licensee must cause all Covered Code to which Licensee contributes to
4967754Smsmith * contain a file documenting the changes Licensee made to create that Covered
5067754Smsmith * Code and the date of any change.  Licensee must include in that file the
5167754Smsmith * documentation of any changes made by any predecessor Licensee.  Licensee
5267754Smsmith * must include a prominent statement that the modification is derived,
5367754Smsmith * directly or indirectly, from Original Intel Code.
5467754Smsmith *
5567754Smsmith * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
5667754Smsmith * Redistribution of source code of any substantial portion of the Covered
5767754Smsmith * Code or modification without rights to further distribute source must
5867754Smsmith * include the following Disclaimer and Export Compliance provision in the
5967754Smsmith * documentation and/or other materials provided with distribution.  In
6067754Smsmith * addition, Licensee may not authorize further sublicense of source of any
6167754Smsmith * portion of the Covered Code, and must include terms to the effect that the
6267754Smsmith * license from Licensee to its licensee is limited to the intellectual
6367754Smsmith * property embodied in the software Licensee provides to its licensee, and
6467754Smsmith * not to intellectual property embodied in modifications its licensee may
6567754Smsmith * make.
6667754Smsmith *
6767754Smsmith * 3.3. Redistribution of Executable. Redistribution in executable form of any
6867754Smsmith * substantial portion of the Covered Code or modification must reproduce the
6967754Smsmith * above Copyright Notice, and the following Disclaimer and Export Compliance
7067754Smsmith * provision in the documentation and/or other materials provided with the
7167754Smsmith * distribution.
7267754Smsmith *
7367754Smsmith * 3.4. Intel retains all right, title, and interest in and to the Original
7467754Smsmith * Intel Code.
7567754Smsmith *
7667754Smsmith * 3.5. Neither the name Intel nor any other trademark owned or controlled by
7767754Smsmith * Intel shall be used in advertising or otherwise to promote the sale, use or
7867754Smsmith * other dealings in products derived from or relating to the Covered Code
7967754Smsmith * without prior written authorization from Intel.
8067754Smsmith *
8167754Smsmith * 4. Disclaimer and Export Compliance
8267754Smsmith *
8367754Smsmith * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
8467754Smsmith * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
8567754Smsmith * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
8667754Smsmith * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
8767754Smsmith * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
8867754Smsmith * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
8967754Smsmith * PARTICULAR PURPOSE.
9067754Smsmith *
9167754Smsmith * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
9267754Smsmith * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
9367754Smsmith * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
9467754Smsmith * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
9567754Smsmith * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
9667754Smsmith * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
9767754Smsmith * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
9867754Smsmith * LIMITED REMEDY.
9967754Smsmith *
10067754Smsmith * 4.3. Licensee shall not export, either directly or indirectly, any of this
10167754Smsmith * software or system incorporating such software without first obtaining any
10267754Smsmith * required license or other approval from the U. S. Department of Commerce or
10367754Smsmith * any other agency or department of the United States Government.  In the
10467754Smsmith * event Licensee exports any such software from the United States or
10567754Smsmith * re-exports any such software from a foreign destination, Licensee shall
10667754Smsmith * ensure that the distribution and export/re-export of the software is in
10767754Smsmith * compliance with all laws, regulations, orders, or other restrictions of the
10867754Smsmith * U.S. Export Administration Regulations. Licensee agrees that neither it nor
10967754Smsmith * any of its subsidiaries will export/re-export any technical data, process,
11067754Smsmith * software, or service, directly or indirectly, to any country for which the
11167754Smsmith * United States government or any agency thereof requires an export license,
11267754Smsmith * other governmental approval, or letter of assurance, without first obtaining
11367754Smsmith * such license, approval or letter.
11467754Smsmith *
11567754Smsmith *****************************************************************************/
11667754Smsmith
11767754Smsmith
11867754Smsmith#ifndef __ACXFACE_H__
11967754Smsmith#define __ACXFACE_H__
12067754Smsmith
121151600Sobrien#include <contrib/dev/acpica/actypes.h>
122151600Sobrien#include <contrib/dev/acpica/actbl.h>
12367754Smsmith
12477424Smsmith
125151937Sjkim/*
12667754Smsmith * Global interfaces
12767754Smsmith */
12867754SmsmithACPI_STATUS
129167802SjkimAcpiInitializeTables (
130167802Sjkim    ACPI_TABLE_DESC         *InitialStorage,
131167802Sjkim    UINT32                  InitialTableCount,
132167802Sjkim    BOOLEAN                 AllowResize);
133167802Sjkim
134167802SjkimACPI_STATUS
13567754SmsmithAcpiInitializeSubsystem (
13667754Smsmith    void);
13767754Smsmith
13867754SmsmithACPI_STATUS
13967754SmsmithAcpiEnableSubsystem (
14067754Smsmith    UINT32                  Flags);
14167754Smsmith
14267754SmsmithACPI_STATUS
143100966SiwasakiAcpiInitializeObjects (
144100966Siwasaki    UINT32                  Flags);
145100966Siwasaki
146100966SiwasakiACPI_STATUS
14767754SmsmithAcpiTerminate (
14867754Smsmith    void);
14967754Smsmith
15067754SmsmithACPI_STATUS
15180062SmsmithAcpiSubsystemStatus (
15280062Smsmith    void);
15380062Smsmith
15480062SmsmithACPI_STATUS
15567754SmsmithAcpiEnable (
15667754Smsmith    void);
15767754Smsmith
15867754SmsmithACPI_STATUS
15967754SmsmithAcpiDisable (
16067754Smsmith    void);
16167754Smsmith
16267754SmsmithACPI_STATUS
16380062SmsmithAcpiGetSystemInfo (
16467754Smsmith    ACPI_BUFFER             *RetBuffer);
16567754Smsmith
16680062Smsmithconst char *
16767754SmsmithAcpiFormatException (
16880062Smsmith    ACPI_STATUS             Exception);
16967754Smsmith
17087031SmsmithACPI_STATUS
17187031SmsmithAcpiPurgeCachedObjects (
17287031Smsmith    void);
17367754Smsmith
17499679SiwasakiACPI_STATUS
17599679SiwasakiAcpiInstallInitializationHandler (
17699679Siwasaki    ACPI_INIT_HANDLER       Handler,
17799679Siwasaki    UINT32                  Function);
17887031Smsmith
17967754Smsmith/*
180151937Sjkim * ACPI Memory managment
18177424Smsmith */
18277424Smsmithvoid *
18377424SmsmithAcpiAllocate (
18477424Smsmith    UINT32                  Size);
18577424Smsmith
18677424Smsmithvoid *
18777424SmsmithAcpiCallocate (
18877424Smsmith    UINT32                  Size);
18977424Smsmith
19077424Smsmithvoid
19177424SmsmithAcpiFree (
19277424Smsmith    void                    *Address);
19377424Smsmith
19477424Smsmith
19577424Smsmith/*
19667754Smsmith * ACPI table manipulation interfaces
19767754Smsmith */
19867754SmsmithACPI_STATUS
199167802SjkimAcpiReallocateRootTable (
200167802Sjkim    void);
201167802Sjkim
202167802SjkimACPI_STATUS
20367754SmsmithAcpiFindRootPointer (
204167802Sjkim    ACPI_NATIVE_UINT        *RsdpAddress);
20567754Smsmith
20667754SmsmithACPI_STATUS
20767754SmsmithAcpiLoadTables (
20880062Smsmith    void);
20967754Smsmith
21067754SmsmithACPI_STATUS
21167754SmsmithAcpiGetTableHeader (
212167802Sjkim    ACPI_STRING             Signature,
213167802Sjkim    ACPI_NATIVE_UINT        Instance,
21467754Smsmith    ACPI_TABLE_HEADER       *OutTableHeader);
21567754Smsmith
21667754SmsmithACPI_STATUS
21767754SmsmithAcpiGetTable (
218167802Sjkim    ACPI_STRING             Signature,
219167802Sjkim    ACPI_NATIVE_UINT        Instance,
220167802Sjkim    ACPI_TABLE_HEADER       **OutTable);
22167754Smsmith
22278986SmsmithACPI_STATUS
223167802SjkimAcpiGetTableByIndex (
224167802Sjkim    ACPI_NATIVE_UINT        TableIndex,
225167802Sjkim    ACPI_TABLE_HEADER       **OutTable);
22667754Smsmith
22778986Smsmith
22867754Smsmith/*
22967754Smsmith * Namespace and name interfaces
23067754Smsmith */
23167754SmsmithACPI_STATUS
23267754SmsmithAcpiWalkNamespace (
23367754Smsmith    ACPI_OBJECT_TYPE        Type,
23467754Smsmith    ACPI_HANDLE             StartObject,
23567754Smsmith    UINT32                  MaxDepth,
23677424Smsmith    ACPI_WALK_CALLBACK      UserFunction,
23767754Smsmith    void                    *Context,
238114237Snjl    void                    **ReturnValue);
23967754Smsmith
24067754SmsmithACPI_STATUS
24167754SmsmithAcpiGetDevices (
242114237Snjl    char                    *HID,
24377424Smsmith    ACPI_WALK_CALLBACK      UserFunction,
24467754Smsmith    void                    *Context,
24567754Smsmith    void                    **ReturnValue);
24667754Smsmith
24767754SmsmithACPI_STATUS
24867754SmsmithAcpiGetName (
24967754Smsmith    ACPI_HANDLE             Handle,
25067754Smsmith    UINT32                  NameType,
25167754Smsmith    ACPI_BUFFER             *RetPathPtr);
25267754Smsmith
25367754SmsmithACPI_STATUS
25467754SmsmithAcpiGetHandle (
25567754Smsmith    ACPI_HANDLE             Parent,
25667754Smsmith    ACPI_STRING             Pathname,
25767754Smsmith    ACPI_HANDLE             *RetHandle);
25867754Smsmith
25987031SmsmithACPI_STATUS
26087031SmsmithAcpiAttachData (
26187031Smsmith    ACPI_HANDLE             ObjHandle,
26287031Smsmith    ACPI_OBJECT_HANDLER     Handler,
26387031Smsmith    void                    *Data);
26467754Smsmith
26587031SmsmithACPI_STATUS
26687031SmsmithAcpiDetachData (
26787031Smsmith    ACPI_HANDLE             ObjHandle,
26887031Smsmith    ACPI_OBJECT_HANDLER     Handler);
26987031Smsmith
27087031SmsmithACPI_STATUS
27187031SmsmithAcpiGetData (
27287031Smsmith    ACPI_HANDLE             ObjHandle,
27387031Smsmith    ACPI_OBJECT_HANDLER     Handler,
27487031Smsmith    void                    **Data);
27587031Smsmith
276151937SjkimACPI_STATUS
277151937SjkimAcpiDebugTrace (
278151937Sjkim    char                    *Name,
279151937Sjkim    UINT32                  DebugLevel,
280151937Sjkim    UINT32                  DebugLayer,
281151937Sjkim    UINT32                  Flags);
28287031Smsmith
283151937Sjkim
28467754Smsmith/*
28567754Smsmith * Object manipulation and enumeration
28667754Smsmith */
28767754SmsmithACPI_STATUS
28867754SmsmithAcpiEvaluateObject (
28967754Smsmith    ACPI_HANDLE             Object,
29067754Smsmith    ACPI_STRING             Pathname,
29167754Smsmith    ACPI_OBJECT_LIST        *ParameterObjects,
29267754Smsmith    ACPI_BUFFER             *ReturnObjectBuffer);
29367754Smsmith
29467754SmsmithACPI_STATUS
29599679SiwasakiAcpiEvaluateObjectTyped (
29699679Siwasaki    ACPI_HANDLE             Object,
29799679Siwasaki    ACPI_STRING             Pathname,
29899679Siwasaki    ACPI_OBJECT_LIST        *ExternalParams,
29999679Siwasaki    ACPI_BUFFER             *ReturnBuffer,
30099679Siwasaki    ACPI_OBJECT_TYPE        ReturnType);
30199679Siwasaki
30299679SiwasakiACPI_STATUS
30367754SmsmithAcpiGetObjectInfo (
304117521Snjl    ACPI_HANDLE             Handle,
305117521Snjl    ACPI_BUFFER             *ReturnBuffer);
30667754Smsmith
30767754SmsmithACPI_STATUS
30867754SmsmithAcpiGetNextObject (
30967754Smsmith    ACPI_OBJECT_TYPE        Type,
31067754Smsmith    ACPI_HANDLE             Parent,
31167754Smsmith    ACPI_HANDLE             Child,
31267754Smsmith    ACPI_HANDLE             *OutHandle);
31367754Smsmith
31467754SmsmithACPI_STATUS
31567754SmsmithAcpiGetType (
31667754Smsmith    ACPI_HANDLE             Object,
31767754Smsmith    ACPI_OBJECT_TYPE        *OutType);
31867754Smsmith
31967754SmsmithACPI_STATUS
32067754SmsmithAcpiGetParent (
32167754Smsmith    ACPI_HANDLE             Object,
32267754Smsmith    ACPI_HANDLE             *OutHandle);
32367754Smsmith
32467754Smsmith
32567754Smsmith/*
32677424Smsmith * Event handler interfaces
32767754Smsmith */
32867754SmsmithACPI_STATUS
32967754SmsmithAcpiInstallFixedEventHandler (
33067754Smsmith    UINT32                  AcpiEvent,
33177424Smsmith    ACPI_EVENT_HANDLER      Handler,
33267754Smsmith    void                    *Context);
33367754Smsmith
33467754SmsmithACPI_STATUS
33567754SmsmithAcpiRemoveFixedEventHandler (
33667754Smsmith    UINT32                  AcpiEvent,
33777424Smsmith    ACPI_EVENT_HANDLER      Handler);
33867754Smsmith
33967754SmsmithACPI_STATUS
34067754SmsmithAcpiInstallNotifyHandler (
34167754Smsmith    ACPI_HANDLE             Device,
34267754Smsmith    UINT32                  HandlerType,
34377424Smsmith    ACPI_NOTIFY_HANDLER     Handler,
34467754Smsmith    void                    *Context);
34567754Smsmith
34667754SmsmithACPI_STATUS
34767754SmsmithAcpiRemoveNotifyHandler (
34867754Smsmith    ACPI_HANDLE             Device,
34967754Smsmith    UINT32                  HandlerType,
35077424Smsmith    ACPI_NOTIFY_HANDLER     Handler);
35167754Smsmith
35267754SmsmithACPI_STATUS
35367754SmsmithAcpiInstallAddressSpaceHandler (
35467754Smsmith    ACPI_HANDLE             Device,
35577424Smsmith    ACPI_ADR_SPACE_TYPE     SpaceId,
35677424Smsmith    ACPI_ADR_SPACE_HANDLER  Handler,
35777424Smsmith    ACPI_ADR_SPACE_SETUP    Setup,
35867754Smsmith    void                    *Context);
35967754Smsmith
36067754SmsmithACPI_STATUS
36167754SmsmithAcpiRemoveAddressSpaceHandler (
36267754Smsmith    ACPI_HANDLE             Device,
36377424Smsmith    ACPI_ADR_SPACE_TYPE     SpaceId,
36477424Smsmith    ACPI_ADR_SPACE_HANDLER  Handler);
36567754Smsmith
36667754SmsmithACPI_STATUS
36767754SmsmithAcpiInstallGpeHandler (
368117521Snjl    ACPI_HANDLE             GpeDevice,
36967754Smsmith    UINT32                  GpeNumber,
37067754Smsmith    UINT32                  Type,
371129684Snjl    ACPI_EVENT_HANDLER      Address,
37267754Smsmith    void                    *Context);
37367754Smsmith
37467754SmsmithACPI_STATUS
375138287SmarksAcpiInstallExceptionHandler (
376138287Smarks    ACPI_EXCEPTION_HANDLER  Handler);
377138287Smarks
378138287Smarks
379138287Smarks/*
380138287Smarks * Event interfaces
381138287Smarks */
382138287SmarksACPI_STATUS
38367754SmsmithAcpiAcquireGlobalLock (
384107325Siwasaki    UINT16                  Timeout,
38591116Smsmith    UINT32                  *Handle);
38667754Smsmith
38767754SmsmithACPI_STATUS
38867754SmsmithAcpiReleaseGlobalLock (
38991116Smsmith    UINT32                  Handle);
39067754Smsmith
39167754SmsmithACPI_STATUS
39267754SmsmithAcpiRemoveGpeHandler (
393117521Snjl    ACPI_HANDLE             GpeDevice,
39467754Smsmith    UINT32                  GpeNumber,
395129684Snjl    ACPI_EVENT_HANDLER      Address);
39667754Smsmith
39767754SmsmithACPI_STATUS
39867754SmsmithAcpiEnableEvent (
399117521Snjl    UINT32                  Event,
40084491Smsmith    UINT32                  Flags);
40167754Smsmith
40267754SmsmithACPI_STATUS
40367754SmsmithAcpiDisableEvent (
404117521Snjl    UINT32                  Event,
40584491Smsmith    UINT32                  Flags);
40667754Smsmith
40767754SmsmithACPI_STATUS
40867754SmsmithAcpiClearEvent (
409117521Snjl    UINT32                  Event);
41067754Smsmith
41167754SmsmithACPI_STATUS
41267754SmsmithAcpiGetEventStatus (
413117521Snjl    UINT32                  Event,
41467754Smsmith    ACPI_EVENT_STATUS       *EventStatus);
41567754Smsmith
416117521SnjlACPI_STATUS
417129684SnjlAcpiSetGpeType (
418129684Snjl    ACPI_HANDLE             GpeDevice,
419129684Snjl    UINT32                  GpeNumber,
420129684Snjl    UINT8                   Type);
421129684Snjl
422129684SnjlACPI_STATUS
423117521SnjlAcpiEnableGpe (
424117521Snjl    ACPI_HANDLE             GpeDevice,
425117521Snjl    UINT32                  GpeNumber,
426117521Snjl    UINT32                  Flags);
427117521Snjl
428117521SnjlACPI_STATUS
429117521SnjlAcpiDisableGpe (
430117521Snjl    ACPI_HANDLE             GpeDevice,
431117521Snjl    UINT32                  GpeNumber,
432117521Snjl    UINT32                  Flags);
433117521Snjl
434117521SnjlACPI_STATUS
435117521SnjlAcpiClearGpe (
436117521Snjl    ACPI_HANDLE             GpeDevice,
437117521Snjl    UINT32                  GpeNumber,
438117521Snjl    UINT32                  Flags);
439117521Snjl
440117521SnjlACPI_STATUS
441117521SnjlAcpiGetGpeStatus (
442117521Snjl    ACPI_HANDLE             GpeDevice,
443117521Snjl    UINT32                  GpeNumber,
444117521Snjl    UINT32                  Flags,
445117521Snjl    ACPI_EVENT_STATUS       *EventStatus);
446117521Snjl
447117521SnjlACPI_STATUS
448117521SnjlAcpiInstallGpeBlock (
449117521Snjl    ACPI_HANDLE             GpeDevice,
450117521Snjl    ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
451117521Snjl    UINT32                  RegisterCount,
452151937Sjkim    UINT32                  InterruptNumber);
453117521Snjl
454117521SnjlACPI_STATUS
455117521SnjlAcpiRemoveGpeBlock (
456117521Snjl    ACPI_HANDLE             GpeDevice);
457117521Snjl
458117521Snjl
45967754Smsmith/*
46067754Smsmith * Resource interfaces
46167754Smsmith */
462114237Snjltypedef
463114237SnjlACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
464114237Snjl    ACPI_RESOURCE           *Resource,
465114237Snjl    void                    *Context);
466114237Snjl
467167802SjkimACPI_STATUS
468167802SjkimAcpiGetVendorResource (
469167802Sjkim    ACPI_HANDLE             DeviceHandle,
470167802Sjkim    char                    *Name,
471167802Sjkim    ACPI_VENDOR_UUID        *Uuid,
472167802Sjkim    ACPI_BUFFER             *RetBuffer);
473114237Snjl
47467754SmsmithACPI_STATUS
47567754SmsmithAcpiGetCurrentResources(
47667754Smsmith    ACPI_HANDLE             DeviceHandle,
47767754Smsmith    ACPI_BUFFER             *RetBuffer);
47867754Smsmith
47967754SmsmithACPI_STATUS
48067754SmsmithAcpiGetPossibleResources(
48167754Smsmith    ACPI_HANDLE             DeviceHandle,
48267754Smsmith    ACPI_BUFFER             *RetBuffer);
48367754Smsmith
48467754SmsmithACPI_STATUS
485114237SnjlAcpiWalkResources (
486167802Sjkim    ACPI_HANDLE                 DeviceHandle,
487167802Sjkim    char                        *Name,
488167802Sjkim    ACPI_WALK_RESOURCE_CALLBACK UserFunction,
489167802Sjkim    void                        *Context);
490114237Snjl
491114237SnjlACPI_STATUS
49267754SmsmithAcpiSetCurrentResources (
49367754Smsmith    ACPI_HANDLE             DeviceHandle,
49467754Smsmith    ACPI_BUFFER             *InBuffer);
49567754Smsmith
49667754SmsmithACPI_STATUS
49767754SmsmithAcpiGetIrqRoutingTable  (
49867754Smsmith    ACPI_HANDLE             BusDeviceHandle,
49967754Smsmith    ACPI_BUFFER             *RetBuffer);
50067754Smsmith
501114237SnjlACPI_STATUS
502114237SnjlAcpiResourceToAddress64 (
503114237Snjl    ACPI_RESOURCE           *Resource,
504114237Snjl    ACPI_RESOURCE_ADDRESS64 *Out);
50567754Smsmith
50667754Smsmith/*
50767754Smsmith * Hardware (ACPI device) interfaces
50867754Smsmith */
50967754SmsmithACPI_STATUS
51099679SiwasakiAcpiGetRegister (
51199679Siwasaki    UINT32                  RegisterId,
512167802Sjkim    UINT32                  *ReturnValue);
51399679Siwasaki
51499679SiwasakiACPI_STATUS
51599679SiwasakiAcpiSetRegister (
51699679Siwasaki    UINT32                  RegisterId,
517167802Sjkim    UINT32                  Value);
51899679Siwasaki
51999679SiwasakiACPI_STATUS
52067754SmsmithAcpiSetFirmwareWakingVector (
52169450Smsmith    ACPI_PHYSICAL_ADDRESS   PhysicalAddress);
52267754Smsmith
52367754SmsmithACPI_STATUS
52467754SmsmithAcpiGetFirmwareWakingVector (
52569450Smsmith    ACPI_PHYSICAL_ADDRESS   *PhysicalAddress);
52667754Smsmith
52799679SiwasakiACPI_STATUS
52899679SiwasakiAcpiGetSleepTypeData (
52999679Siwasaki    UINT8                   SleepState,
53099679Siwasaki    UINT8                   *Slp_TypA,
53199679Siwasaki    UINT8                   *Slp_TypB);
53287031Smsmith
53367754SmsmithACPI_STATUS
53487031SmsmithAcpiEnterSleepStatePrep (
53599679Siwasaki    UINT8                   SleepState);
53687031Smsmith
53787031SmsmithACPI_STATUS
53871867SmsmithAcpiEnterSleepState (
53999679Siwasaki    UINT8                   SleepState);
54071867Smsmith
54171867SmsmithACPI_STATUS
542114237SnjlAcpiEnterSleepStateS4bios (
543114237Snjl    void);
544114237Snjl
545114237SnjlACPI_STATUS
54682367SmsmithAcpiLeaveSleepState (
54799679Siwasaki    UINT8                   SleepState);
54867754Smsmith
54999679Siwasaki
55067754Smsmith#endif /* __ACXFACE_H__ */
551