Home | History | Annotate | Line # | Download | only in include
acpixf.h revision 1.8
      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.8  christos  * Copyright (C) 2000 - 2015, 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 #ifndef __ACXFACE_H__
     45  1.1    jruoho #define __ACXFACE_H__
     46  1.1    jruoho 
     47  1.1    jruoho /* Current ACPICA subsystem version in YYYYMMDD format */
     48  1.1    jruoho 
     49  1.8  christos #define ACPI_CA_VERSION                 0x20150410
     50  1.1    jruoho 
     51  1.6  christos #include "acconfig.h"
     52  1.1    jruoho #include "actypes.h"
     53  1.1    jruoho #include "actbl.h"
     54  1.6  christos #include "acbuffer.h"
     55  1.1    jruoho 
     56  1.7  christos 
     57  1.7  christos /*****************************************************************************
     58  1.7  christos  *
     59  1.7  christos  * Macros used for ACPICA globals and configuration
     60  1.7  christos  *
     61  1.7  christos  ****************************************************************************/
     62  1.7  christos 
     63  1.7  christos /*
     64  1.7  christos  * Ensure that global variables are defined and initialized only once.
     65  1.7  christos  *
     66  1.7  christos  * The use of these macros allows for a single list of globals (here)
     67  1.7  christos  * in order to simplify maintenance of the code.
     68  1.7  christos  */
     69  1.7  christos #ifdef DEFINE_ACPI_GLOBALS
     70  1.7  christos #define ACPI_GLOBAL(type,name) \
     71  1.7  christos     extern type name; \
     72  1.7  christos     type name
     73  1.7  christos 
     74  1.7  christos #define ACPI_INIT_GLOBAL(type,name,value) \
     75  1.7  christos     type name=value
     76  1.7  christos 
     77  1.7  christos #else
     78  1.7  christos #ifndef ACPI_GLOBAL
     79  1.7  christos #define ACPI_GLOBAL(type,name) \
     80  1.7  christos     extern type name
     81  1.7  christos #endif
     82  1.7  christos 
     83  1.7  christos #ifndef ACPI_INIT_GLOBAL
     84  1.7  christos #define ACPI_INIT_GLOBAL(type,name,value) \
     85  1.7  christos     extern type name
     86  1.7  christos #endif
     87  1.7  christos #endif
     88  1.7  christos 
     89  1.7  christos /*
     90  1.7  christos  * These macros configure the various ACPICA interfaces. They are
     91  1.7  christos  * useful for generating stub inline functions for features that are
     92  1.7  christos  * configured out of the current kernel or ACPICA application.
     93  1.7  christos  */
     94  1.7  christos #ifndef ACPI_EXTERNAL_RETURN_STATUS
     95  1.7  christos #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
     96  1.7  christos     Prototype;
     97  1.7  christos #endif
     98  1.7  christos 
     99  1.7  christos #ifndef ACPI_EXTERNAL_RETURN_OK
    100  1.7  christos #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
    101  1.7  christos     Prototype;
    102  1.7  christos #endif
    103  1.7  christos 
    104  1.7  christos #ifndef ACPI_EXTERNAL_RETURN_VOID
    105  1.7  christos #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
    106  1.7  christos     Prototype;
    107  1.7  christos #endif
    108  1.7  christos 
    109  1.7  christos #ifndef ACPI_EXTERNAL_RETURN_UINT32
    110  1.7  christos #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
    111  1.7  christos     Prototype;
    112  1.7  christos #endif
    113  1.7  christos 
    114  1.7  christos #ifndef ACPI_EXTERNAL_RETURN_PTR
    115  1.7  christos #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
    116  1.7  christos     Prototype;
    117  1.7  christos #endif
    118  1.7  christos 
    119  1.7  christos 
    120  1.7  christos /*****************************************************************************
    121  1.7  christos  *
    122  1.7  christos  * Public globals and runtime configuration options
    123  1.7  christos  *
    124  1.7  christos  ****************************************************************************/
    125  1.7  christos 
    126  1.7  christos /*
    127  1.7  christos  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
    128  1.7  christos  * interpreter strictly follows the ACPI specification. Setting to TRUE
    129  1.7  christos  * allows the interpreter to ignore certain errors and/or bad AML constructs.
    130  1.7  christos  *
    131  1.7  christos  * Currently, these features are enabled by this flag:
    132  1.7  christos  *
    133  1.7  christos  * 1) Allow "implicit return" of last value in a control method
    134  1.7  christos  * 2) Allow access beyond the end of an operation region
    135  1.7  christos  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
    136  1.7  christos  * 4) Allow ANY object type to be a source operand for the Store() operator
    137  1.7  christos  * 5) Allow unresolved references (invalid target name) in package objects
    138  1.7  christos  * 6) Enable warning messages for behavior that is not ACPI spec compliant
    139  1.7  christos  */
    140  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
    141  1.7  christos 
    142  1.7  christos /*
    143  1.7  christos  * Automatically serialize all methods that create named objects? Default
    144  1.7  christos  * is TRUE, meaning that all NonSerialized methods are scanned once at
    145  1.7  christos  * table load time to determine those that create named objects. Methods
    146  1.7  christos  * that create named objects are marked Serialized in order to prevent
    147  1.7  christos  * possible run-time problems if they are entered by more than one thread.
    148  1.7  christos  */
    149  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
    150  1.7  christos 
    151  1.7  christos /*
    152  1.7  christos  * Create the predefined _OSI method in the namespace? Default is TRUE
    153  1.7  christos  * because ACPICA is fully compatible with other ACPI implementations.
    154  1.7  christos  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
    155  1.7  christos  */
    156  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
    157  1.7  christos 
    158  1.7  christos /*
    159  1.7  christos  * Optionally use default values for the ACPI register widths. Set this to
    160  1.7  christos  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
    161  1.7  christos  */
    162  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
    163  1.7  christos 
    164  1.7  christos /*
    165  1.7  christos  * Whether or not to verify the table checksum before installation. Set
    166  1.7  christos  * this to TRUE to verify the table checksum before install it to the table
    167  1.7  christos  * manager. Note that enabling this option causes errors to happen in some
    168  1.7  christos  * OSPMs during early initialization stages. Default behavior is to do such
    169  1.7  christos  * verification.
    170  1.7  christos  */
    171  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_VerifyTableChecksum, TRUE);
    172  1.7  christos 
    173  1.7  christos /*
    174  1.7  christos  * Optionally enable output from the AML Debug Object.
    175  1.7  christos  */
    176  1.7  christos ACPI_INIT_GLOBAL (_Bool,            AcpiGbl_EnableAmlDebugObject, FALSE);
    177  1.7  christos 
    178  1.7  christos /*
    179  1.7  christos  * Optionally copy the entire DSDT to local memory (instead of simply
    180  1.7  christos  * mapping it.) There are some BIOSs that corrupt or replace the original
    181  1.7  christos  * DSDT, creating the need for this option. Default is FALSE, do not copy
    182  1.7  christos  * the DSDT.
    183  1.7  christos  */
    184  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
    185  1.7  christos 
    186  1.7  christos /*
    187  1.7  christos  * Optionally ignore an XSDT if present and use the RSDT instead.
    188  1.7  christos  * Although the ACPI specification requires that an XSDT be used instead
    189  1.7  christos  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
    190  1.7  christos  * some machines. Default behavior is to use the XSDT if present.
    191  1.7  christos  */
    192  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
    193  1.7  christos 
    194  1.7  christos /*
    195  1.7  christos  * Optionally use 32-bit FADT addresses if and when there is a conflict
    196  1.7  christos  * (address mismatch) between the 32-bit and 64-bit versions of the
    197  1.7  christos  * address. Although ACPICA adheres to the ACPI specification which
    198  1.7  christos  * requires the use of the corresponding 64-bit address if it is non-zero,
    199  1.7  christos  * some machines have been found to have a corrupted non-zero 64-bit
    200  1.7  christos  * address. Default is FALSE, do not favor the 32-bit addresses.
    201  1.7  christos  */
    202  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
    203  1.7  christos 
    204  1.7  christos /*
    205  1.7  christos  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
    206  1.7  christos  * with other ACPI implementations. NOTE: During ACPICA initialization,
    207  1.7  christos  * this value is set to TRUE if any Windows OSI strings have been
    208  1.7  christos  * requested by the BIOS.
    209  1.7  christos  */
    210  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
    211  1.7  christos 
    212  1.7  christos /*
    213  1.7  christos  * Disable runtime checking and repair of values returned by control methods.
    214  1.7  christos  * Use only if the repair is causing a problem on a particular machine.
    215  1.7  christos  */
    216  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
    217  1.7  christos 
    218  1.7  christos /*
    219  1.7  christos  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
    220  1.7  christos  * This can be useful for debugging ACPI problems on some machines.
    221  1.7  christos  */
    222  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
    223  1.7  christos 
    224  1.7  christos /*
    225  1.7  christos  * We keep track of the latest version of Windows that has been requested by
    226  1.7  christos  * the BIOS. ACPI 5.0.
    227  1.7  christos  */
    228  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
    229  1.7  christos 
    230  1.7  christos /*
    231  1.7  christos  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
    232  1.7  christos  * that the ACPI hardware is no longer required. A flag in the FADT indicates
    233  1.7  christos  * a reduced HW machine, and that flag is duplicated here for convenience.
    234  1.7  christos  */
    235  1.7  christos ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
    236  1.7  christos 
    237  1.7  christos /*
    238  1.7  christos  * This mechanism is used to trace a specified AML method. The method is
    239  1.7  christos  * traced each time it is executed.
    240  1.7  christos  */
    241  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
    242  1.7  christos ACPI_INIT_GLOBAL (ACPI_NAME,        AcpiGbl_TraceMethodName, 0);
    243  1.7  christos 
    244  1.1    jruoho /*
    245  1.7  christos  * Runtime configuration of debug output control masks. We want the debug
    246  1.7  christos  * switches statically initialized so they are already set when the debugger
    247  1.7  christos  * is entered.
    248  1.1    jruoho  */
    249  1.7  christos #ifdef ACPI_DEBUG_OUTPUT
    250  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
    251  1.7  christos #else
    252  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
    253  1.7  christos #endif
    254  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
    255  1.7  christos 
    256  1.7  christos /*
    257  1.7  christos  * Other miscellaneous globals
    258  1.7  christos  */
    259  1.7  christos ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
    260  1.7  christos ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
    261  1.7  christos ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
    262  1.6  christos 
    263  1.6  christos 
    264  1.7  christos /*****************************************************************************
    265  1.7  christos  *
    266  1.7  christos  * ACPICA public interface configuration.
    267  1.7  christos  *
    268  1.7  christos  * Interfaces that are configured out of the ACPICA build are replaced
    269  1.7  christos  * by inlined stubs by default.
    270  1.7  christos  *
    271  1.7  christos  ****************************************************************************/
    272  1.7  christos 
    273  1.6  christos /*
    274  1.7  christos  * Hardware-reduced prototypes (default: Not hardware reduced).
    275  1.7  christos  *
    276  1.7  christos  * All ACPICA hardware-related interfaces that use these macros will be
    277  1.7  christos  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
    278  1.6  christos  * is set to TRUE.
    279  1.7  christos  *
    280  1.7  christos  * Note: This static build option for reduced hardware is intended to
    281  1.7  christos  * reduce ACPICA code size if desired or necessary. However, even if this
    282  1.7  christos  * option is not specified, the runtime behavior of ACPICA is dependent
    283  1.7  christos  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
    284  1.7  christos  * the flag will enable similar behavior -- ACPICA will not attempt
    285  1.7  christos  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
    286  1.6  christos  */
    287  1.6  christos #if (!ACPI_REDUCED_HARDWARE)
    288  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    289  1.7  christos     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
    290  1.6  christos 
    291  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    292  1.7  christos     ACPI_EXTERNAL_RETURN_OK(Prototype)
    293  1.6  christos 
    294  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    295  1.7  christos     ACPI_EXTERNAL_RETURN_VOID(Prototype)
    296  1.6  christos 
    297  1.6  christos #else
    298  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    299  1.6  christos     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
    300  1.6  christos 
    301  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    302  1.6  christos     static ACPI_INLINE Prototype {return(AE_OK);}
    303  1.6  christos 
    304  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    305  1.6  christos     static ACPI_INLINE Prototype {return;}
    306  1.6  christos 
    307  1.6  christos #endif /* !ACPI_REDUCED_HARDWARE */
    308  1.1    jruoho 
    309  1.1    jruoho 
    310  1.1    jruoho /*
    311  1.7  christos  * Error message prototypes (default: error messages enabled).
    312  1.7  christos  *
    313  1.7  christos  * All interfaces related to error and warning messages
    314  1.7  christos  * will be configured out of the ACPICA build if the
    315  1.7  christos  * ACPI_NO_ERROR_MESSAGE flag is defined.
    316  1.7  christos  */
    317  1.7  christos #ifndef ACPI_NO_ERROR_MESSAGES
    318  1.7  christos #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    319  1.7  christos     Prototype;
    320  1.7  christos 
    321  1.7  christos #else
    322  1.7  christos #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    323  1.7  christos     static ACPI_INLINE Prototype {return;}
    324  1.7  christos 
    325  1.7  christos #endif /* ACPI_NO_ERROR_MESSAGES */
    326  1.7  christos 
    327  1.7  christos 
    328  1.7  christos /*
    329  1.7  christos  * Debugging output prototypes (default: no debug output).
    330  1.7  christos  *
    331  1.7  christos  * All interfaces related to debug output messages
    332  1.7  christos  * will be configured out of the ACPICA build unless the
    333  1.7  christos  * ACPI_DEBUG_OUTPUT flag is defined.
    334  1.7  christos  */
    335  1.7  christos #ifdef ACPI_DEBUG_OUTPUT
    336  1.7  christos #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    337  1.7  christos     Prototype;
    338  1.7  christos 
    339  1.7  christos #else
    340  1.7  christos #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    341  1.7  christos     static ACPI_INLINE Prototype {return;}
    342  1.7  christos 
    343  1.7  christos #endif /* ACPI_DEBUG_OUTPUT */
    344  1.7  christos 
    345  1.7  christos 
    346  1.7  christos /*
    347  1.7  christos  * Application prototypes
    348  1.7  christos  *
    349  1.7  christos  * All interfaces used by application will be configured
    350  1.7  christos  * out of the ACPICA build unless the ACPI_APPLICATION
    351  1.7  christos  * flag is defined.
    352  1.7  christos  */
    353  1.7  christos #ifdef ACPI_APPLICATION
    354  1.7  christos #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    355  1.7  christos     Prototype;
    356  1.7  christos 
    357  1.7  christos #else
    358  1.7  christos #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    359  1.7  christos     static ACPI_INLINE Prototype {return;}
    360  1.7  christos 
    361  1.7  christos #endif /* ACPI_APPLICATION */
    362  1.7  christos 
    363  1.7  christos 
    364  1.7  christos /*****************************************************************************
    365  1.7  christos  *
    366  1.7  christos  * ACPICA public interface prototypes
    367  1.7  christos  *
    368  1.7  christos  ****************************************************************************/
    369  1.7  christos 
    370  1.7  christos /*
    371  1.3    jruoho  * Initialization
    372  1.1    jruoho  */
    373  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    374  1.1    jruoho ACPI_STATUS
    375  1.1    jruoho AcpiInitializeTables (
    376  1.1    jruoho     ACPI_TABLE_DESC         *InitialStorage,
    377  1.1    jruoho     UINT32                  InitialTableCount,
    378  1.7  christos     BOOLEAN                 AllowResize))
    379  1.1    jruoho 
    380  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    381  1.1    jruoho ACPI_STATUS
    382  1.1    jruoho AcpiInitializeSubsystem (
    383  1.7  christos     void))
    384  1.1    jruoho 
    385  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    386  1.1    jruoho ACPI_STATUS
    387  1.1    jruoho AcpiEnableSubsystem (
    388  1.7  christos     UINT32                  Flags))
    389  1.1    jruoho 
    390  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    391  1.1    jruoho ACPI_STATUS
    392  1.1    jruoho AcpiInitializeObjects (
    393  1.7  christos     UINT32                  Flags))
    394  1.1    jruoho 
    395  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    396  1.1    jruoho ACPI_STATUS
    397  1.1    jruoho AcpiTerminate (
    398  1.7  christos     void))
    399  1.1    jruoho 
    400  1.3    jruoho 
    401  1.3    jruoho /*
    402  1.3    jruoho  * Miscellaneous global interfaces
    403  1.3    jruoho  */
    404  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    405  1.1    jruoho ACPI_STATUS
    406  1.3    jruoho AcpiEnable (
    407  1.6  christos     void))
    408  1.1    jruoho 
    409  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    410  1.1    jruoho ACPI_STATUS
    411  1.3    jruoho AcpiDisable (
    412  1.6  christos     void))
    413  1.1    jruoho 
    414  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    415  1.1    jruoho ACPI_STATUS
    416  1.3    jruoho AcpiSubsystemStatus (
    417  1.7  christos     void))
    418  1.1    jruoho 
    419  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    420  1.1    jruoho ACPI_STATUS
    421  1.1    jruoho AcpiGetSystemInfo (
    422  1.7  christos     ACPI_BUFFER             *RetBuffer))
    423  1.1    jruoho 
    424  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    425  1.1    jruoho ACPI_STATUS
    426  1.1    jruoho AcpiGetStatistics (
    427  1.7  christos     ACPI_STATISTICS         *Stats))
    428  1.1    jruoho 
    429  1.7  christos ACPI_EXTERNAL_RETURN_PTR (
    430  1.1    jruoho const char *
    431  1.1    jruoho AcpiFormatException (
    432  1.7  christos     ACPI_STATUS             Exception))
    433  1.1    jruoho 
    434  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    435  1.1    jruoho ACPI_STATUS
    436  1.1    jruoho AcpiPurgeCachedObjects (
    437  1.7  christos     void))
    438  1.1    jruoho 
    439  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    440  1.3    jruoho ACPI_STATUS
    441  1.3    jruoho AcpiInstallInterface (
    442  1.7  christos     ACPI_STRING             InterfaceName))
    443  1.3    jruoho 
    444  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    445  1.3    jruoho ACPI_STATUS
    446  1.3    jruoho AcpiRemoveInterface (
    447  1.7  christos     ACPI_STRING             InterfaceName))
    448  1.3    jruoho 
    449  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    450  1.6  christos ACPI_STATUS
    451  1.6  christos AcpiUpdateInterfaces (
    452  1.7  christos     UINT8                   Action))
    453  1.6  christos 
    454  1.7  christos ACPI_EXTERNAL_RETURN_UINT32 (
    455  1.6  christos UINT32
    456  1.6  christos AcpiCheckAddressRange (
    457  1.6  christos     ACPI_ADR_SPACE_TYPE     SpaceId,
    458  1.6  christos     ACPI_PHYSICAL_ADDRESS   Address,
    459  1.6  christos     ACPI_SIZE               Length,
    460  1.7  christos     BOOLEAN                 Warn))
    461  1.6  christos 
    462  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    463  1.6  christos ACPI_STATUS
    464  1.6  christos AcpiDecodePldBuffer (
    465  1.6  christos     UINT8                   *InBuffer,
    466  1.6  christos     ACPI_SIZE               Length,
    467  1.7  christos     ACPI_PLD_INFO           **ReturnBuffer))
    468  1.6  christos 
    469  1.1    jruoho 
    470  1.1    jruoho /*
    471  1.6  christos  * ACPI table load/unload interfaces
    472  1.1    jruoho  */
    473  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    474  1.7  christos ACPI_STATUS
    475  1.7  christos AcpiInstallTable (
    476  1.7  christos     ACPI_PHYSICAL_ADDRESS   Address,
    477  1.7  christos     BOOLEAN                 Physical))
    478  1.7  christos 
    479  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    480  1.6  christos ACPI_STATUS
    481  1.6  christos AcpiLoadTable (
    482  1.7  christos     ACPI_TABLE_HEADER       *Table))
    483  1.6  christos 
    484  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    485  1.6  christos ACPI_STATUS
    486  1.6  christos AcpiUnloadParentTable (
    487  1.7  christos     ACPI_HANDLE             Object))
    488  1.6  christos 
    489  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    490  1.6  christos ACPI_STATUS
    491  1.6  christos AcpiLoadTables (
    492  1.7  christos     void))
    493  1.1    jruoho 
    494  1.1    jruoho 
    495  1.1    jruoho /*
    496  1.1    jruoho  * ACPI table manipulation interfaces
    497  1.1    jruoho  */
    498  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    499  1.1    jruoho ACPI_STATUS
    500  1.1    jruoho AcpiReallocateRootTable (
    501  1.7  christos     void))
    502  1.1    jruoho 
    503  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    504  1.1    jruoho ACPI_STATUS
    505  1.1    jruoho AcpiFindRootPointer (
    506  1.8  christos     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
    507  1.1    jruoho 
    508  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    509  1.1    jruoho ACPI_STATUS
    510  1.1    jruoho AcpiGetTableHeader (
    511  1.2    jruoho     ACPI_CONST_STRING       Signature,
    512  1.1    jruoho     UINT32                  Instance,
    513  1.7  christos     ACPI_TABLE_HEADER       *OutTableHeader))
    514  1.1    jruoho 
    515  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    516  1.1    jruoho ACPI_STATUS
    517  1.1    jruoho AcpiGetTable (
    518  1.2    jruoho     ACPI_CONST_STRING       Signature,
    519  1.1    jruoho     UINT32                  Instance,
    520  1.7  christos     ACPI_TABLE_HEADER       **OutTable))
    521  1.1    jruoho 
    522  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    523  1.1    jruoho ACPI_STATUS
    524  1.1    jruoho AcpiGetTableByIndex (
    525  1.1    jruoho     UINT32                  TableIndex,
    526  1.7  christos     ACPI_TABLE_HEADER       **OutTable))
    527  1.1    jruoho 
    528  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    529  1.1    jruoho ACPI_STATUS
    530  1.1    jruoho AcpiInstallTableHandler (
    531  1.1    jruoho     ACPI_TABLE_HANDLER      Handler,
    532  1.7  christos     void                    *Context))
    533  1.1    jruoho 
    534  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    535  1.1    jruoho ACPI_STATUS
    536  1.1    jruoho AcpiRemoveTableHandler (
    537  1.7  christos     ACPI_TABLE_HANDLER      Handler))
    538  1.1    jruoho 
    539  1.1    jruoho 
    540  1.1    jruoho /*
    541  1.1    jruoho  * Namespace and name interfaces
    542  1.1    jruoho  */
    543  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    544  1.1    jruoho ACPI_STATUS
    545  1.1    jruoho AcpiWalkNamespace (
    546  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    547  1.1    jruoho     ACPI_HANDLE             StartObject,
    548  1.1    jruoho     UINT32                  MaxDepth,
    549  1.6  christos     ACPI_WALK_CALLBACK      DescendingCallback,
    550  1.6  christos     ACPI_WALK_CALLBACK      AscendingCallback,
    551  1.1    jruoho     void                    *Context,
    552  1.7  christos     void                    **ReturnValue))
    553  1.1    jruoho 
    554  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    555  1.1    jruoho ACPI_STATUS
    556  1.1    jruoho AcpiGetDevices (
    557  1.1    jruoho     char                    *HID,
    558  1.1    jruoho     ACPI_WALK_CALLBACK      UserFunction,
    559  1.1    jruoho     void                    *Context,
    560  1.7  christos     void                    **ReturnValue))
    561  1.1    jruoho 
    562  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    563  1.1    jruoho ACPI_STATUS
    564  1.1    jruoho AcpiGetName (
    565  1.1    jruoho     ACPI_HANDLE             Object,
    566  1.1    jruoho     UINT32                  NameType,
    567  1.7  christos     ACPI_BUFFER             *RetPathPtr))
    568  1.1    jruoho 
    569  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    570  1.1    jruoho ACPI_STATUS
    571  1.1    jruoho AcpiGetHandle (
    572  1.1    jruoho     ACPI_HANDLE             Parent,
    573  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    574  1.7  christos     ACPI_HANDLE             *RetHandle))
    575  1.1    jruoho 
    576  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    577  1.1    jruoho ACPI_STATUS
    578  1.1    jruoho AcpiAttachData (
    579  1.1    jruoho     ACPI_HANDLE             Object,
    580  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    581  1.7  christos     void                    *Data))
    582  1.1    jruoho 
    583  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    584  1.1    jruoho ACPI_STATUS
    585  1.1    jruoho AcpiDetachData (
    586  1.1    jruoho     ACPI_HANDLE             Object,
    587  1.7  christos     ACPI_OBJECT_HANDLER     Handler))
    588  1.1    jruoho 
    589  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    590  1.1    jruoho ACPI_STATUS
    591  1.1    jruoho AcpiGetData (
    592  1.1    jruoho     ACPI_HANDLE             Object,
    593  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    594  1.7  christos     void                    **Data))
    595  1.1    jruoho 
    596  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    597  1.1    jruoho ACPI_STATUS
    598  1.1    jruoho AcpiDebugTrace (
    599  1.1    jruoho     char                    *Name,
    600  1.1    jruoho     UINT32                  DebugLevel,
    601  1.1    jruoho     UINT32                  DebugLayer,
    602  1.7  christos     UINT32                  Flags))
    603  1.1    jruoho 
    604  1.1    jruoho 
    605  1.1    jruoho /*
    606  1.1    jruoho  * Object manipulation and enumeration
    607  1.1    jruoho  */
    608  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    609  1.1    jruoho ACPI_STATUS
    610  1.1    jruoho AcpiEvaluateObject (
    611  1.1    jruoho     ACPI_HANDLE             Object,
    612  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    613  1.1    jruoho     ACPI_OBJECT_LIST        *ParameterObjects,
    614  1.7  christos     ACPI_BUFFER             *ReturnObjectBuffer))
    615  1.1    jruoho 
    616  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    617  1.1    jruoho ACPI_STATUS
    618  1.1    jruoho AcpiEvaluateObjectTyped (
    619  1.1    jruoho     ACPI_HANDLE             Object,
    620  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    621  1.1    jruoho     ACPI_OBJECT_LIST        *ExternalParams,
    622  1.1    jruoho     ACPI_BUFFER             *ReturnBuffer,
    623  1.7  christos     ACPI_OBJECT_TYPE        ReturnType))
    624  1.1    jruoho 
    625  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    626  1.1    jruoho ACPI_STATUS
    627  1.1    jruoho AcpiGetObjectInfo (
    628  1.1    jruoho     ACPI_HANDLE             Object,
    629  1.7  christos     ACPI_DEVICE_INFO        **ReturnBuffer))
    630  1.1    jruoho 
    631  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    632  1.1    jruoho ACPI_STATUS
    633  1.1    jruoho AcpiInstallMethod (
    634  1.7  christos     UINT8                   *Buffer))
    635  1.1    jruoho 
    636  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    637  1.1    jruoho ACPI_STATUS
    638  1.1    jruoho AcpiGetNextObject (
    639  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    640  1.1    jruoho     ACPI_HANDLE             Parent,
    641  1.1    jruoho     ACPI_HANDLE             Child,
    642  1.7  christos     ACPI_HANDLE             *OutHandle))
    643  1.1    jruoho 
    644  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    645  1.1    jruoho ACPI_STATUS
    646  1.1    jruoho AcpiGetType (
    647  1.1    jruoho     ACPI_HANDLE             Object,
    648  1.7  christos     ACPI_OBJECT_TYPE        *OutType))
    649  1.1    jruoho 
    650  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    651  1.1    jruoho ACPI_STATUS
    652  1.1    jruoho AcpiGetParent (
    653  1.1    jruoho     ACPI_HANDLE             Object,
    654  1.7  christos     ACPI_HANDLE             *OutHandle))
    655  1.1    jruoho 
    656  1.1    jruoho 
    657  1.1    jruoho /*
    658  1.1    jruoho  * Handler interfaces
    659  1.1    jruoho  */
    660  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    661  1.1    jruoho ACPI_STATUS
    662  1.1    jruoho AcpiInstallInitializationHandler (
    663  1.1    jruoho     ACPI_INIT_HANDLER       Handler,
    664  1.7  christos     UINT32                  Function))
    665  1.1    jruoho 
    666  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    667  1.6  christos ACPI_STATUS
    668  1.6  christos AcpiInstallSciHandler (
    669  1.6  christos     ACPI_SCI_HANDLER        Address,
    670  1.6  christos     void                    *Context))
    671  1.6  christos 
    672  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    673  1.6  christos ACPI_STATUS
    674  1.6  christos AcpiRemoveSciHandler (
    675  1.6  christos     ACPI_SCI_HANDLER        Address))
    676  1.6  christos 
    677  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    678  1.1    jruoho ACPI_STATUS
    679  1.3    jruoho AcpiInstallGlobalEventHandler (
    680  1.3    jruoho     ACPI_GBL_EVENT_HANDLER  Handler,
    681  1.6  christos     void                    *Context))
    682  1.3    jruoho 
    683  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    684  1.3    jruoho ACPI_STATUS
    685  1.1    jruoho AcpiInstallFixedEventHandler (
    686  1.1    jruoho     UINT32                  AcpiEvent,
    687  1.1    jruoho     ACPI_EVENT_HANDLER      Handler,
    688  1.6  christos     void                    *Context))
    689  1.1    jruoho 
    690  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    691  1.1    jruoho ACPI_STATUS
    692  1.1    jruoho AcpiRemoveFixedEventHandler (
    693  1.1    jruoho     UINT32                  AcpiEvent,
    694  1.6  christos     ACPI_EVENT_HANDLER      Handler))
    695  1.1    jruoho 
    696  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    697  1.1    jruoho ACPI_STATUS
    698  1.3    jruoho AcpiInstallGpeHandler (
    699  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    700  1.3    jruoho     UINT32                  GpeNumber,
    701  1.3    jruoho     UINT32                  Type,
    702  1.3    jruoho     ACPI_GPE_HANDLER        Address,
    703  1.6  christos     void                    *Context))
    704  1.3    jruoho 
    705  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    706  1.3    jruoho ACPI_STATUS
    707  1.8  christos AcpiInstallGpeRawHandler (
    708  1.8  christos     ACPI_HANDLE             GpeDevice,
    709  1.8  christos     UINT32                  GpeNumber,
    710  1.8  christos     UINT32                  Type,
    711  1.8  christos     ACPI_GPE_HANDLER        Address,
    712  1.8  christos     void                    *Context))
    713  1.8  christos 
    714  1.8  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    715  1.8  christos ACPI_STATUS
    716  1.3    jruoho AcpiRemoveGpeHandler (
    717  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    718  1.3    jruoho     UINT32                  GpeNumber,
    719  1.6  christos     ACPI_GPE_HANDLER        Address))
    720  1.3    jruoho 
    721  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    722  1.3    jruoho ACPI_STATUS
    723  1.1    jruoho AcpiInstallNotifyHandler (
    724  1.1    jruoho     ACPI_HANDLE             Device,
    725  1.1    jruoho     UINT32                  HandlerType,
    726  1.1    jruoho     ACPI_NOTIFY_HANDLER     Handler,
    727  1.7  christos     void                    *Context))
    728  1.1    jruoho 
    729  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    730  1.1    jruoho ACPI_STATUS
    731  1.1    jruoho AcpiRemoveNotifyHandler (
    732  1.1    jruoho     ACPI_HANDLE             Device,
    733  1.1    jruoho     UINT32                  HandlerType,
    734  1.7  christos     ACPI_NOTIFY_HANDLER     Handler))
    735  1.1    jruoho 
    736  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    737  1.1    jruoho ACPI_STATUS
    738  1.1    jruoho AcpiInstallAddressSpaceHandler (
    739  1.1    jruoho     ACPI_HANDLE             Device,
    740  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    741  1.1    jruoho     ACPI_ADR_SPACE_HANDLER  Handler,
    742  1.1    jruoho     ACPI_ADR_SPACE_SETUP    Setup,
    743  1.7  christos     void                    *Context))
    744  1.1    jruoho 
    745  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    746  1.1    jruoho ACPI_STATUS
    747  1.1    jruoho AcpiRemoveAddressSpaceHandler (
    748  1.1    jruoho     ACPI_HANDLE             Device,
    749  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    750  1.7  christos     ACPI_ADR_SPACE_HANDLER  Handler))
    751  1.1    jruoho 
    752  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    753  1.1    jruoho ACPI_STATUS
    754  1.3    jruoho AcpiInstallExceptionHandler (
    755  1.7  christos     ACPI_EXCEPTION_HANDLER  Handler))
    756  1.1    jruoho 
    757  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    758  1.1    jruoho ACPI_STATUS
    759  1.3    jruoho AcpiInstallInterfaceHandler (
    760  1.7  christos     ACPI_INTERFACE_HANDLER  Handler))
    761  1.1    jruoho 
    762  1.1    jruoho 
    763  1.1    jruoho /*
    764  1.3    jruoho  * Global Lock interfaces
    765  1.1    jruoho  */
    766  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    767  1.1    jruoho ACPI_STATUS
    768  1.1    jruoho AcpiAcquireGlobalLock (
    769  1.1    jruoho     UINT16                  Timeout,
    770  1.6  christos     UINT32                  *Handle))
    771  1.1    jruoho 
    772  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    773  1.1    jruoho ACPI_STATUS
    774  1.1    jruoho AcpiReleaseGlobalLock (
    775  1.6  christos     UINT32                  Handle))
    776  1.6  christos 
    777  1.6  christos 
    778  1.6  christos /*
    779  1.6  christos  * Interfaces to AML mutex objects
    780  1.6  christos  */
    781  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    782  1.6  christos ACPI_STATUS
    783  1.6  christos AcpiAcquireMutex (
    784  1.6  christos     ACPI_HANDLE             Handle,
    785  1.6  christos     ACPI_STRING             Pathname,
    786  1.7  christos     UINT16                  Timeout))
    787  1.6  christos 
    788  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    789  1.6  christos ACPI_STATUS
    790  1.6  christos AcpiReleaseMutex (
    791  1.6  christos     ACPI_HANDLE             Handle,
    792  1.7  christos     ACPI_STRING             Pathname))
    793  1.1    jruoho 
    794  1.3    jruoho 
    795  1.3    jruoho /*
    796  1.3    jruoho  * Fixed Event interfaces
    797  1.3    jruoho  */
    798  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    799  1.1    jruoho ACPI_STATUS
    800  1.1    jruoho AcpiEnableEvent (
    801  1.1    jruoho     UINT32                  Event,
    802  1.6  christos     UINT32                  Flags))
    803  1.1    jruoho 
    804  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    805  1.1    jruoho ACPI_STATUS
    806  1.1    jruoho AcpiDisableEvent (
    807  1.1    jruoho     UINT32                  Event,
    808  1.6  christos     UINT32                  Flags))
    809  1.1    jruoho 
    810  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    811  1.1    jruoho ACPI_STATUS
    812  1.1    jruoho AcpiClearEvent (
    813  1.6  christos     UINT32                  Event))
    814  1.1    jruoho 
    815  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    816  1.1    jruoho ACPI_STATUS
    817  1.1    jruoho AcpiGetEventStatus (
    818  1.1    jruoho     UINT32                  Event,
    819  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    820  1.1    jruoho 
    821  1.1    jruoho 
    822  1.1    jruoho /*
    823  1.3    jruoho  * General Purpose Event (GPE) Interfaces
    824  1.1    jruoho  */
    825  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    826  1.1    jruoho ACPI_STATUS
    827  1.3    jruoho AcpiUpdateAllGpes (
    828  1.6  christos     void))
    829  1.3    jruoho 
    830  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    831  1.3    jruoho ACPI_STATUS
    832  1.3    jruoho AcpiEnableGpe (
    833  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    834  1.6  christos     UINT32                  GpeNumber))
    835  1.3    jruoho 
    836  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    837  1.3    jruoho ACPI_STATUS
    838  1.3    jruoho AcpiDisableGpe (
    839  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    840  1.6  christos     UINT32                  GpeNumber))
    841  1.3    jruoho 
    842  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    843  1.3    jruoho ACPI_STATUS
    844  1.3    jruoho AcpiClearGpe (
    845  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    846  1.6  christos     UINT32                  GpeNumber))
    847  1.3    jruoho 
    848  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    849  1.3    jruoho ACPI_STATUS
    850  1.1    jruoho AcpiSetGpe (
    851  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    852  1.1    jruoho     UINT32                  GpeNumber,
    853  1.6  christos     UINT8                   Action))
    854  1.1    jruoho 
    855  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    856  1.1    jruoho ACPI_STATUS
    857  1.3    jruoho AcpiFinishGpe (
    858  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    859  1.6  christos     UINT32                  GpeNumber))
    860  1.1    jruoho 
    861  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    862  1.1    jruoho ACPI_STATUS
    863  1.7  christos AcpiMarkGpeForWake (
    864  1.7  christos     ACPI_HANDLE             GpeDevice,
    865  1.7  christos     UINT32                  GpeNumber))
    866  1.7  christos 
    867  1.7  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    868  1.7  christos ACPI_STATUS
    869  1.3    jruoho AcpiSetupGpeForWake (
    870  1.3    jruoho     ACPI_HANDLE             ParentDevice,
    871  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    872  1.6  christos     UINT32                  GpeNumber))
    873  1.1    jruoho 
    874  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    875  1.1    jruoho ACPI_STATUS
    876  1.3    jruoho AcpiSetGpeWakeMask (
    877  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    878  1.3    jruoho     UINT32                  GpeNumber,
    879  1.6  christos     UINT8                   Action))
    880  1.1    jruoho 
    881  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    882  1.1    jruoho ACPI_STATUS
    883  1.1    jruoho AcpiGetGpeStatus (
    884  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    885  1.1    jruoho     UINT32                  GpeNumber,
    886  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    887  1.1    jruoho 
    888  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    889  1.1    jruoho ACPI_STATUS
    890  1.1    jruoho AcpiDisableAllGpes (
    891  1.6  christos     void))
    892  1.1    jruoho 
    893  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    894  1.1    jruoho ACPI_STATUS
    895  1.1    jruoho AcpiEnableAllRuntimeGpes (
    896  1.6  christos     void))
    897  1.1    jruoho 
    898  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    899  1.1    jruoho ACPI_STATUS
    900  1.8  christos AcpiEnableAllWakeupGpes (
    901  1.8  christos     void))
    902  1.8  christos 
    903  1.8  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    904  1.8  christos ACPI_STATUS
    905  1.1    jruoho AcpiGetGpeDevice (
    906  1.1    jruoho     UINT32                  GpeIndex,
    907  1.6  christos     ACPI_HANDLE             *GpeDevice))
    908  1.1    jruoho 
    909  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    910  1.1    jruoho ACPI_STATUS
    911  1.1    jruoho AcpiInstallGpeBlock (
    912  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    913  1.1    jruoho     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
    914  1.1    jruoho     UINT32                  RegisterCount,
    915  1.6  christos     UINT32                  InterruptNumber))
    916  1.1    jruoho 
    917  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    918  1.1    jruoho ACPI_STATUS
    919  1.1    jruoho AcpiRemoveGpeBlock (
    920  1.6  christos     ACPI_HANDLE             GpeDevice))
    921  1.1    jruoho 
    922  1.1    jruoho 
    923  1.1    jruoho /*
    924  1.1    jruoho  * Resource interfaces
    925  1.1    jruoho  */
    926  1.1    jruoho typedef
    927  1.1    jruoho ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
    928  1.1    jruoho     ACPI_RESOURCE           *Resource,
    929  1.1    jruoho     void                    *Context);
    930  1.1    jruoho 
    931  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    932  1.1    jruoho ACPI_STATUS
    933  1.1    jruoho AcpiGetVendorResource (
    934  1.1    jruoho     ACPI_HANDLE             Device,
    935  1.1    jruoho     char                    *Name,
    936  1.1    jruoho     ACPI_VENDOR_UUID        *Uuid,
    937  1.7  christos     ACPI_BUFFER             *RetBuffer))
    938  1.1    jruoho 
    939  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    940  1.1    jruoho ACPI_STATUS
    941  1.1    jruoho AcpiGetCurrentResources (
    942  1.1    jruoho     ACPI_HANDLE             Device,
    943  1.7  christos     ACPI_BUFFER             *RetBuffer))
    944  1.1    jruoho 
    945  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    946  1.1    jruoho ACPI_STATUS
    947  1.1    jruoho AcpiGetPossibleResources (
    948  1.1    jruoho     ACPI_HANDLE             Device,
    949  1.7  christos     ACPI_BUFFER             *RetBuffer))
    950  1.1    jruoho 
    951  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    952  1.1    jruoho ACPI_STATUS
    953  1.6  christos AcpiGetEventResources (
    954  1.6  christos     ACPI_HANDLE             DeviceHandle,
    955  1.7  christos     ACPI_BUFFER             *RetBuffer))
    956  1.6  christos 
    957  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    958  1.6  christos ACPI_STATUS
    959  1.6  christos AcpiWalkResourceBuffer (
    960  1.6  christos     ACPI_BUFFER                 *Buffer,
    961  1.6  christos     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    962  1.7  christos     void                        *Context))
    963  1.6  christos 
    964  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    965  1.6  christos ACPI_STATUS
    966  1.1    jruoho AcpiWalkResources (
    967  1.1    jruoho     ACPI_HANDLE                 Device,
    968  1.2    jruoho     const char                  *Name,
    969  1.1    jruoho     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    970  1.7  christos     void                        *Context))
    971  1.1    jruoho 
    972  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    973  1.1    jruoho ACPI_STATUS
    974  1.1    jruoho AcpiSetCurrentResources (
    975  1.1    jruoho     ACPI_HANDLE             Device,
    976  1.7  christos     ACPI_BUFFER             *InBuffer))
    977  1.1    jruoho 
    978  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    979  1.1    jruoho ACPI_STATUS
    980  1.1    jruoho AcpiGetIrqRoutingTable (
    981  1.1    jruoho     ACPI_HANDLE             Device,
    982  1.7  christos     ACPI_BUFFER             *RetBuffer))
    983  1.1    jruoho 
    984  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    985  1.1    jruoho ACPI_STATUS
    986  1.1    jruoho AcpiResourceToAddress64 (
    987  1.1    jruoho     ACPI_RESOURCE           *Resource,
    988  1.7  christos     ACPI_RESOURCE_ADDRESS64 *Out))
    989  1.1    jruoho 
    990  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    991  1.6  christos ACPI_STATUS
    992  1.6  christos AcpiBufferToResource (
    993  1.6  christos     UINT8                   *AmlBuffer,
    994  1.6  christos     UINT16                  AmlBufferLength,
    995  1.7  christos     ACPI_RESOURCE           **ResourcePtr))
    996  1.6  christos 
    997  1.1    jruoho 
    998  1.1    jruoho /*
    999  1.1    jruoho  * Hardware (ACPI device) interfaces
   1000  1.1    jruoho  */
   1001  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1002  1.1    jruoho ACPI_STATUS
   1003  1.1    jruoho AcpiReset (
   1004  1.7  christos     void))
   1005  1.1    jruoho 
   1006  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1007  1.1    jruoho ACPI_STATUS
   1008  1.1    jruoho AcpiRead (
   1009  1.1    jruoho     UINT64                  *Value,
   1010  1.7  christos     ACPI_GENERIC_ADDRESS    *Reg))
   1011  1.1    jruoho 
   1012  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1013  1.1    jruoho ACPI_STATUS
   1014  1.1    jruoho AcpiWrite (
   1015  1.1    jruoho     UINT64                  Value,
   1016  1.7  christos     ACPI_GENERIC_ADDRESS    *Reg))
   1017  1.1    jruoho 
   1018  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1019  1.1    jruoho ACPI_STATUS
   1020  1.1    jruoho AcpiReadBitRegister (
   1021  1.1    jruoho     UINT32                  RegisterId,
   1022  1.6  christos     UINT32                  *ReturnValue))
   1023  1.1    jruoho 
   1024  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1025  1.1    jruoho ACPI_STATUS
   1026  1.1    jruoho AcpiWriteBitRegister (
   1027  1.1    jruoho     UINT32                  RegisterId,
   1028  1.6  christos     UINT32                  Value))
   1029  1.1    jruoho 
   1030  1.6  christos 
   1031  1.6  christos /*
   1032  1.6  christos  * Sleep/Wake interfaces
   1033  1.6  christos  */
   1034  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1035  1.1    jruoho ACPI_STATUS
   1036  1.1    jruoho AcpiGetSleepTypeData (
   1037  1.1    jruoho     UINT8                   SleepState,
   1038  1.1    jruoho     UINT8                   *Slp_TypA,
   1039  1.7  christos     UINT8                   *Slp_TypB))
   1040  1.1    jruoho 
   1041  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1042  1.1    jruoho ACPI_STATUS
   1043  1.1    jruoho AcpiEnterSleepStatePrep (
   1044  1.7  christos     UINT8                   SleepState))
   1045  1.1    jruoho 
   1046  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1047  1.1    jruoho ACPI_STATUS
   1048  1.1    jruoho AcpiEnterSleepState (
   1049  1.7  christos     UINT8                   SleepState))
   1050  1.1    jruoho 
   1051  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1052  1.1    jruoho ACPI_STATUS
   1053  1.1    jruoho AcpiEnterSleepStateS4bios (
   1054  1.6  christos     void))
   1055  1.6  christos 
   1056  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1057  1.6  christos ACPI_STATUS
   1058  1.6  christos AcpiLeaveSleepStatePrep (
   1059  1.7  christos     UINT8                   SleepState))
   1060  1.1    jruoho 
   1061  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1062  1.1    jruoho ACPI_STATUS
   1063  1.1    jruoho AcpiLeaveSleepState (
   1064  1.7  christos     UINT8                   SleepState))
   1065  1.6  christos 
   1066  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1067  1.1    jruoho ACPI_STATUS
   1068  1.1    jruoho AcpiSetFirmwareWakingVector (
   1069  1.6  christos     UINT32                  PhysicalAddress))
   1070  1.1    jruoho 
   1071  1.1    jruoho #if ACPI_MACHINE_WIDTH == 64
   1072  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1073  1.1    jruoho ACPI_STATUS
   1074  1.1    jruoho AcpiSetFirmwareWakingVector64 (
   1075  1.6  christos     UINT64                  PhysicalAddress))
   1076  1.1    jruoho #endif
   1077  1.1    jruoho 
   1078  1.1    jruoho 
   1079  1.1    jruoho /*
   1080  1.6  christos  * ACPI Timer interfaces
   1081  1.6  christos  */
   1082  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1083  1.6  christos ACPI_STATUS
   1084  1.6  christos AcpiGetTimerResolution (
   1085  1.6  christos     UINT32                  *Resolution))
   1086  1.6  christos 
   1087  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1088  1.6  christos ACPI_STATUS
   1089  1.6  christos AcpiGetTimer (
   1090  1.6  christos     UINT32                  *Ticks))
   1091  1.6  christos 
   1092  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1093  1.6  christos ACPI_STATUS
   1094  1.6  christos AcpiGetTimerDuration (
   1095  1.6  christos     UINT32                  StartTicks,
   1096  1.6  christos     UINT32                  EndTicks,
   1097  1.6  christos     UINT32                  *TimeElapsed))
   1098  1.6  christos 
   1099  1.6  christos 
   1100  1.6  christos /*
   1101  1.1    jruoho  * Error/Warning output
   1102  1.1    jruoho  */
   1103  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1104  1.6  christos ACPI_PRINTF_LIKE(3)
   1105  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1106  1.1    jruoho AcpiError (
   1107  1.1    jruoho     const char              *ModuleName,
   1108  1.1    jruoho     UINT32                  LineNumber,
   1109  1.1    jruoho     const char              *Format,
   1110  1.7  christos     ...))
   1111  1.1    jruoho 
   1112  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1113  1.6  christos ACPI_PRINTF_LIKE(4)
   1114  1.1    jruoho void  ACPI_INTERNAL_VAR_XFACE
   1115  1.1    jruoho AcpiException (
   1116  1.1    jruoho     const char              *ModuleName,
   1117  1.1    jruoho     UINT32                  LineNumber,
   1118  1.1    jruoho     ACPI_STATUS             Status,
   1119  1.1    jruoho     const char              *Format,
   1120  1.7  christos     ...))
   1121  1.1    jruoho 
   1122  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1123  1.6  christos ACPI_PRINTF_LIKE(3)
   1124  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1125  1.1    jruoho AcpiWarning (
   1126  1.1    jruoho     const char              *ModuleName,
   1127  1.1    jruoho     UINT32                  LineNumber,
   1128  1.1    jruoho     const char              *Format,
   1129  1.7  christos     ...))
   1130  1.1    jruoho 
   1131  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1132  1.6  christos ACPI_PRINTF_LIKE(3)
   1133  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1134  1.1    jruoho AcpiInfo (
   1135  1.1    jruoho     const char              *ModuleName,
   1136  1.1    jruoho     UINT32                  LineNumber,
   1137  1.1    jruoho     const char              *Format,
   1138  1.7  christos     ...))
   1139  1.6  christos 
   1140  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1141  1.6  christos ACPI_PRINTF_LIKE(3)
   1142  1.6  christos void ACPI_INTERNAL_VAR_XFACE
   1143  1.6  christos AcpiBiosError (
   1144  1.6  christos     const char              *ModuleName,
   1145  1.6  christos     UINT32                  LineNumber,
   1146  1.6  christos     const char              *Format,
   1147  1.7  christos     ...))
   1148  1.6  christos 
   1149  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1150  1.6  christos ACPI_PRINTF_LIKE(3)
   1151  1.6  christos void ACPI_INTERNAL_VAR_XFACE
   1152  1.6  christos AcpiBiosWarning (
   1153  1.6  christos     const char              *ModuleName,
   1154  1.6  christos     UINT32                  LineNumber,
   1155  1.6  christos     const char              *Format,
   1156  1.7  christos     ...))
   1157  1.1    jruoho 
   1158  1.1    jruoho 
   1159  1.1    jruoho /*
   1160  1.1    jruoho  * Debug output
   1161  1.1    jruoho  */
   1162  1.7  christos ACPI_DBG_DEPENDENT_RETURN_VOID (
   1163  1.6  christos ACPI_PRINTF_LIKE(6)
   1164  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1165  1.1    jruoho AcpiDebugPrint (
   1166  1.1    jruoho     UINT32                  RequestedDebugLevel,
   1167  1.1    jruoho     UINT32                  LineNumber,
   1168  1.1    jruoho     const char              *FunctionName,
   1169  1.1    jruoho     const char              *ModuleName,
   1170  1.1    jruoho     UINT32                  ComponentId,
   1171  1.1    jruoho     const char              *Format,
   1172  1.7  christos     ...))
   1173  1.1    jruoho 
   1174  1.7  christos ACPI_DBG_DEPENDENT_RETURN_VOID (
   1175  1.6  christos ACPI_PRINTF_LIKE(6)
   1176  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1177  1.1    jruoho AcpiDebugPrintRaw (
   1178  1.1    jruoho     UINT32                  RequestedDebugLevel,
   1179  1.1    jruoho     UINT32                  LineNumber,
   1180  1.1    jruoho     const char              *FunctionName,
   1181  1.1    jruoho     const char              *ModuleName,
   1182  1.1    jruoho     UINT32                  ComponentId,
   1183  1.1    jruoho     const char              *Format,
   1184  1.7  christos     ...))
   1185  1.7  christos 
   1186  1.7  christos ACPI_APP_DEPENDENT_RETURN_VOID (
   1187  1.7  christos ACPI_PRINTF_LIKE(1)
   1188  1.7  christos void ACPI_INTERNAL_VAR_XFACE
   1189  1.7  christos AcpiLogError (
   1190  1.7  christos     const char              *Format,
   1191  1.7  christos     ...))
   1192  1.1    jruoho 
   1193  1.1    jruoho #endif /* __ACXFACE_H__ */
   1194