Home | History | Annotate | Line # | Download | only in include
acpixf.h revision 1.9
      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.9  christos #define ACPI_CA_VERSION                 0x20150717
     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.9  christos  * Optionally use 32-bit FACS table addresses.
    206  1.9  christos  * It is reported that some platforms fail to resume from system suspending
    207  1.9  christos  * if 64-bit FACS table address is selected:
    208  1.9  christos  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
    209  1.9  christos  * Default is TRUE, favor the 32-bit addresses.
    210  1.9  christos  */
    211  1.9  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
    212  1.9  christos 
    213  1.9  christos /*
    214  1.7  christos  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
    215  1.7  christos  * with other ACPI implementations. NOTE: During ACPICA initialization,
    216  1.7  christos  * this value is set to TRUE if any Windows OSI strings have been
    217  1.7  christos  * requested by the BIOS.
    218  1.7  christos  */
    219  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
    220  1.7  christos 
    221  1.7  christos /*
    222  1.7  christos  * Disable runtime checking and repair of values returned by control methods.
    223  1.7  christos  * Use only if the repair is causing a problem on a particular machine.
    224  1.7  christos  */
    225  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
    226  1.7  christos 
    227  1.7  christos /*
    228  1.7  christos  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
    229  1.7  christos  * This can be useful for debugging ACPI problems on some machines.
    230  1.7  christos  */
    231  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
    232  1.7  christos 
    233  1.7  christos /*
    234  1.9  christos  * Optionally enable runtime namespace override.
    235  1.9  christos  */
    236  1.9  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
    237  1.9  christos 
    238  1.9  christos /*
    239  1.7  christos  * We keep track of the latest version of Windows that has been requested by
    240  1.7  christos  * the BIOS. ACPI 5.0.
    241  1.7  christos  */
    242  1.7  christos ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
    243  1.7  christos 
    244  1.7  christos /*
    245  1.7  christos  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
    246  1.7  christos  * that the ACPI hardware is no longer required. A flag in the FADT indicates
    247  1.7  christos  * a reduced HW machine, and that flag is duplicated here for convenience.
    248  1.7  christos  */
    249  1.7  christos ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
    250  1.7  christos 
    251  1.7  christos /*
    252  1.7  christos  * This mechanism is used to trace a specified AML method. The method is
    253  1.7  christos  * traced each time it is executed.
    254  1.7  christos  */
    255  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
    256  1.9  christos ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
    257  1.9  christos ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
    258  1.9  christos ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
    259  1.7  christos 
    260  1.1    jruoho /*
    261  1.7  christos  * Runtime configuration of debug output control masks. We want the debug
    262  1.7  christos  * switches statically initialized so they are already set when the debugger
    263  1.7  christos  * is entered.
    264  1.1    jruoho  */
    265  1.7  christos #ifdef ACPI_DEBUG_OUTPUT
    266  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
    267  1.7  christos #else
    268  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
    269  1.7  christos #endif
    270  1.7  christos ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
    271  1.7  christos 
    272  1.7  christos /*
    273  1.7  christos  * Other miscellaneous globals
    274  1.7  christos  */
    275  1.7  christos ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
    276  1.7  christos ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
    277  1.7  christos ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
    278  1.6  christos 
    279  1.6  christos 
    280  1.7  christos /*****************************************************************************
    281  1.7  christos  *
    282  1.7  christos  * ACPICA public interface configuration.
    283  1.7  christos  *
    284  1.7  christos  * Interfaces that are configured out of the ACPICA build are replaced
    285  1.7  christos  * by inlined stubs by default.
    286  1.7  christos  *
    287  1.7  christos  ****************************************************************************/
    288  1.7  christos 
    289  1.6  christos /*
    290  1.7  christos  * Hardware-reduced prototypes (default: Not hardware reduced).
    291  1.7  christos  *
    292  1.7  christos  * All ACPICA hardware-related interfaces that use these macros will be
    293  1.7  christos  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
    294  1.6  christos  * is set to TRUE.
    295  1.7  christos  *
    296  1.7  christos  * Note: This static build option for reduced hardware is intended to
    297  1.7  christos  * reduce ACPICA code size if desired or necessary. However, even if this
    298  1.7  christos  * option is not specified, the runtime behavior of ACPICA is dependent
    299  1.7  christos  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
    300  1.7  christos  * the flag will enable similar behavior -- ACPICA will not attempt
    301  1.7  christos  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
    302  1.6  christos  */
    303  1.6  christos #if (!ACPI_REDUCED_HARDWARE)
    304  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    305  1.7  christos     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
    306  1.6  christos 
    307  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    308  1.7  christos     ACPI_EXTERNAL_RETURN_OK(Prototype)
    309  1.6  christos 
    310  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    311  1.7  christos     ACPI_EXTERNAL_RETURN_VOID(Prototype)
    312  1.6  christos 
    313  1.6  christos #else
    314  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    315  1.6  christos     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
    316  1.6  christos 
    317  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    318  1.6  christos     static ACPI_INLINE Prototype {return(AE_OK);}
    319  1.6  christos 
    320  1.6  christos #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    321  1.6  christos     static ACPI_INLINE Prototype {return;}
    322  1.6  christos 
    323  1.6  christos #endif /* !ACPI_REDUCED_HARDWARE */
    324  1.1    jruoho 
    325  1.1    jruoho 
    326  1.1    jruoho /*
    327  1.7  christos  * Error message prototypes (default: error messages enabled).
    328  1.7  christos  *
    329  1.7  christos  * All interfaces related to error and warning messages
    330  1.7  christos  * will be configured out of the ACPICA build if the
    331  1.7  christos  * ACPI_NO_ERROR_MESSAGE flag is defined.
    332  1.7  christos  */
    333  1.7  christos #ifndef ACPI_NO_ERROR_MESSAGES
    334  1.7  christos #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    335  1.7  christos     Prototype;
    336  1.7  christos 
    337  1.7  christos #else
    338  1.7  christos #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    339  1.7  christos     static ACPI_INLINE Prototype {return;}
    340  1.7  christos 
    341  1.7  christos #endif /* ACPI_NO_ERROR_MESSAGES */
    342  1.7  christos 
    343  1.7  christos 
    344  1.7  christos /*
    345  1.7  christos  * Debugging output prototypes (default: no debug output).
    346  1.7  christos  *
    347  1.7  christos  * All interfaces related to debug output messages
    348  1.7  christos  * will be configured out of the ACPICA build unless the
    349  1.7  christos  * ACPI_DEBUG_OUTPUT flag is defined.
    350  1.7  christos  */
    351  1.7  christos #ifdef ACPI_DEBUG_OUTPUT
    352  1.7  christos #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    353  1.7  christos     Prototype;
    354  1.7  christos 
    355  1.7  christos #else
    356  1.7  christos #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    357  1.7  christos     static ACPI_INLINE Prototype {return;}
    358  1.7  christos 
    359  1.7  christos #endif /* ACPI_DEBUG_OUTPUT */
    360  1.7  christos 
    361  1.7  christos 
    362  1.7  christos /*
    363  1.7  christos  * Application prototypes
    364  1.7  christos  *
    365  1.7  christos  * All interfaces used by application will be configured
    366  1.7  christos  * out of the ACPICA build unless the ACPI_APPLICATION
    367  1.7  christos  * flag is defined.
    368  1.7  christos  */
    369  1.7  christos #ifdef ACPI_APPLICATION
    370  1.7  christos #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    371  1.7  christos     Prototype;
    372  1.7  christos 
    373  1.7  christos #else
    374  1.7  christos #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    375  1.7  christos     static ACPI_INLINE Prototype {return;}
    376  1.7  christos 
    377  1.7  christos #endif /* ACPI_APPLICATION */
    378  1.7  christos 
    379  1.7  christos 
    380  1.7  christos /*****************************************************************************
    381  1.7  christos  *
    382  1.7  christos  * ACPICA public interface prototypes
    383  1.7  christos  *
    384  1.7  christos  ****************************************************************************/
    385  1.7  christos 
    386  1.7  christos /*
    387  1.3    jruoho  * Initialization
    388  1.1    jruoho  */
    389  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    390  1.1    jruoho ACPI_STATUS
    391  1.1    jruoho AcpiInitializeTables (
    392  1.1    jruoho     ACPI_TABLE_DESC         *InitialStorage,
    393  1.1    jruoho     UINT32                  InitialTableCount,
    394  1.7  christos     BOOLEAN                 AllowResize))
    395  1.1    jruoho 
    396  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    397  1.1    jruoho ACPI_STATUS
    398  1.1    jruoho AcpiInitializeSubsystem (
    399  1.7  christos     void))
    400  1.1    jruoho 
    401  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    402  1.1    jruoho ACPI_STATUS
    403  1.1    jruoho AcpiEnableSubsystem (
    404  1.7  christos     UINT32                  Flags))
    405  1.1    jruoho 
    406  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    407  1.1    jruoho ACPI_STATUS
    408  1.1    jruoho AcpiInitializeObjects (
    409  1.7  christos     UINT32                  Flags))
    410  1.1    jruoho 
    411  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    412  1.1    jruoho ACPI_STATUS
    413  1.1    jruoho AcpiTerminate (
    414  1.7  christos     void))
    415  1.1    jruoho 
    416  1.3    jruoho 
    417  1.3    jruoho /*
    418  1.3    jruoho  * Miscellaneous global interfaces
    419  1.3    jruoho  */
    420  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    421  1.1    jruoho ACPI_STATUS
    422  1.3    jruoho AcpiEnable (
    423  1.6  christos     void))
    424  1.1    jruoho 
    425  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    426  1.1    jruoho ACPI_STATUS
    427  1.3    jruoho AcpiDisable (
    428  1.6  christos     void))
    429  1.1    jruoho 
    430  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    431  1.1    jruoho ACPI_STATUS
    432  1.3    jruoho AcpiSubsystemStatus (
    433  1.7  christos     void))
    434  1.1    jruoho 
    435  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    436  1.1    jruoho ACPI_STATUS
    437  1.1    jruoho AcpiGetSystemInfo (
    438  1.7  christos     ACPI_BUFFER             *RetBuffer))
    439  1.1    jruoho 
    440  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    441  1.1    jruoho ACPI_STATUS
    442  1.1    jruoho AcpiGetStatistics (
    443  1.7  christos     ACPI_STATISTICS         *Stats))
    444  1.1    jruoho 
    445  1.7  christos ACPI_EXTERNAL_RETURN_PTR (
    446  1.1    jruoho const char *
    447  1.1    jruoho AcpiFormatException (
    448  1.7  christos     ACPI_STATUS             Exception))
    449  1.1    jruoho 
    450  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    451  1.1    jruoho ACPI_STATUS
    452  1.1    jruoho AcpiPurgeCachedObjects (
    453  1.7  christos     void))
    454  1.1    jruoho 
    455  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    456  1.3    jruoho ACPI_STATUS
    457  1.3    jruoho AcpiInstallInterface (
    458  1.7  christos     ACPI_STRING             InterfaceName))
    459  1.3    jruoho 
    460  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    461  1.3    jruoho ACPI_STATUS
    462  1.3    jruoho AcpiRemoveInterface (
    463  1.7  christos     ACPI_STRING             InterfaceName))
    464  1.3    jruoho 
    465  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    466  1.6  christos ACPI_STATUS
    467  1.6  christos AcpiUpdateInterfaces (
    468  1.7  christos     UINT8                   Action))
    469  1.6  christos 
    470  1.7  christos ACPI_EXTERNAL_RETURN_UINT32 (
    471  1.6  christos UINT32
    472  1.6  christos AcpiCheckAddressRange (
    473  1.6  christos     ACPI_ADR_SPACE_TYPE     SpaceId,
    474  1.6  christos     ACPI_PHYSICAL_ADDRESS   Address,
    475  1.6  christos     ACPI_SIZE               Length,
    476  1.7  christos     BOOLEAN                 Warn))
    477  1.6  christos 
    478  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    479  1.6  christos ACPI_STATUS
    480  1.6  christos AcpiDecodePldBuffer (
    481  1.6  christos     UINT8                   *InBuffer,
    482  1.6  christos     ACPI_SIZE               Length,
    483  1.7  christos     ACPI_PLD_INFO           **ReturnBuffer))
    484  1.6  christos 
    485  1.1    jruoho 
    486  1.1    jruoho /*
    487  1.6  christos  * ACPI table load/unload interfaces
    488  1.1    jruoho  */
    489  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    490  1.7  christos ACPI_STATUS
    491  1.7  christos AcpiInstallTable (
    492  1.7  christos     ACPI_PHYSICAL_ADDRESS   Address,
    493  1.7  christos     BOOLEAN                 Physical))
    494  1.7  christos 
    495  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    496  1.6  christos ACPI_STATUS
    497  1.6  christos AcpiLoadTable (
    498  1.7  christos     ACPI_TABLE_HEADER       *Table))
    499  1.6  christos 
    500  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    501  1.6  christos ACPI_STATUS
    502  1.6  christos AcpiUnloadParentTable (
    503  1.7  christos     ACPI_HANDLE             Object))
    504  1.6  christos 
    505  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    506  1.6  christos ACPI_STATUS
    507  1.6  christos AcpiLoadTables (
    508  1.7  christos     void))
    509  1.1    jruoho 
    510  1.1    jruoho 
    511  1.1    jruoho /*
    512  1.1    jruoho  * ACPI table manipulation interfaces
    513  1.1    jruoho  */
    514  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    515  1.1    jruoho ACPI_STATUS
    516  1.1    jruoho AcpiReallocateRootTable (
    517  1.7  christos     void))
    518  1.1    jruoho 
    519  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    520  1.1    jruoho ACPI_STATUS
    521  1.1    jruoho AcpiFindRootPointer (
    522  1.8  christos     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
    523  1.1    jruoho 
    524  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    525  1.1    jruoho ACPI_STATUS
    526  1.1    jruoho AcpiGetTableHeader (
    527  1.2    jruoho     ACPI_CONST_STRING       Signature,
    528  1.1    jruoho     UINT32                  Instance,
    529  1.7  christos     ACPI_TABLE_HEADER       *OutTableHeader))
    530  1.1    jruoho 
    531  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    532  1.1    jruoho ACPI_STATUS
    533  1.1    jruoho AcpiGetTable (
    534  1.2    jruoho     ACPI_CONST_STRING       Signature,
    535  1.1    jruoho     UINT32                  Instance,
    536  1.7  christos     ACPI_TABLE_HEADER       **OutTable))
    537  1.1    jruoho 
    538  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    539  1.1    jruoho ACPI_STATUS
    540  1.1    jruoho AcpiGetTableByIndex (
    541  1.1    jruoho     UINT32                  TableIndex,
    542  1.7  christos     ACPI_TABLE_HEADER       **OutTable))
    543  1.1    jruoho 
    544  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    545  1.1    jruoho ACPI_STATUS
    546  1.1    jruoho AcpiInstallTableHandler (
    547  1.1    jruoho     ACPI_TABLE_HANDLER      Handler,
    548  1.7  christos     void                    *Context))
    549  1.1    jruoho 
    550  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    551  1.1    jruoho ACPI_STATUS
    552  1.1    jruoho AcpiRemoveTableHandler (
    553  1.7  christos     ACPI_TABLE_HANDLER      Handler))
    554  1.1    jruoho 
    555  1.1    jruoho 
    556  1.1    jruoho /*
    557  1.1    jruoho  * Namespace and name interfaces
    558  1.1    jruoho  */
    559  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    560  1.1    jruoho ACPI_STATUS
    561  1.1    jruoho AcpiWalkNamespace (
    562  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    563  1.1    jruoho     ACPI_HANDLE             StartObject,
    564  1.1    jruoho     UINT32                  MaxDepth,
    565  1.6  christos     ACPI_WALK_CALLBACK      DescendingCallback,
    566  1.6  christos     ACPI_WALK_CALLBACK      AscendingCallback,
    567  1.1    jruoho     void                    *Context,
    568  1.7  christos     void                    **ReturnValue))
    569  1.1    jruoho 
    570  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    571  1.1    jruoho ACPI_STATUS
    572  1.1    jruoho AcpiGetDevices (
    573  1.1    jruoho     char                    *HID,
    574  1.1    jruoho     ACPI_WALK_CALLBACK      UserFunction,
    575  1.1    jruoho     void                    *Context,
    576  1.7  christos     void                    **ReturnValue))
    577  1.1    jruoho 
    578  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    579  1.1    jruoho ACPI_STATUS
    580  1.1    jruoho AcpiGetName (
    581  1.1    jruoho     ACPI_HANDLE             Object,
    582  1.1    jruoho     UINT32                  NameType,
    583  1.7  christos     ACPI_BUFFER             *RetPathPtr))
    584  1.1    jruoho 
    585  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    586  1.1    jruoho ACPI_STATUS
    587  1.1    jruoho AcpiGetHandle (
    588  1.1    jruoho     ACPI_HANDLE             Parent,
    589  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    590  1.7  christos     ACPI_HANDLE             *RetHandle))
    591  1.1    jruoho 
    592  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    593  1.1    jruoho ACPI_STATUS
    594  1.1    jruoho AcpiAttachData (
    595  1.1    jruoho     ACPI_HANDLE             Object,
    596  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    597  1.7  christos     void                    *Data))
    598  1.1    jruoho 
    599  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    600  1.1    jruoho ACPI_STATUS
    601  1.1    jruoho AcpiDetachData (
    602  1.1    jruoho     ACPI_HANDLE             Object,
    603  1.7  christos     ACPI_OBJECT_HANDLER     Handler))
    604  1.1    jruoho 
    605  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    606  1.1    jruoho ACPI_STATUS
    607  1.1    jruoho AcpiGetData (
    608  1.1    jruoho     ACPI_HANDLE             Object,
    609  1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    610  1.7  christos     void                    **Data))
    611  1.1    jruoho 
    612  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    613  1.1    jruoho ACPI_STATUS
    614  1.1    jruoho AcpiDebugTrace (
    615  1.9  christos     const char              *Name,
    616  1.1    jruoho     UINT32                  DebugLevel,
    617  1.1    jruoho     UINT32                  DebugLayer,
    618  1.7  christos     UINT32                  Flags))
    619  1.1    jruoho 
    620  1.1    jruoho 
    621  1.1    jruoho /*
    622  1.1    jruoho  * Object manipulation and enumeration
    623  1.1    jruoho  */
    624  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    625  1.1    jruoho ACPI_STATUS
    626  1.1    jruoho AcpiEvaluateObject (
    627  1.1    jruoho     ACPI_HANDLE             Object,
    628  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    629  1.1    jruoho     ACPI_OBJECT_LIST        *ParameterObjects,
    630  1.7  christos     ACPI_BUFFER             *ReturnObjectBuffer))
    631  1.1    jruoho 
    632  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    633  1.1    jruoho ACPI_STATUS
    634  1.1    jruoho AcpiEvaluateObjectTyped (
    635  1.1    jruoho     ACPI_HANDLE             Object,
    636  1.2    jruoho     ACPI_CONST_STRING       Pathname,
    637  1.1    jruoho     ACPI_OBJECT_LIST        *ExternalParams,
    638  1.1    jruoho     ACPI_BUFFER             *ReturnBuffer,
    639  1.7  christos     ACPI_OBJECT_TYPE        ReturnType))
    640  1.1    jruoho 
    641  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    642  1.1    jruoho ACPI_STATUS
    643  1.1    jruoho AcpiGetObjectInfo (
    644  1.1    jruoho     ACPI_HANDLE             Object,
    645  1.7  christos     ACPI_DEVICE_INFO        **ReturnBuffer))
    646  1.1    jruoho 
    647  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    648  1.1    jruoho ACPI_STATUS
    649  1.1    jruoho AcpiInstallMethod (
    650  1.7  christos     UINT8                   *Buffer))
    651  1.1    jruoho 
    652  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    653  1.1    jruoho ACPI_STATUS
    654  1.1    jruoho AcpiGetNextObject (
    655  1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    656  1.1    jruoho     ACPI_HANDLE             Parent,
    657  1.1    jruoho     ACPI_HANDLE             Child,
    658  1.7  christos     ACPI_HANDLE             *OutHandle))
    659  1.1    jruoho 
    660  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    661  1.1    jruoho ACPI_STATUS
    662  1.1    jruoho AcpiGetType (
    663  1.1    jruoho     ACPI_HANDLE             Object,
    664  1.7  christos     ACPI_OBJECT_TYPE        *OutType))
    665  1.1    jruoho 
    666  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    667  1.1    jruoho ACPI_STATUS
    668  1.1    jruoho AcpiGetParent (
    669  1.1    jruoho     ACPI_HANDLE             Object,
    670  1.7  christos     ACPI_HANDLE             *OutHandle))
    671  1.1    jruoho 
    672  1.1    jruoho 
    673  1.1    jruoho /*
    674  1.1    jruoho  * Handler interfaces
    675  1.1    jruoho  */
    676  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    677  1.1    jruoho ACPI_STATUS
    678  1.1    jruoho AcpiInstallInitializationHandler (
    679  1.1    jruoho     ACPI_INIT_HANDLER       Handler,
    680  1.7  christos     UINT32                  Function))
    681  1.1    jruoho 
    682  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    683  1.6  christos ACPI_STATUS
    684  1.6  christos AcpiInstallSciHandler (
    685  1.6  christos     ACPI_SCI_HANDLER        Address,
    686  1.6  christos     void                    *Context))
    687  1.6  christos 
    688  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    689  1.6  christos ACPI_STATUS
    690  1.6  christos AcpiRemoveSciHandler (
    691  1.6  christos     ACPI_SCI_HANDLER        Address))
    692  1.6  christos 
    693  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    694  1.1    jruoho ACPI_STATUS
    695  1.3    jruoho AcpiInstallGlobalEventHandler (
    696  1.3    jruoho     ACPI_GBL_EVENT_HANDLER  Handler,
    697  1.6  christos     void                    *Context))
    698  1.3    jruoho 
    699  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    700  1.3    jruoho ACPI_STATUS
    701  1.1    jruoho AcpiInstallFixedEventHandler (
    702  1.1    jruoho     UINT32                  AcpiEvent,
    703  1.1    jruoho     ACPI_EVENT_HANDLER      Handler,
    704  1.6  christos     void                    *Context))
    705  1.1    jruoho 
    706  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    707  1.1    jruoho ACPI_STATUS
    708  1.1    jruoho AcpiRemoveFixedEventHandler (
    709  1.1    jruoho     UINT32                  AcpiEvent,
    710  1.6  christos     ACPI_EVENT_HANDLER      Handler))
    711  1.1    jruoho 
    712  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    713  1.1    jruoho ACPI_STATUS
    714  1.3    jruoho AcpiInstallGpeHandler (
    715  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    716  1.3    jruoho     UINT32                  GpeNumber,
    717  1.3    jruoho     UINT32                  Type,
    718  1.3    jruoho     ACPI_GPE_HANDLER        Address,
    719  1.6  christos     void                    *Context))
    720  1.3    jruoho 
    721  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    722  1.3    jruoho ACPI_STATUS
    723  1.8  christos AcpiInstallGpeRawHandler (
    724  1.8  christos     ACPI_HANDLE             GpeDevice,
    725  1.8  christos     UINT32                  GpeNumber,
    726  1.8  christos     UINT32                  Type,
    727  1.8  christos     ACPI_GPE_HANDLER        Address,
    728  1.8  christos     void                    *Context))
    729  1.8  christos 
    730  1.8  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    731  1.8  christos ACPI_STATUS
    732  1.3    jruoho AcpiRemoveGpeHandler (
    733  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    734  1.3    jruoho     UINT32                  GpeNumber,
    735  1.6  christos     ACPI_GPE_HANDLER        Address))
    736  1.3    jruoho 
    737  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    738  1.3    jruoho ACPI_STATUS
    739  1.1    jruoho AcpiInstallNotifyHandler (
    740  1.1    jruoho     ACPI_HANDLE             Device,
    741  1.1    jruoho     UINT32                  HandlerType,
    742  1.1    jruoho     ACPI_NOTIFY_HANDLER     Handler,
    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 AcpiRemoveNotifyHandler (
    748  1.1    jruoho     ACPI_HANDLE             Device,
    749  1.1    jruoho     UINT32                  HandlerType,
    750  1.7  christos     ACPI_NOTIFY_HANDLER     Handler))
    751  1.1    jruoho 
    752  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    753  1.1    jruoho ACPI_STATUS
    754  1.1    jruoho AcpiInstallAddressSpaceHandler (
    755  1.1    jruoho     ACPI_HANDLE             Device,
    756  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    757  1.1    jruoho     ACPI_ADR_SPACE_HANDLER  Handler,
    758  1.1    jruoho     ACPI_ADR_SPACE_SETUP    Setup,
    759  1.7  christos     void                    *Context))
    760  1.1    jruoho 
    761  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    762  1.1    jruoho ACPI_STATUS
    763  1.1    jruoho AcpiRemoveAddressSpaceHandler (
    764  1.1    jruoho     ACPI_HANDLE             Device,
    765  1.1    jruoho     ACPI_ADR_SPACE_TYPE     SpaceId,
    766  1.7  christos     ACPI_ADR_SPACE_HANDLER  Handler))
    767  1.1    jruoho 
    768  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    769  1.1    jruoho ACPI_STATUS
    770  1.3    jruoho AcpiInstallExceptionHandler (
    771  1.7  christos     ACPI_EXCEPTION_HANDLER  Handler))
    772  1.1    jruoho 
    773  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    774  1.1    jruoho ACPI_STATUS
    775  1.3    jruoho AcpiInstallInterfaceHandler (
    776  1.7  christos     ACPI_INTERFACE_HANDLER  Handler))
    777  1.1    jruoho 
    778  1.1    jruoho 
    779  1.1    jruoho /*
    780  1.3    jruoho  * Global Lock interfaces
    781  1.1    jruoho  */
    782  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    783  1.1    jruoho ACPI_STATUS
    784  1.1    jruoho AcpiAcquireGlobalLock (
    785  1.1    jruoho     UINT16                  Timeout,
    786  1.6  christos     UINT32                  *Handle))
    787  1.1    jruoho 
    788  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    789  1.1    jruoho ACPI_STATUS
    790  1.1    jruoho AcpiReleaseGlobalLock (
    791  1.6  christos     UINT32                  Handle))
    792  1.6  christos 
    793  1.6  christos 
    794  1.6  christos /*
    795  1.6  christos  * Interfaces to AML mutex objects
    796  1.6  christos  */
    797  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    798  1.6  christos ACPI_STATUS
    799  1.6  christos AcpiAcquireMutex (
    800  1.6  christos     ACPI_HANDLE             Handle,
    801  1.6  christos     ACPI_STRING             Pathname,
    802  1.7  christos     UINT16                  Timeout))
    803  1.6  christos 
    804  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    805  1.6  christos ACPI_STATUS
    806  1.6  christos AcpiReleaseMutex (
    807  1.6  christos     ACPI_HANDLE             Handle,
    808  1.7  christos     ACPI_STRING             Pathname))
    809  1.1    jruoho 
    810  1.3    jruoho 
    811  1.3    jruoho /*
    812  1.3    jruoho  * Fixed Event interfaces
    813  1.3    jruoho  */
    814  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    815  1.1    jruoho ACPI_STATUS
    816  1.1    jruoho AcpiEnableEvent (
    817  1.1    jruoho     UINT32                  Event,
    818  1.6  christos     UINT32                  Flags))
    819  1.1    jruoho 
    820  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    821  1.1    jruoho ACPI_STATUS
    822  1.1    jruoho AcpiDisableEvent (
    823  1.1    jruoho     UINT32                  Event,
    824  1.6  christos     UINT32                  Flags))
    825  1.1    jruoho 
    826  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    827  1.1    jruoho ACPI_STATUS
    828  1.1    jruoho AcpiClearEvent (
    829  1.6  christos     UINT32                  Event))
    830  1.1    jruoho 
    831  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    832  1.1    jruoho ACPI_STATUS
    833  1.1    jruoho AcpiGetEventStatus (
    834  1.1    jruoho     UINT32                  Event,
    835  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    836  1.1    jruoho 
    837  1.1    jruoho 
    838  1.1    jruoho /*
    839  1.3    jruoho  * General Purpose Event (GPE) Interfaces
    840  1.1    jruoho  */
    841  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    842  1.1    jruoho ACPI_STATUS
    843  1.3    jruoho AcpiUpdateAllGpes (
    844  1.6  christos     void))
    845  1.3    jruoho 
    846  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    847  1.3    jruoho ACPI_STATUS
    848  1.3    jruoho AcpiEnableGpe (
    849  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    850  1.6  christos     UINT32                  GpeNumber))
    851  1.3    jruoho 
    852  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    853  1.3    jruoho ACPI_STATUS
    854  1.3    jruoho AcpiDisableGpe (
    855  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    856  1.6  christos     UINT32                  GpeNumber))
    857  1.3    jruoho 
    858  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    859  1.3    jruoho ACPI_STATUS
    860  1.3    jruoho AcpiClearGpe (
    861  1.3    jruoho     ACPI_HANDLE             GpeDevice,
    862  1.6  christos     UINT32                  GpeNumber))
    863  1.3    jruoho 
    864  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    865  1.3    jruoho ACPI_STATUS
    866  1.1    jruoho AcpiSetGpe (
    867  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    868  1.1    jruoho     UINT32                  GpeNumber,
    869  1.6  christos     UINT8                   Action))
    870  1.1    jruoho 
    871  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    872  1.1    jruoho ACPI_STATUS
    873  1.3    jruoho AcpiFinishGpe (
    874  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    875  1.6  christos     UINT32                  GpeNumber))
    876  1.1    jruoho 
    877  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    878  1.1    jruoho ACPI_STATUS
    879  1.7  christos AcpiMarkGpeForWake (
    880  1.7  christos     ACPI_HANDLE             GpeDevice,
    881  1.7  christos     UINT32                  GpeNumber))
    882  1.7  christos 
    883  1.7  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    884  1.7  christos ACPI_STATUS
    885  1.3    jruoho AcpiSetupGpeForWake (
    886  1.3    jruoho     ACPI_HANDLE             ParentDevice,
    887  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    888  1.6  christos     UINT32                  GpeNumber))
    889  1.1    jruoho 
    890  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    891  1.1    jruoho ACPI_STATUS
    892  1.3    jruoho AcpiSetGpeWakeMask (
    893  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    894  1.3    jruoho     UINT32                  GpeNumber,
    895  1.6  christos     UINT8                   Action))
    896  1.1    jruoho 
    897  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    898  1.1    jruoho ACPI_STATUS
    899  1.1    jruoho AcpiGetGpeStatus (
    900  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    901  1.1    jruoho     UINT32                  GpeNumber,
    902  1.6  christos     ACPI_EVENT_STATUS       *EventStatus))
    903  1.1    jruoho 
    904  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    905  1.1    jruoho ACPI_STATUS
    906  1.1    jruoho AcpiDisableAllGpes (
    907  1.6  christos     void))
    908  1.1    jruoho 
    909  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    910  1.1    jruoho ACPI_STATUS
    911  1.1    jruoho AcpiEnableAllRuntimeGpes (
    912  1.6  christos     void))
    913  1.1    jruoho 
    914  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    915  1.1    jruoho ACPI_STATUS
    916  1.8  christos AcpiEnableAllWakeupGpes (
    917  1.8  christos     void))
    918  1.8  christos 
    919  1.8  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    920  1.8  christos ACPI_STATUS
    921  1.1    jruoho AcpiGetGpeDevice (
    922  1.1    jruoho     UINT32                  GpeIndex,
    923  1.6  christos     ACPI_HANDLE             *GpeDevice))
    924  1.1    jruoho 
    925  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    926  1.1    jruoho ACPI_STATUS
    927  1.1    jruoho AcpiInstallGpeBlock (
    928  1.1    jruoho     ACPI_HANDLE             GpeDevice,
    929  1.1    jruoho     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
    930  1.1    jruoho     UINT32                  RegisterCount,
    931  1.6  christos     UINT32                  InterruptNumber))
    932  1.1    jruoho 
    933  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
    934  1.1    jruoho ACPI_STATUS
    935  1.1    jruoho AcpiRemoveGpeBlock (
    936  1.6  christos     ACPI_HANDLE             GpeDevice))
    937  1.1    jruoho 
    938  1.1    jruoho 
    939  1.1    jruoho /*
    940  1.1    jruoho  * Resource interfaces
    941  1.1    jruoho  */
    942  1.1    jruoho typedef
    943  1.1    jruoho ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
    944  1.1    jruoho     ACPI_RESOURCE           *Resource,
    945  1.1    jruoho     void                    *Context);
    946  1.1    jruoho 
    947  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    948  1.1    jruoho ACPI_STATUS
    949  1.1    jruoho AcpiGetVendorResource (
    950  1.1    jruoho     ACPI_HANDLE             Device,
    951  1.1    jruoho     char                    *Name,
    952  1.1    jruoho     ACPI_VENDOR_UUID        *Uuid,
    953  1.7  christos     ACPI_BUFFER             *RetBuffer))
    954  1.1    jruoho 
    955  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    956  1.1    jruoho ACPI_STATUS
    957  1.1    jruoho AcpiGetCurrentResources (
    958  1.1    jruoho     ACPI_HANDLE             Device,
    959  1.7  christos     ACPI_BUFFER             *RetBuffer))
    960  1.1    jruoho 
    961  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    962  1.1    jruoho ACPI_STATUS
    963  1.1    jruoho AcpiGetPossibleResources (
    964  1.1    jruoho     ACPI_HANDLE             Device,
    965  1.7  christos     ACPI_BUFFER             *RetBuffer))
    966  1.1    jruoho 
    967  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    968  1.1    jruoho ACPI_STATUS
    969  1.6  christos AcpiGetEventResources (
    970  1.6  christos     ACPI_HANDLE             DeviceHandle,
    971  1.7  christos     ACPI_BUFFER             *RetBuffer))
    972  1.6  christos 
    973  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    974  1.6  christos ACPI_STATUS
    975  1.6  christos AcpiWalkResourceBuffer (
    976  1.6  christos     ACPI_BUFFER                 *Buffer,
    977  1.6  christos     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    978  1.7  christos     void                        *Context))
    979  1.6  christos 
    980  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    981  1.6  christos ACPI_STATUS
    982  1.1    jruoho AcpiWalkResources (
    983  1.1    jruoho     ACPI_HANDLE                 Device,
    984  1.2    jruoho     const char                  *Name,
    985  1.1    jruoho     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
    986  1.7  christos     void                        *Context))
    987  1.1    jruoho 
    988  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    989  1.1    jruoho ACPI_STATUS
    990  1.1    jruoho AcpiSetCurrentResources (
    991  1.1    jruoho     ACPI_HANDLE             Device,
    992  1.7  christos     ACPI_BUFFER             *InBuffer))
    993  1.1    jruoho 
    994  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
    995  1.1    jruoho ACPI_STATUS
    996  1.1    jruoho AcpiGetIrqRoutingTable (
    997  1.1    jruoho     ACPI_HANDLE             Device,
    998  1.7  christos     ACPI_BUFFER             *RetBuffer))
    999  1.1    jruoho 
   1000  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1001  1.1    jruoho ACPI_STATUS
   1002  1.1    jruoho AcpiResourceToAddress64 (
   1003  1.1    jruoho     ACPI_RESOURCE           *Resource,
   1004  1.7  christos     ACPI_RESOURCE_ADDRESS64 *Out))
   1005  1.1    jruoho 
   1006  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1007  1.6  christos ACPI_STATUS
   1008  1.6  christos AcpiBufferToResource (
   1009  1.6  christos     UINT8                   *AmlBuffer,
   1010  1.6  christos     UINT16                  AmlBufferLength,
   1011  1.7  christos     ACPI_RESOURCE           **ResourcePtr))
   1012  1.6  christos 
   1013  1.1    jruoho 
   1014  1.1    jruoho /*
   1015  1.1    jruoho  * Hardware (ACPI device) interfaces
   1016  1.1    jruoho  */
   1017  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1018  1.1    jruoho ACPI_STATUS
   1019  1.1    jruoho AcpiReset (
   1020  1.7  christos     void))
   1021  1.1    jruoho 
   1022  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1023  1.1    jruoho ACPI_STATUS
   1024  1.1    jruoho AcpiRead (
   1025  1.1    jruoho     UINT64                  *Value,
   1026  1.7  christos     ACPI_GENERIC_ADDRESS    *Reg))
   1027  1.1    jruoho 
   1028  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1029  1.1    jruoho ACPI_STATUS
   1030  1.1    jruoho AcpiWrite (
   1031  1.1    jruoho     UINT64                  Value,
   1032  1.7  christos     ACPI_GENERIC_ADDRESS    *Reg))
   1033  1.1    jruoho 
   1034  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1035  1.1    jruoho ACPI_STATUS
   1036  1.1    jruoho AcpiReadBitRegister (
   1037  1.1    jruoho     UINT32                  RegisterId,
   1038  1.6  christos     UINT32                  *ReturnValue))
   1039  1.1    jruoho 
   1040  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1041  1.1    jruoho ACPI_STATUS
   1042  1.1    jruoho AcpiWriteBitRegister (
   1043  1.1    jruoho     UINT32                  RegisterId,
   1044  1.6  christos     UINT32                  Value))
   1045  1.1    jruoho 
   1046  1.6  christos 
   1047  1.6  christos /*
   1048  1.6  christos  * Sleep/Wake interfaces
   1049  1.6  christos  */
   1050  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1051  1.1    jruoho ACPI_STATUS
   1052  1.1    jruoho AcpiGetSleepTypeData (
   1053  1.1    jruoho     UINT8                   SleepState,
   1054  1.1    jruoho     UINT8                   *Slp_TypA,
   1055  1.7  christos     UINT8                   *Slp_TypB))
   1056  1.1    jruoho 
   1057  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1058  1.1    jruoho ACPI_STATUS
   1059  1.1    jruoho AcpiEnterSleepStatePrep (
   1060  1.7  christos     UINT8                   SleepState))
   1061  1.1    jruoho 
   1062  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1063  1.1    jruoho ACPI_STATUS
   1064  1.1    jruoho AcpiEnterSleepState (
   1065  1.7  christos     UINT8                   SleepState))
   1066  1.1    jruoho 
   1067  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1068  1.1    jruoho ACPI_STATUS
   1069  1.1    jruoho AcpiEnterSleepStateS4bios (
   1070  1.6  christos     void))
   1071  1.6  christos 
   1072  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1073  1.6  christos ACPI_STATUS
   1074  1.6  christos AcpiLeaveSleepStatePrep (
   1075  1.7  christos     UINT8                   SleepState))
   1076  1.1    jruoho 
   1077  1.7  christos ACPI_EXTERNAL_RETURN_STATUS (
   1078  1.1    jruoho ACPI_STATUS
   1079  1.1    jruoho AcpiLeaveSleepState (
   1080  1.7  christos     UINT8                   SleepState))
   1081  1.6  christos 
   1082  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1083  1.1    jruoho ACPI_STATUS
   1084  1.1    jruoho AcpiSetFirmwareWakingVector (
   1085  1.9  christos     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
   1086  1.9  christos     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
   1087  1.1    jruoho 
   1088  1.1    jruoho 
   1089  1.1    jruoho /*
   1090  1.6  christos  * ACPI Timer interfaces
   1091  1.6  christos  */
   1092  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1093  1.6  christos ACPI_STATUS
   1094  1.6  christos AcpiGetTimerResolution (
   1095  1.6  christos     UINT32                  *Resolution))
   1096  1.6  christos 
   1097  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1098  1.6  christos ACPI_STATUS
   1099  1.6  christos AcpiGetTimer (
   1100  1.6  christos     UINT32                  *Ticks))
   1101  1.6  christos 
   1102  1.6  christos ACPI_HW_DEPENDENT_RETURN_STATUS (
   1103  1.6  christos ACPI_STATUS
   1104  1.6  christos AcpiGetTimerDuration (
   1105  1.6  christos     UINT32                  StartTicks,
   1106  1.6  christos     UINT32                  EndTicks,
   1107  1.6  christos     UINT32                  *TimeElapsed))
   1108  1.6  christos 
   1109  1.6  christos 
   1110  1.6  christos /*
   1111  1.1    jruoho  * Error/Warning output
   1112  1.1    jruoho  */
   1113  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1114  1.6  christos ACPI_PRINTF_LIKE(3)
   1115  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1116  1.1    jruoho AcpiError (
   1117  1.1    jruoho     const char              *ModuleName,
   1118  1.1    jruoho     UINT32                  LineNumber,
   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(4)
   1124  1.1    jruoho void  ACPI_INTERNAL_VAR_XFACE
   1125  1.1    jruoho AcpiException (
   1126  1.1    jruoho     const char              *ModuleName,
   1127  1.1    jruoho     UINT32                  LineNumber,
   1128  1.1    jruoho     ACPI_STATUS             Status,
   1129  1.1    jruoho     const char              *Format,
   1130  1.7  christos     ...))
   1131  1.1    jruoho 
   1132  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1133  1.6  christos ACPI_PRINTF_LIKE(3)
   1134  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1135  1.1    jruoho AcpiWarning (
   1136  1.1    jruoho     const char              *ModuleName,
   1137  1.1    jruoho     UINT32                  LineNumber,
   1138  1.1    jruoho     const char              *Format,
   1139  1.7  christos     ...))
   1140  1.1    jruoho 
   1141  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1142  1.6  christos ACPI_PRINTF_LIKE(3)
   1143  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1144  1.1    jruoho AcpiInfo (
   1145  1.1    jruoho     const char              *ModuleName,
   1146  1.1    jruoho     UINT32                  LineNumber,
   1147  1.1    jruoho     const char              *Format,
   1148  1.7  christos     ...))
   1149  1.6  christos 
   1150  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1151  1.6  christos ACPI_PRINTF_LIKE(3)
   1152  1.6  christos void ACPI_INTERNAL_VAR_XFACE
   1153  1.6  christos AcpiBiosError (
   1154  1.6  christos     const char              *ModuleName,
   1155  1.6  christos     UINT32                  LineNumber,
   1156  1.6  christos     const char              *Format,
   1157  1.7  christos     ...))
   1158  1.6  christos 
   1159  1.7  christos ACPI_MSG_DEPENDENT_RETURN_VOID (
   1160  1.6  christos ACPI_PRINTF_LIKE(3)
   1161  1.6  christos void ACPI_INTERNAL_VAR_XFACE
   1162  1.6  christos AcpiBiosWarning (
   1163  1.6  christos     const char              *ModuleName,
   1164  1.6  christos     UINT32                  LineNumber,
   1165  1.6  christos     const char              *Format,
   1166  1.7  christos     ...))
   1167  1.1    jruoho 
   1168  1.1    jruoho 
   1169  1.1    jruoho /*
   1170  1.1    jruoho  * Debug output
   1171  1.1    jruoho  */
   1172  1.7  christos ACPI_DBG_DEPENDENT_RETURN_VOID (
   1173  1.6  christos ACPI_PRINTF_LIKE(6)
   1174  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1175  1.1    jruoho AcpiDebugPrint (
   1176  1.1    jruoho     UINT32                  RequestedDebugLevel,
   1177  1.1    jruoho     UINT32                  LineNumber,
   1178  1.1    jruoho     const char              *FunctionName,
   1179  1.1    jruoho     const char              *ModuleName,
   1180  1.1    jruoho     UINT32                  ComponentId,
   1181  1.1    jruoho     const char              *Format,
   1182  1.7  christos     ...))
   1183  1.1    jruoho 
   1184  1.7  christos ACPI_DBG_DEPENDENT_RETURN_VOID (
   1185  1.6  christos ACPI_PRINTF_LIKE(6)
   1186  1.1    jruoho void ACPI_INTERNAL_VAR_XFACE
   1187  1.1    jruoho AcpiDebugPrintRaw (
   1188  1.1    jruoho     UINT32                  RequestedDebugLevel,
   1189  1.1    jruoho     UINT32                  LineNumber,
   1190  1.1    jruoho     const char              *FunctionName,
   1191  1.1    jruoho     const char              *ModuleName,
   1192  1.1    jruoho     UINT32                  ComponentId,
   1193  1.1    jruoho     const char              *Format,
   1194  1.7  christos     ...))
   1195  1.7  christos 
   1196  1.9  christos ACPI_DBG_DEPENDENT_RETURN_VOID (
   1197  1.9  christos void
   1198  1.9  christos AcpiTracePoint (
   1199  1.9  christos     ACPI_TRACE_EVENT_TYPE   Type,
   1200  1.9  christos     BOOLEAN                 Begin,
   1201  1.9  christos     UINT8                   *Aml,
   1202  1.9  christos     char                    *Pathname))
   1203  1.9  christos 
   1204  1.7  christos ACPI_APP_DEPENDENT_RETURN_VOID (
   1205  1.7  christos ACPI_PRINTF_LIKE(1)
   1206  1.7  christos void ACPI_INTERNAL_VAR_XFACE
   1207  1.7  christos AcpiLogError (
   1208  1.7  christos     const char              *Format,
   1209  1.7  christos     ...))
   1210  1.1    jruoho 
   1211  1.1    jruoho #endif /* __ACXFACE_H__ */
   1212