Home | History | Annotate | Line # | Download | only in include
acpixf.h revision 1.6
      1  1.1    jruoho /******************************************************************************
      2  1.1    jruoho  *
      3  1.1    jruoho  * Name: acpixf.h - External interfaces to the ACPI subsystem
      4  1.1    jruoho  *
      5  1.1    jruoho  *****************************************************************************/
      6  1.1    jruoho 
      7  1.3    jruoho /*
      8  1.6  christos  * Copyright (C) 2000 - 2013, Intel Corp.
      9  1.1    jruoho  * All rights reserved.
     10  1.1    jruoho  *
     11  1.3    jruoho  * Redistribution and use in source and binary forms, with or without
     12  1.3    jruoho  * modification, are permitted provided that the following conditions
     13  1.3    jruoho  * are met:
     14  1.3    jruoho  * 1. Redistributions of source code must retain the above copyright
     15  1.3    jruoho  *    notice, this list of conditions, and the following disclaimer,
     16  1.3    jruoho  *    without modification.
     17  1.3    jruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  1.3    jruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  1.3    jruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  1.3    jruoho  *    including a substantially similar Disclaimer requirement for further
     21  1.3    jruoho  *    binary redistribution.
     22  1.3    jruoho  * 3. Neither the names of the above-listed copyright holders nor the names
     23  1.3    jruoho  *    of any contributors may be used to endorse or promote products derived
     24  1.3    jruoho  *    from this software without specific prior written permission.
     25  1.3    jruoho  *
     26  1.3    jruoho  * Alternatively, this software may be distributed under the terms of the
     27  1.3    jruoho  * GNU General Public License ("GPL") version 2 as published by the Free
     28  1.3    jruoho  * Software Foundation.
     29  1.3    jruoho  *
     30  1.3    jruoho  * NO WARRANTY
     31  1.3    jruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  1.3    jruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  1.3    jruoho  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34  1.3    jruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  1.3    jruoho  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  1.3    jruoho  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  1.3    jruoho  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  1.3    jruoho  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  1.3    jruoho  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  1.3    jruoho  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  1.3    jruoho  * POSSIBILITY OF SUCH DAMAGES.
     42  1.3    jruoho  */
     43  1.1    jruoho 
     44  1.1    jruoho 
     45  1.1    jruoho #ifndef __ACXFACE_H__
     46  1.1    jruoho #define __ACXFACE_H__
     47  1.1    jruoho 
     48  1.1    jruoho /* Current ACPICA subsystem version in YYYYMMDD format */
     49  1.1    jruoho 
     50  1.6  christos #define ACPI_CA_VERSION                 0x20131218
     51  1.1    jruoho 
     52  1.6  christos #include "acconfig.h"
     53  1.1    jruoho #include "actypes.h"
     54  1.1    jruoho #include "actbl.h"
     55  1.6  christos #include "acbuffer.h"
     56  1.1    jruoho 
     57  1.1    jruoho /*
     58  1.1    jruoho  * Globals that are publically available
     59  1.1    jruoho  */
     60  1.1    jruoho extern UINT32               AcpiCurrentGpeCount;
     61  1.1    jruoho extern ACPI_TABLE_FADT      AcpiGbl_FADT;
     62  1.3    jruoho extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
     63  1.6  christos extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
     64  1.6  christos extern UINT8                AcpiGbl_OsiData;
     65  1.1    jruoho 
     66  1.1    jruoho /* Runtime configuration of debug print levels */
     67  1.1    jruoho 
     68  1.1    jruoho extern UINT32               AcpiDbgLevel;
     69  1.1    jruoho extern UINT32               AcpiDbgLayer;
     70  1.1    jruoho 
     71  1.1    jruoho /* ACPICA runtime options */
     72  1.1    jruoho 
     73  1.1    jruoho extern UINT8                AcpiGbl_AllMethodsSerialized;
     74  1.6  christos extern UINT8                AcpiGbl_CopyDsdtLocally;
     75  1.1    jruoho extern UINT8                AcpiGbl_CreateOsiMethod;
     76  1.6  christos extern UINT8                AcpiGbl_DisableAutoRepair;
     77  1.6  christos extern UINT8                AcpiGbl_DisableSsdtTableLoad;
     78  1.6  christos extern UINT8                AcpiGbl_DoNotUseXsdt;
     79  1.6  christos extern _Bool                AcpiGbl_EnableAmlDebugObject;
     80  1.6  christos extern UINT8                AcpiGbl_EnableInterpreterSlack;
     81  1.6  christos extern UINT32               AcpiGbl_TraceFlags;
     82  1.1    jruoho extern ACPI_NAME            AcpiGbl_TraceMethodName;
     83  1.1    jruoho extern UINT8                AcpiGbl_TruncateIoAddresses;
     84  1.6  christos extern UINT8                AcpiGbl_Use32BitFadtAddresses;
     85  1.6  christos extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
     86  1.6  christos 
     87  1.6  christos 
     88  1.6  christos /*
     89  1.6  christos  * Hardware-reduced prototypes. All interfaces that use these macros will
     90  1.6  christos  * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
     91  1.6  christos  * is set to TRUE.
     92  1.6  christos  */
     93  1.6  christos #if (!ACPI_REDUCED_HARDWARE)
     94  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
     95  1.6  christos     Prototype;
     96  1.6  christos 
     97  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
     98  1.6  christos     Prototype;
     99  1.6  christos 
    100  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    101  1.6  christos     Prototype;
    102  1.6  christos 
    103  1.6  christos #else
    104  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    105  1.6  christos     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
    106  1.6  christos 
    107  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    108  1.6  christos     static ACPI_INLINE Prototype {return(AE_OK);}
    109  1.6  christos 
    110  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    111  1.6  christos     static ACPI_INLINE Prototype {return;}
    112  1.6  christos 
    113  1.6  christos #endif /* !ACPI_REDUCED_HARDWARE */
    114  1.1    jruoho 
    115  1.1    jruoho 
    116  1.1    jruoho /*
    117  1.3    jruoho  * Initialization
    118  1.1    jruoho  */
    119  1.1    jruoho ACPI_STATUS
    120  1.1    jruoho AcpiInitializeTables (
    121  1.1    jruoho     ACPI_TABLE_DESC         *InitialStorage,
    122  1.1    jruoho     UINT32                  InitialTableCount,
    123  1.1    jruoho     BOOLEAN                 AllowResize);
    124  1.1    jruoho 
    125  1.1    jruoho ACPI_STATUS
    126  1.1    jruoho AcpiInitializeSubsystem (
    127  1.1    jruoho     void);
    128  1.1    jruoho 
    129  1.1    jruoho ACPI_STATUS
    130  1.1    jruoho AcpiEnableSubsystem (
    131  1.1    jruoho     UINT32                  Flags);
    132  1.1    jruoho 
    133  1.1    jruoho ACPI_STATUS
    134  1.1    jruoho AcpiInitializeObjects (
    135  1.1    jruoho     UINT32                  Flags);
    136  1.1    jruoho 
    137  1.1    jruoho ACPI_STATUS
    138  1.1    jruoho AcpiTerminate (
    139  1.1    jruoho     void);
    140  1.1    jruoho 
    141  1.3    jruoho 
    142  1.3    jruoho /*
    143  1.3    jruoho  * Miscellaneous global interfaces
    144  1.3    jruoho  */
    145  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    146  1.1    jruoho ACPI_STATUS
    147  1.3    jruoho AcpiEnable (
    148  1.6  christos     void))
    149  1.1    jruoho 
    150  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    151  1.1    jruoho ACPI_STATUS
    152  1.3    jruoho AcpiDisable (
    153  1.6  christos     void))
    154  1.1    jruoho 
    155  1.1    jruoho ACPI_STATUS
    156  1.3    jruoho AcpiSubsystemStatus (
    157  1.1    jruoho     void);
    158  1.1    jruoho 
    159  1.1    jruoho ACPI_STATUS
    160  1.1    jruoho AcpiGetSystemInfo (
    161  1.1    jruoho     ACPI_BUFFER             *RetBuffer);
    162  1.1    jruoho 
    163  1.1    jruoho ACPI_STATUS
    164  1.1    jruoho AcpiGetStatistics (
    165  1.1    jruoho     ACPI_STATISTICS         *Stats);
    166  1.1    jruoho 
    167  1.1    jruoho const char *
    168  1.1    jruoho AcpiFormatException (
    169  1.1    jruoho     ACPI_STATUS             Exception);
    170  1.1    jruoho 
    171  1.1    jruoho ACPI_STATUS
    172  1.1    jruoho AcpiPurgeCachedObjects (
    173  1.1    jruoho     void);
    174  1.1    jruoho 
    175  1.3    jruoho ACPI_STATUS
    176  1.3    jruoho AcpiInstallInterface (
    177  1.3    jruoho     ACPI_STRING             InterfaceName);
    178  1.3    jruoho 
    179  1.3    jruoho ACPI_STATUS
    180  1.3    jruoho AcpiRemoveInterface (
    181  1.3    jruoho     ACPI_STRING             InterfaceName);
    182  1.3    jruoho 
    183  1.6  christos ACPI_STATUS
    184  1.6  christos AcpiUpdateInterfaces (
    185  1.6  christos     UINT8                   Action);
    186  1.6  christos 
    187  1.6  christos UINT32
    188  1.6  christos AcpiCheckAddressRange (
    189  1.6  christos     ACPI_ADR_SPACE_TYPE     SpaceId,
    190  1.6  christos     ACPI_PHYSICAL_ADDRESS   Address,
    191  1.6  christos     ACPI_SIZE               Length,
    192  1.6  christos     BOOLEAN                 Warn);
    193  1.6  christos 
    194  1.6  christos ACPI_STATUS
    195  1.6  christos AcpiDecodePldBuffer (
    196  1.6  christos     UINT8                   *InBuffer,
    197  1.6  christos     ACPI_SIZE               Length,
    198  1.6  christos     ACPI_PLD_INFO           **ReturnBuffer);
    199  1.6  christos 
    200  1.1    jruoho 
    201  1.1    jruoho /*
    202  1.6  christos  * ACPI table load/unload interfaces
    203  1.1    jruoho  */
    204  1.6  christos ACPI_STATUS
    205  1.6  christos AcpiLoadTable (
    206  1.6  christos     ACPI_TABLE_HEADER       *Table);
    207  1.6  christos 
    208  1.6  christos ACPI_STATUS
    209  1.6  christos AcpiUnloadParentTable (
    210  1.6  christos     ACPI_HANDLE             Object);
    211  1.6  christos 
    212  1.6  christos ACPI_STATUS
    213  1.6  christos AcpiLoadTables (
    214  1.6  christos     void);
    215  1.1    jruoho 
    216  1.1    jruoho 
    217  1.1    jruoho /*
    218  1.1    jruoho  * ACPI table manipulation interfaces
    219  1.1    jruoho  */
    220  1.1    jruoho ACPI_STATUS
    221  1.1    jruoho AcpiReallocateRootTable (
    222  1.1    jruoho     void);
    223  1.1    jruoho 
    224  1.1    jruoho ACPI_STATUS
    225  1.1    jruoho AcpiFindRootPointer (
    226  1.1    jruoho     ACPI_SIZE               *RsdpAddress);
    227  1.1    jruoho 
    228  1.1    jruoho ACPI_STATUS
    229  1.1    jruoho AcpiGetTableHeader (
    230  1.2    jruoho     ACPI_CONST_STRING       Signature,
    231  1.1    jruoho     UINT32                  Instance,
    232  1.1    jruoho     ACPI_TABLE_HEADER       *OutTableHeader);
    233  1.1    jruoho 
    234  1.1    jruoho ACPI_STATUS
    235  1.1    jruoho AcpiGetTable (
    236  1.2    jruoho     ACPI_CONST_STRING       Signature,
    237  1.1    jruoho     UINT32                  Instance,
    238  1.1    jruoho     ACPI_TABLE_HEADER       **OutTable);
    239  1.1    jruoho 
    240  1.1    jruoho ACPI_STATUS
    241  1.1    jruoho AcpiGetTableByIndex (
    242  1.1    jruoho     UINT32                  TableIndex,
    243  1.1    jruoho     ACPI_TABLE_HEADER       **OutTable);
    244  1.1    jruoho 
    245  1.1    jruoho ACPI_STATUS
    246  1.1    jruoho AcpiInstallTableHandler (
    247  1.1    jruoho     ACPI_TABLE_HANDLER      Handler,
    248  1.1    jruoho     void                    *Context);
    249  1.1    jruoho 
    250  1.1    jruoho ACPI_STATUS
    251  1.1    jruoho AcpiRemoveTableHandler (
    252  1.1    jruoho     ACPI_TABLE_HANDLER      Handler);
    253  1.1    jruoho 
    254  1.1    jruoho 
    255  1.1    jruoho /*
    256  1.1    jruoho  * Namespace and name interfaces
    257  1.1    jruoho  */
    258  1.1    jruoho ACPI_STATUS
    259  1.1    jruoho AcpiWalkNamespace (
    260  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    261  1.1    jruoho     ACPI_HANDLE             StartObject,
    262  1.1    jruoho     UINT32                  MaxDepth,
    263  1.6  christos     ACPI_WALK_CALLBACK      DescendingCallback,
    264  1.6  christos     ACPI_WALK_CALLBACK      AscendingCallback,
    265  1.1    jruoho     void                    *Context,
    266  1.1    jruoho     void                    **ReturnValue);
    267  1.1    jruoho 
    268  1.1    jruoho ACPI_STATUS
    269  1.1    jruoho AcpiGetDevices (
    270  1.1    jruoho     char                    *HID,
    271  1.1    jruoho     ACPI_WALK_CALLBACK      UserFunction,
    272  1.1    jruoho     void                    *Context,
    273  1.1    jruoho     void                    **ReturnValue);
    274  1.1    jruoho 
    275  1.1    jruoho ACPI_STATUS
    276  1.1    jruoho AcpiGetName (
    277  1.1    jruoho     ACPI_HANDLE             Object,
    278  1.1    jruoho     UINT32                  NameType,
    279  1.1    jruoho     ACPI_BUFFER             *RetPathPtr);
    280  1.1    jruoho 
    281  1.1    jruoho ACPI_STATUS
    282  1.1    jruoho AcpiGetHandle (
    283  1.1    jruoho     ACPI_HANDLE             Parent,
    284  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    285  1.1    jruoho     ACPI_HANDLE             *RetHandle);
    286  1.1    jruoho 
    287  1.1    jruoho ACPI_STATUS
    288  1.1    jruoho AcpiAttachData (
    289  1.1    jruoho     ACPI_HANDLE             Object,
    290  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    291  1.1    jruoho     void                    *Data);
    292  1.1    jruoho 
    293  1.1    jruoho ACPI_STATUS
    294  1.1    jruoho AcpiDetachData (
    295  1.1    jruoho     ACPI_HANDLE             Object,
    296  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler);
    297  1.1    jruoho 
    298  1.1    jruoho ACPI_STATUS
    299  1.1    jruoho AcpiGetData (
    300  1.1    jruoho     ACPI_HANDLE             Object,
    301  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    302  1.1    jruoho     void                    **Data);
    303  1.1    jruoho 
    304  1.1    jruoho ACPI_STATUS
    305  1.1    jruoho AcpiDebugTrace (
    306  1.1    jruoho     char                    *Name,
    307  1.1    jruoho     UINT32                  DebugLevel,
    308  1.1    jruoho     UINT32                  DebugLayer,
    309  1.1    jruoho     UINT32                  Flags);
    310  1.1    jruoho 
    311  1.1    jruoho 
    312  1.1    jruoho /*
    313  1.1    jruoho  * Object manipulation and enumeration
    314  1.1    jruoho  */
    315  1.1    jruoho ACPI_STATUS
    316  1.1    jruoho AcpiEvaluateObject (
    317  1.1    jruoho     ACPI_HANDLE             Object,
    318  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    319  1.1    jruoho     ACPI_OBJECT_LIST        *ParameterObjects,
    320  1.1    jruoho     ACPI_BUFFER             *ReturnObjectBuffer);
    321  1.1    jruoho 
    322  1.1    jruoho ACPI_STATUS
    323  1.1    jruoho AcpiEvaluateObjectTyped (
    324  1.1    jruoho     ACPI_HANDLE             Object,
    325  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    326  1.1    jruoho     ACPI_OBJECT_LIST        *ExternalParams,
    327  1.1    jruoho     ACPI_BUFFER             *ReturnBuffer,
    328  1.1    jruoho     ACPI_OBJECT_TYPE        ReturnType);
    329  1.1    jruoho 
    330  1.1    jruoho ACPI_STATUS
    331  1.1    jruoho AcpiGetObjectInfo (
    332  1.1    jruoho     ACPI_HANDLE             Object,
    333  1.1    jruoho     ACPI_DEVICE_INFO        **ReturnBuffer);
    334  1.1    jruoho 
    335  1.1    jruoho ACPI_STATUS
    336  1.1    jruoho AcpiInstallMethod (
    337  1.1    jruoho     UINT8                   *Buffer);
    338  1.1    jruoho 
    339  1.1    jruoho ACPI_STATUS
    340  1.1    jruoho AcpiGetNextObject (
    341  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    342  1.1    jruoho     ACPI_HANDLE             Parent,
    343  1.1    jruoho     ACPI_HANDLE             Child,
    344  1.1    jruoho     ACPI_HANDLE             *OutHandle);
    345  1.1    jruoho 
    346  1.1    jruoho ACPI_STATUS
    347  1.1    jruoho AcpiGetType (
    348  1.1    jruoho     ACPI_HANDLE             Object,
    349  1.1    jruoho     ACPI_OBJECT_TYPE        *OutType);
    350  1.1    jruoho 
    351  1.1    jruoho ACPI_STATUS
    352  1.1    jruoho AcpiGetParent (
    353  1.1    jruoho     ACPI_HANDLE             Object,
    354  1.1    jruoho     ACPI_HANDLE             *OutHandle);
    355  1.1    jruoho 
    356  1.1    jruoho 
    357  1.1    jruoho /*
    358  1.1    jruoho  * Handler interfaces
    359  1.1    jruoho  */
    360  1.1    jruoho ACPI_STATUS
    361  1.1    jruoho AcpiInstallInitializationHandler (
    362  1.1    jruoho     ACPI_INIT_HANDLER       Handler,
    363  1.1    jruoho     UINT32                  Function);
    364  1.1    jruoho 
    365  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    366  1.6  christos ACPI_STATUS
    367  1.6  christos AcpiInstallSciHandler (
    368  1.6  christos     ACPI_SCI_HANDLER        Address,
    369  1.6  christos     void                    *Context))
    370  1.6  christos 
    371  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    372  1.6  christos ACPI_STATUS
    373  1.6  christos AcpiRemoveSciHandler (
    374  1.6  christos     ACPI_SCI_HANDLER        Address))
    375  1.6  christos 
    376  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    377  1.1    jruoho ACPI_STATUS
    378  1.3    jruoho AcpiInstallGlobalEventHandler (
    379  1.3    jruoho     ACPI_GBL_EVENT_HANDLER  Handler,
    380  1.6  christos     void                    *Context))
    381  1.3    jruoho 
    382  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    383  1.3    jruoho ACPI_STATUS
    384  1.1    jruoho AcpiInstallFixedEventHandler (
    385  1.1    jruoho     UINT32                  AcpiEvent,
    386  1.1    jruoho     ACPI_EVENT_HANDLER      Handler,
    387  1.6  christos     void                    *Context))
    388  1.1    jruoho 
    389  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    390  1.1    jruoho ACPI_STATUS
    391  1.1    jruoho AcpiRemoveFixedEventHandler (
    392  1.1    jruoho     UINT32                  AcpiEvent,
    393  1.6  christos     ACPI_EVENT_HANDLER      Handler))
    394  1.1    jruoho 
    395  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    396  1.1    jruoho ACPI_STATUS
    397  1.3    jruoho AcpiInstallGpeHandler (
    398  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    399  1.3    jruoho     UINT32                  GpeNumber,
    400  1.3    jruoho     UINT32                  Type,
    401  1.3    jruoho     ACPI_GPE_HANDLER        Address,
    402  1.6  christos     void                    *Context))
    403  1.3    jruoho 
    404  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    405  1.3    jruoho ACPI_STATUS
    406  1.3    jruoho AcpiRemoveGpeHandler (
    407  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    408  1.3    jruoho     UINT32                  GpeNumber,
    409  1.6  christos     ACPI_GPE_HANDLER        Address))
    410  1.3    jruoho 
    411  1.3    jruoho ACPI_STATUS
    412  1.1    jruoho AcpiInstallNotifyHandler (
    413  1.1    jruoho     ACPI_HANDLE             Device,
    414  1.1    jruoho     UINT32                  HandlerType,
    415  1.1    jruoho     ACPI_NOTIFY_HANDLER     Handler,
    416  1.1    jruoho     void                    *Context);
    417  1.1    jruoho 
    418  1.1    jruoho ACPI_STATUS
    419  1.1    jruoho AcpiRemoveNotifyHandler (
    420  1.1    jruoho     ACPI_HANDLE             Device,
    421  1.1    jruoho     UINT32                  HandlerType,
    422  1.1    jruoho     ACPI_NOTIFY_HANDLER     Handler);
    423  1.1    jruoho 
    424  1.1    jruoho ACPI_STATUS
    425  1.1    jruoho AcpiInstallAddressSpaceHandler (
    426  1.1    jruoho     ACPI_HANDLE             Device,
    427  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    428  1.1    jruoho     ACPI_ADR_SPACE_HANDLER  Handler,
    429  1.1    jruoho     ACPI_ADR_SPACE_SETUP    Setup,
    430  1.1    jruoho     void                    *Context);
    431  1.1    jruoho 
    432  1.1    jruoho ACPI_STATUS
    433  1.1    jruoho AcpiRemoveAddressSpaceHandler (
    434  1.1    jruoho     ACPI_HANDLE             Device,
    435  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    436  1.1    jruoho     ACPI_ADR_SPACE_HANDLER  Handler);
    437  1.1    jruoho 
    438  1.1    jruoho ACPI_STATUS
    439  1.3    jruoho AcpiInstallExceptionHandler (
    440  1.3    jruoho     ACPI_EXCEPTION_HANDLER  Handler);
    441  1.1    jruoho 
    442  1.1    jruoho ACPI_STATUS
    443  1.3    jruoho AcpiInstallInterfaceHandler (
    444  1.3    jruoho     ACPI_INTERFACE_HANDLER  Handler);
    445  1.1    jruoho 
    446  1.1    jruoho 
    447  1.1    jruoho /*
    448  1.3    jruoho  * Global Lock interfaces
    449  1.1    jruoho  */
    450  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    451  1.1    jruoho ACPI_STATUS
    452  1.1    jruoho AcpiAcquireGlobalLock (
    453  1.1    jruoho     UINT16                  Timeout,
    454  1.6  christos     UINT32                  *Handle))
    455  1.1    jruoho 
    456  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    457  1.1    jruoho ACPI_STATUS
    458  1.1    jruoho AcpiReleaseGlobalLock (
    459  1.6  christos     UINT32                  Handle))
    460  1.6  christos 
    461  1.6  christos 
    462  1.6  christos /*
    463  1.6  christos  * Interfaces to AML mutex objects
    464  1.6  christos  */
    465  1.6  christos ACPI_STATUS
    466  1.6  christos AcpiAcquireMutex (
    467  1.6  christos     ACPI_HANDLE             Handle,
    468  1.6  christos     ACPI_STRING             Pathname,
    469  1.6  christos     UINT16                  Timeout);
    470  1.6  christos 
    471  1.6  christos ACPI_STATUS
    472  1.6  christos AcpiReleaseMutex (
    473  1.6  christos     ACPI_HANDLE             Handle,
    474  1.6  christos     ACPI_STRING             Pathname);
    475  1.1    jruoho 
    476  1.3    jruoho 
    477  1.3    jruoho /*
    478  1.3    jruoho  * Fixed Event interfaces
    479  1.3    jruoho  */
    480  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    481  1.1    jruoho ACPI_STATUS
    482  1.1    jruoho AcpiEnableEvent (
    483  1.1    jruoho     UINT32                  Event,
    484  1.6  christos     UINT32                  Flags))
    485  1.1    jruoho 
    486  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    487  1.1    jruoho ACPI_STATUS
    488  1.1    jruoho AcpiDisableEvent (
    489  1.1    jruoho     UINT32                  Event,
    490  1.6  christos     UINT32                  Flags))
    491  1.1    jruoho 
    492  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    493  1.1    jruoho ACPI_STATUS
    494  1.1    jruoho AcpiClearEvent (
    495  1.6  christos     UINT32                  Event))
    496  1.1    jruoho 
    497  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    498  1.1    jruoho ACPI_STATUS
    499  1.1    jruoho AcpiGetEventStatus (
    500  1.1    jruoho     UINT32                  Event,
    501  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    502  1.1    jruoho 
    503  1.1    jruoho 
    504  1.1    jruoho /*
    505  1.3    jruoho  * General Purpose Event (GPE) Interfaces
    506  1.1    jruoho  */
    507  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    508  1.1    jruoho ACPI_STATUS
    509  1.3    jruoho AcpiUpdateAllGpes (
    510  1.6  christos     void))
    511  1.3    jruoho 
    512  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    513  1.3    jruoho ACPI_STATUS
    514  1.3    jruoho AcpiEnableGpe (
    515  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    516  1.6  christos     UINT32                  GpeNumber))
    517  1.3    jruoho 
    518  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    519  1.3    jruoho ACPI_STATUS
    520  1.3    jruoho AcpiDisableGpe (
    521  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    522  1.6  christos     UINT32                  GpeNumber))
    523  1.3    jruoho 
    524  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    525  1.3    jruoho ACPI_STATUS
    526  1.3    jruoho AcpiClearGpe (
    527  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    528  1.6  christos     UINT32                  GpeNumber))
    529  1.3    jruoho 
    530  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    531  1.3    jruoho ACPI_STATUS
    532  1.1    jruoho AcpiSetGpe (
    533  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    534  1.1    jruoho     UINT32                  GpeNumber,
    535  1.6  christos     UINT8                   Action))
    536  1.1    jruoho 
    537  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    538  1.1    jruoho ACPI_STATUS
    539  1.3    jruoho AcpiFinishGpe (
    540  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    541  1.6  christos     UINT32                  GpeNumber))
    542  1.1    jruoho 
    543  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    544  1.1    jruoho ACPI_STATUS
    545  1.3    jruoho AcpiSetupGpeForWake (
    546  1.3    jruoho     ACPI_HANDLE             ParentDevice,
    547  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    548  1.6  christos     UINT32                  GpeNumber))
    549  1.1    jruoho 
    550  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    551  1.1    jruoho ACPI_STATUS
    552  1.3    jruoho AcpiSetGpeWakeMask (
    553  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    554  1.3    jruoho     UINT32                  GpeNumber,
    555  1.6  christos     UINT8                   Action))
    556  1.1    jruoho 
    557  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    558  1.1    jruoho ACPI_STATUS
    559  1.1    jruoho AcpiGetGpeStatus (
    560  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    561  1.1    jruoho     UINT32                  GpeNumber,
    562  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    563  1.1    jruoho 
    564  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    565  1.1    jruoho ACPI_STATUS
    566  1.1    jruoho AcpiDisableAllGpes (
    567  1.6  christos     void))
    568  1.1    jruoho 
    569  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    570  1.1    jruoho ACPI_STATUS
    571  1.1    jruoho AcpiEnableAllRuntimeGpes (
    572  1.6  christos     void))
    573  1.1    jruoho 
    574  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    575  1.1    jruoho ACPI_STATUS
    576  1.1    jruoho AcpiGetGpeDevice (
    577  1.1    jruoho     UINT32                  GpeIndex,
    578  1.6  christos     ACPI_HANDLE             *GpeDevice))
    579  1.1    jruoho 
    580  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    581  1.1    jruoho ACPI_STATUS
    582  1.1    jruoho AcpiInstallGpeBlock (
    583  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    584  1.1    jruoho     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
    585  1.1    jruoho     UINT32                  RegisterCount,
    586  1.6  christos     UINT32                  InterruptNumber))
    587  1.1    jruoho 
    588  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    589  1.1    jruoho ACPI_STATUS
    590  1.1    jruoho AcpiRemoveGpeBlock (
    591  1.6  christos     ACPI_HANDLE             GpeDevice))
    592  1.1    jruoho 
    593  1.1    jruoho 
    594  1.1    jruoho /*
    595  1.1    jruoho  * Resource interfaces
    596  1.1    jruoho  */
    597  1.1    jruoho typedef
    598  1.1    jruoho ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
    599  1.1    jruoho     ACPI_RESOURCE           *Resource,
    600  1.1    jruoho     void                    *Context);
    601  1.1    jruoho 
    602  1.1    jruoho ACPI_STATUS
    603  1.1    jruoho AcpiGetVendorResource (
    604  1.1    jruoho     ACPI_HANDLE             Device,
    605  1.1    jruoho     char                    *Name,
    606  1.1    jruoho     ACPI_VENDOR_UUID        *Uuid,
    607  1.1    jruoho     ACPI_BUFFER             *RetBuffer);
    608  1.1    jruoho 
    609  1.1    jruoho ACPI_STATUS
    610  1.1    jruoho AcpiGetCurrentResources (
    611  1.1    jruoho     ACPI_HANDLE             Device,
    612  1.1    jruoho     ACPI_BUFFER             *RetBuffer);
    613  1.1    jruoho 
    614  1.1    jruoho ACPI_STATUS
    615  1.1    jruoho AcpiGetPossibleResources (
    616  1.1    jruoho     ACPI_HANDLE             Device,
    617  1.1    jruoho     ACPI_BUFFER             *RetBuffer);
    618  1.1    jruoho 
    619  1.1    jruoho ACPI_STATUS
    620  1.6  christos AcpiGetEventResources (
    621  1.6  christos     ACPI_HANDLE             DeviceHandle,
    622  1.6  christos     ACPI_BUFFER             *RetBuffer);
    623  1.6  christos 
    624  1.6  christos ACPI_STATUS
    625  1.6  christos AcpiWalkResourceBuffer (
    626  1.6  christos     ACPI_BUFFER                 *Buffer,
    627  1.6  christos     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    628  1.6  christos     void                        *Context);
    629  1.6  christos 
    630  1.6  christos ACPI_STATUS
    631  1.1    jruoho AcpiWalkResources (
    632  1.1    jruoho     ACPI_HANDLE                 Device,
    633  1.2    jruoho     const char                  *Name,
    634  1.1    jruoho     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    635  1.1    jruoho     void                        *Context);
    636  1.1    jruoho 
    637  1.1    jruoho ACPI_STATUS
    638  1.1    jruoho AcpiSetCurrentResources (
    639  1.1    jruoho     ACPI_HANDLE             Device,
    640  1.1    jruoho     ACPI_BUFFER             *InBuffer);
    641  1.1    jruoho 
    642  1.1    jruoho ACPI_STATUS
    643  1.1    jruoho AcpiGetIrqRoutingTable (
    644  1.1    jruoho     ACPI_HANDLE             Device,
    645  1.1    jruoho     ACPI_BUFFER             *RetBuffer);
    646  1.1    jruoho 
    647  1.1    jruoho ACPI_STATUS
    648  1.1    jruoho AcpiResourceToAddress64 (
    649  1.1    jruoho     ACPI_RESOURCE           *Resource,
    650  1.1    jruoho     ACPI_RESOURCE_ADDRESS64 *Out);
    651  1.1    jruoho 
    652  1.6  christos ACPI_STATUS
    653  1.6  christos AcpiBufferToResource (
    654  1.6  christos     UINT8                   *AmlBuffer,
    655  1.6  christos     UINT16                  AmlBufferLength,
    656  1.6  christos     ACPI_RESOURCE           **ResourcePtr);
    657  1.6  christos 
    658  1.1    jruoho 
    659  1.1    jruoho /*
    660  1.1    jruoho  * Hardware (ACPI device) interfaces
    661  1.1    jruoho  */
    662  1.1    jruoho ACPI_STATUS
    663  1.1    jruoho AcpiReset (
    664  1.1    jruoho     void);
    665  1.1    jruoho 
    666  1.1    jruoho ACPI_STATUS
    667  1.1    jruoho AcpiRead (
    668  1.1    jruoho     UINT64                  *Value,
    669  1.1    jruoho     ACPI_GENERIC_ADDRESS    *Reg);
    670  1.1    jruoho 
    671  1.1    jruoho ACPI_STATUS
    672  1.1    jruoho AcpiWrite (
    673  1.1    jruoho     UINT64                  Value,
    674  1.1    jruoho     ACPI_GENERIC_ADDRESS    *Reg);
    675  1.1    jruoho 
    676  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    677  1.1    jruoho ACPI_STATUS
    678  1.1    jruoho AcpiReadBitRegister (
    679  1.1    jruoho     UINT32                  RegisterId,
    680  1.6  christos     UINT32                  *ReturnValue))
    681  1.1    jruoho 
    682  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    683  1.1    jruoho ACPI_STATUS
    684  1.1    jruoho AcpiWriteBitRegister (
    685  1.1    jruoho     UINT32                  RegisterId,
    686  1.6  christos     UINT32                  Value))
    687  1.1    jruoho 
    688  1.6  christos 
    689  1.6  christos /*
    690  1.6  christos  * Sleep/Wake interfaces
    691  1.6  christos  */
    692  1.1    jruoho ACPI_STATUS
    693  1.1    jruoho AcpiGetSleepTypeData (
    694  1.1    jruoho     UINT8                   SleepState,
    695  1.1    jruoho     UINT8                   *Slp_TypA,
    696  1.1    jruoho     UINT8                   *Slp_TypB);
    697  1.1    jruoho 
    698  1.1    jruoho ACPI_STATUS
    699  1.1    jruoho AcpiEnterSleepStatePrep (
    700  1.1    jruoho     UINT8                   SleepState);
    701  1.1    jruoho 
    702  1.1    jruoho ACPI_STATUS
    703  1.1    jruoho AcpiEnterSleepState (
    704  1.1    jruoho     UINT8                   SleepState);
    705  1.1    jruoho 
    706  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    707  1.1    jruoho ACPI_STATUS
    708  1.1    jruoho AcpiEnterSleepStateS4bios (
    709  1.6  christos     void))
    710  1.6  christos 
    711  1.6  christos ACPI_STATUS
    712  1.6  christos AcpiLeaveSleepStatePrep (
    713  1.6  christos     UINT8                   SleepState);
    714  1.1    jruoho 
    715  1.1    jruoho ACPI_STATUS
    716  1.1    jruoho AcpiLeaveSleepState (
    717  1.6  christos     UINT8                   SleepState);
    718  1.6  christos 
    719  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    720  1.1    jruoho ACPI_STATUS
    721  1.1    jruoho AcpiSetFirmwareWakingVector (
    722  1.6  christos     UINT32                  PhysicalAddress))
    723  1.1    jruoho 
    724  1.1    jruoho #if ACPI_MACHINE_WIDTH == 64
    725  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    726  1.1    jruoho ACPI_STATUS
    727  1.1    jruoho AcpiSetFirmwareWakingVector64 (
    728  1.6  christos     UINT64                  PhysicalAddress))
    729  1.1    jruoho #endif
    730  1.1    jruoho 
    731  1.1    jruoho 
    732  1.1    jruoho /*
    733  1.6  christos  * ACPI Timer interfaces
    734  1.6  christos  */
    735  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    736  1.6  christos ACPI_STATUS
    737  1.6  christos AcpiGetTimerResolution (
    738  1.6  christos     UINT32                  *Resolution))
    739  1.6  christos 
    740  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    741  1.6  christos ACPI_STATUS
    742  1.6  christos AcpiGetTimer (
    743  1.6  christos     UINT32                  *Ticks))
    744  1.6  christos 
    745  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    746  1.6  christos ACPI_STATUS
    747  1.6  christos AcpiGetTimerDuration (
    748  1.6  christos     UINT32                  StartTicks,
    749  1.6  christos     UINT32                  EndTicks,
    750  1.6  christos     UINT32                  *TimeElapsed))
    751  1.6  christos 
    752  1.6  christos 
    753  1.6  christos /*
    754  1.1    jruoho  * Error/Warning output
    755  1.1    jruoho  */
    756  1.6  christos ACPI_PRINTF_LIKE(3)
    757  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
    758  1.1    jruoho AcpiError (
    759  1.1    jruoho     const char              *ModuleName,
    760  1.1    jruoho     UINT32                  LineNumber,
    761  1.1    jruoho     const char              *Format,
    762  1.6  christos     ...);
    763  1.1    jruoho 
    764  1.6  christos ACPI_PRINTF_LIKE(4)
    765  1.1    jruoho void  ACPI_INTERNAL_VAR_XFACE
    766  1.1    jruoho AcpiException (
    767  1.1    jruoho     const char              *ModuleName,
    768  1.1    jruoho     UINT32                  LineNumber,
    769  1.1    jruoho     ACPI_STATUS             Status,
    770  1.1    jruoho     const char              *Format,
    771  1.6  christos     ...);
    772  1.1    jruoho 
    773  1.6  christos ACPI_PRINTF_LIKE(3)
    774  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
    775  1.1    jruoho AcpiWarning (
    776  1.1    jruoho     const char              *ModuleName,
    777  1.1    jruoho     UINT32                  LineNumber,
    778  1.1    jruoho     const char              *Format,
    779  1.6  christos     ...);
    780  1.1    jruoho 
    781  1.6  christos ACPI_PRINTF_LIKE(3)
    782  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
    783  1.1    jruoho AcpiInfo (
    784  1.1    jruoho     const char              *ModuleName,
    785  1.1    jruoho     UINT32                  LineNumber,
    786  1.1    jruoho     const char              *Format,
    787  1.6  christos     ...);
    788  1.6  christos 
    789  1.6  christos ACPI_PRINTF_LIKE(3)
    790  1.6  christos void ACPI_INTERNAL_VAR_XFACE
    791  1.6  christos AcpiBiosError (
    792  1.6  christos     const char              *ModuleName,
    793  1.6  christos     UINT32                  LineNumber,
    794  1.6  christos     const char              *Format,
    795  1.6  christos     ...);
    796  1.6  christos 
    797  1.6  christos ACPI_PRINTF_LIKE(3)
    798  1.6  christos void ACPI_INTERNAL_VAR_XFACE
    799  1.6  christos AcpiBiosWarning (
    800  1.6  christos     const char              *ModuleName,
    801  1.6  christos     UINT32                  LineNumber,
    802  1.6  christos     const char              *Format,
    803  1.6  christos     ...);
    804  1.1    jruoho 
    805  1.1    jruoho 
    806  1.1    jruoho /*
    807  1.1    jruoho  * Debug output
    808  1.1    jruoho  */
    809  1.1    jruoho #ifdef ACPI_DEBUG_OUTPUT
    810  1.1    jruoho 
    811  1.6  christos ACPI_PRINTF_LIKE(6)
    812  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
    813  1.1    jruoho AcpiDebugPrint (
    814  1.1    jruoho     UINT32                  RequestedDebugLevel,
    815  1.1    jruoho     UINT32                  LineNumber,
    816  1.1    jruoho     const char              *FunctionName,
    817  1.1    jruoho     const char              *ModuleName,
    818  1.1    jruoho     UINT32                  ComponentId,
    819  1.1    jruoho     const char              *Format,
    820  1.6  christos     ...);
    821  1.1    jruoho 
    822  1.6  christos ACPI_PRINTF_LIKE(6)
    823  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
    824  1.1    jruoho AcpiDebugPrintRaw (
    825  1.1    jruoho     UINT32                  RequestedDebugLevel,
    826  1.1    jruoho     UINT32                  LineNumber,
    827  1.1    jruoho     const char              *FunctionName,
    828  1.1    jruoho     const char              *ModuleName,
    829  1.1    jruoho     UINT32                  ComponentId,
    830  1.1    jruoho     const char              *Format,
    831  1.6  christos     ...);
    832  1.1    jruoho #endif
    833  1.1    jruoho 
    834  1.1    jruoho #endif /* __ACXFACE_H__ */
    835