1433d6423SLionel Sambuc /****************************************************************************** 2433d6423SLionel Sambuc * 3433d6423SLionel Sambuc * Name: acpixf.h - External interfaces to the ACPI subsystem 4433d6423SLionel Sambuc * 5433d6423SLionel Sambuc *****************************************************************************/ 6433d6423SLionel Sambuc 7*29492bb7SDavid van Moolenbroek /* 8*29492bb7SDavid van Moolenbroek * Copyright (C) 2000 - 2014, Intel Corp. 9433d6423SLionel Sambuc * All rights reserved. 10433d6423SLionel Sambuc * 11*29492bb7SDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 12*29492bb7SDavid van Moolenbroek * modification, are permitted provided that the following conditions 13*29492bb7SDavid van Moolenbroek * are met: 14*29492bb7SDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 15*29492bb7SDavid van Moolenbroek * notice, this list of conditions, and the following disclaimer, 16*29492bb7SDavid van Moolenbroek * without modification. 17*29492bb7SDavid van Moolenbroek * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*29492bb7SDavid van Moolenbroek * substantially similar to the "NO WARRANTY" disclaimer below 19*29492bb7SDavid van Moolenbroek * ("Disclaimer") and any redistribution must be conditioned upon 20*29492bb7SDavid van Moolenbroek * including a substantially similar Disclaimer requirement for further 21*29492bb7SDavid van Moolenbroek * binary redistribution. 22*29492bb7SDavid van Moolenbroek * 3. Neither the names of the above-listed copyright holders nor the names 23*29492bb7SDavid van Moolenbroek * of any contributors may be used to endorse or promote products derived 24*29492bb7SDavid van Moolenbroek * from this software without specific prior written permission. 25433d6423SLionel Sambuc * 26*29492bb7SDavid van Moolenbroek * Alternatively, this software may be distributed under the terms of the 27*29492bb7SDavid van Moolenbroek * GNU General Public License ("GPL") version 2 as published by the Free 28*29492bb7SDavid van Moolenbroek * Software Foundation. 29433d6423SLionel Sambuc * 30*29492bb7SDavid van Moolenbroek * NO WARRANTY 31*29492bb7SDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*29492bb7SDavid van Moolenbroek * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*29492bb7SDavid van Moolenbroek * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*29492bb7SDavid van Moolenbroek * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*29492bb7SDavid van Moolenbroek * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*29492bb7SDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*29492bb7SDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*29492bb7SDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*29492bb7SDavid van Moolenbroek * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*29492bb7SDavid van Moolenbroek * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*29492bb7SDavid van Moolenbroek * POSSIBILITY OF SUCH DAMAGES. 42*29492bb7SDavid van Moolenbroek */ 43433d6423SLionel Sambuc 44433d6423SLionel Sambuc #ifndef __ACXFACE_H__ 45433d6423SLionel Sambuc #define __ACXFACE_H__ 46433d6423SLionel Sambuc 47433d6423SLionel Sambuc /* Current ACPICA subsystem version in YYYYMMDD format */ 48433d6423SLionel Sambuc 49*29492bb7SDavid van Moolenbroek #define ACPI_CA_VERSION 0x20141107 50433d6423SLionel Sambuc 51*29492bb7SDavid van Moolenbroek #include "acconfig.h" 52433d6423SLionel Sambuc #include "actypes.h" 53433d6423SLionel Sambuc #include "actbl.h" 54*29492bb7SDavid van Moolenbroek #include "acbuffer.h" 55*29492bb7SDavid van Moolenbroek 56*29492bb7SDavid van Moolenbroek 57*29492bb7SDavid van Moolenbroek /***************************************************************************** 58*29492bb7SDavid van Moolenbroek * 59*29492bb7SDavid van Moolenbroek * Macros used for ACPICA globals and configuration 60*29492bb7SDavid van Moolenbroek * 61*29492bb7SDavid van Moolenbroek ****************************************************************************/ 62433d6423SLionel Sambuc 63433d6423SLionel Sambuc /* 64*29492bb7SDavid van Moolenbroek * Ensure that global variables are defined and initialized only once. 65*29492bb7SDavid van Moolenbroek * 66*29492bb7SDavid van Moolenbroek * The use of these macros allows for a single list of globals (here) 67*29492bb7SDavid van Moolenbroek * in order to simplify maintenance of the code. 68433d6423SLionel Sambuc */ 69*29492bb7SDavid van Moolenbroek #ifdef DEFINE_ACPI_GLOBALS 70*29492bb7SDavid van Moolenbroek #define ACPI_GLOBAL(type,name) \ 71*29492bb7SDavid van Moolenbroek extern type name; \ 72*29492bb7SDavid van Moolenbroek type name 73433d6423SLionel Sambuc 74*29492bb7SDavid van Moolenbroek #define ACPI_INIT_GLOBAL(type,name,value) \ 75*29492bb7SDavid van Moolenbroek type name=value 76433d6423SLionel Sambuc 77*29492bb7SDavid van Moolenbroek #else 78*29492bb7SDavid van Moolenbroek #ifndef ACPI_GLOBAL 79*29492bb7SDavid van Moolenbroek #define ACPI_GLOBAL(type,name) \ 80*29492bb7SDavid van Moolenbroek extern type name 81*29492bb7SDavid van Moolenbroek #endif 82433d6423SLionel Sambuc 83*29492bb7SDavid van Moolenbroek #ifndef ACPI_INIT_GLOBAL 84*29492bb7SDavid van Moolenbroek #define ACPI_INIT_GLOBAL(type,name,value) \ 85*29492bb7SDavid van Moolenbroek extern type name 86*29492bb7SDavid van Moolenbroek #endif 87*29492bb7SDavid van Moolenbroek #endif 88433d6423SLionel Sambuc 89*29492bb7SDavid van Moolenbroek /* 90*29492bb7SDavid van Moolenbroek * These macros configure the various ACPICA interfaces. They are 91*29492bb7SDavid van Moolenbroek * useful for generating stub inline functions for features that are 92*29492bb7SDavid van Moolenbroek * configured out of the current kernel or ACPICA application. 93*29492bb7SDavid van Moolenbroek */ 94*29492bb7SDavid van Moolenbroek #ifndef ACPI_EXTERNAL_RETURN_STATUS 95*29492bb7SDavid van Moolenbroek #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \ 96*29492bb7SDavid van Moolenbroek Prototype; 97*29492bb7SDavid van Moolenbroek #endif 98*29492bb7SDavid van Moolenbroek 99*29492bb7SDavid van Moolenbroek #ifndef ACPI_EXTERNAL_RETURN_OK 100*29492bb7SDavid van Moolenbroek #define ACPI_EXTERNAL_RETURN_OK(Prototype) \ 101*29492bb7SDavid van Moolenbroek Prototype; 102*29492bb7SDavid van Moolenbroek #endif 103*29492bb7SDavid van Moolenbroek 104*29492bb7SDavid van Moolenbroek #ifndef ACPI_EXTERNAL_RETURN_VOID 105*29492bb7SDavid van Moolenbroek #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \ 106*29492bb7SDavid van Moolenbroek Prototype; 107*29492bb7SDavid van Moolenbroek #endif 108*29492bb7SDavid van Moolenbroek 109*29492bb7SDavid van Moolenbroek #ifndef ACPI_EXTERNAL_RETURN_UINT32 110*29492bb7SDavid van Moolenbroek #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \ 111*29492bb7SDavid van Moolenbroek Prototype; 112*29492bb7SDavid van Moolenbroek #endif 113*29492bb7SDavid van Moolenbroek 114*29492bb7SDavid van Moolenbroek #ifndef ACPI_EXTERNAL_RETURN_PTR 115*29492bb7SDavid van Moolenbroek #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \ 116*29492bb7SDavid van Moolenbroek Prototype; 117*29492bb7SDavid van Moolenbroek #endif 118*29492bb7SDavid van Moolenbroek 119*29492bb7SDavid van Moolenbroek 120*29492bb7SDavid van Moolenbroek /***************************************************************************** 121*29492bb7SDavid van Moolenbroek * 122*29492bb7SDavid van Moolenbroek * Public globals and runtime configuration options 123*29492bb7SDavid van Moolenbroek * 124*29492bb7SDavid van Moolenbroek ****************************************************************************/ 125*29492bb7SDavid van Moolenbroek 126*29492bb7SDavid van Moolenbroek /* 127*29492bb7SDavid van Moolenbroek * Enable "slack mode" of the AML interpreter? Default is FALSE, and the 128*29492bb7SDavid van Moolenbroek * interpreter strictly follows the ACPI specification. Setting to TRUE 129*29492bb7SDavid van Moolenbroek * allows the interpreter to ignore certain errors and/or bad AML constructs. 130*29492bb7SDavid van Moolenbroek * 131*29492bb7SDavid van Moolenbroek * Currently, these features are enabled by this flag: 132*29492bb7SDavid van Moolenbroek * 133*29492bb7SDavid van Moolenbroek * 1) Allow "implicit return" of last value in a control method 134*29492bb7SDavid van Moolenbroek * 2) Allow access beyond the end of an operation region 135*29492bb7SDavid van Moolenbroek * 3) Allow access to uninitialized locals/args (auto-init to integer 0) 136*29492bb7SDavid van Moolenbroek * 4) Allow ANY object type to be a source operand for the Store() operator 137*29492bb7SDavid van Moolenbroek * 5) Allow unresolved references (invalid target name) in package objects 138*29492bb7SDavid van Moolenbroek * 6) Enable warning messages for behavior that is not ACPI spec compliant 139*29492bb7SDavid van Moolenbroek */ 140*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE); 141*29492bb7SDavid van Moolenbroek 142*29492bb7SDavid van Moolenbroek /* 143*29492bb7SDavid van Moolenbroek * Automatically serialize all methods that create named objects? Default 144*29492bb7SDavid van Moolenbroek * is TRUE, meaning that all NonSerialized methods are scanned once at 145*29492bb7SDavid van Moolenbroek * table load time to determine those that create named objects. Methods 146*29492bb7SDavid van Moolenbroek * that create named objects are marked Serialized in order to prevent 147*29492bb7SDavid van Moolenbroek * possible run-time problems if they are entered by more than one thread. 148*29492bb7SDavid van Moolenbroek */ 149*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_AutoSerializeMethods, TRUE); 150*29492bb7SDavid van Moolenbroek 151*29492bb7SDavid van Moolenbroek /* 152*29492bb7SDavid van Moolenbroek * Create the predefined _OSI method in the namespace? Default is TRUE 153*29492bb7SDavid van Moolenbroek * because ACPICA is fully compatible with other ACPI implementations. 154*29492bb7SDavid van Moolenbroek * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior. 155*29492bb7SDavid van Moolenbroek */ 156*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CreateOsiMethod, TRUE); 157*29492bb7SDavid van Moolenbroek 158*29492bb7SDavid van Moolenbroek /* 159*29492bb7SDavid van Moolenbroek * Optionally use default values for the ACPI register widths. Set this to 160*29492bb7SDavid van Moolenbroek * TRUE to use the defaults, if an FADT contains incorrect widths/lengths. 161*29492bb7SDavid van Moolenbroek */ 162*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_UseDefaultRegisterWidths, TRUE); 163*29492bb7SDavid van Moolenbroek 164*29492bb7SDavid van Moolenbroek /* 165*29492bb7SDavid van Moolenbroek * Whether or not to verify the table checksum before installation. Set 166*29492bb7SDavid van Moolenbroek * this to TRUE to verify the table checksum before install it to the table 167*29492bb7SDavid van Moolenbroek * manager. Note that enabling this option causes errors to happen in some 168*29492bb7SDavid van Moolenbroek * OSPMs during early initialization stages. Default behavior is to do such 169*29492bb7SDavid van Moolenbroek * verification. 170*29492bb7SDavid van Moolenbroek */ 171*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_VerifyTableChecksum, TRUE); 172*29492bb7SDavid van Moolenbroek 173*29492bb7SDavid van Moolenbroek /* 174*29492bb7SDavid van Moolenbroek * Optionally enable output from the AML Debug Object. 175*29492bb7SDavid van Moolenbroek */ 176*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE); 177*29492bb7SDavid van Moolenbroek 178*29492bb7SDavid van Moolenbroek /* 179*29492bb7SDavid van Moolenbroek * Optionally copy the entire DSDT to local memory (instead of simply 180*29492bb7SDavid van Moolenbroek * mapping it.) There are some BIOSs that corrupt or replace the original 181*29492bb7SDavid van Moolenbroek * DSDT, creating the need for this option. Default is FALSE, do not copy 182*29492bb7SDavid van Moolenbroek * the DSDT. 183*29492bb7SDavid van Moolenbroek */ 184*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE); 185*29492bb7SDavid van Moolenbroek 186*29492bb7SDavid van Moolenbroek /* 187*29492bb7SDavid van Moolenbroek * Optionally ignore an XSDT if present and use the RSDT instead. 188*29492bb7SDavid van Moolenbroek * Although the ACPI specification requires that an XSDT be used instead 189*29492bb7SDavid van Moolenbroek * of the RSDT, the XSDT has been found to be corrupt or ill-formed on 190*29492bb7SDavid van Moolenbroek * some machines. Default behavior is to use the XSDT if present. 191*29492bb7SDavid van Moolenbroek */ 192*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE); 193*29492bb7SDavid van Moolenbroek 194*29492bb7SDavid van Moolenbroek /* 195*29492bb7SDavid van Moolenbroek * Optionally use 32-bit FADT addresses if and when there is a conflict 196*29492bb7SDavid van Moolenbroek * (address mismatch) between the 32-bit and 64-bit versions of the 197*29492bb7SDavid van Moolenbroek * address. Although ACPICA adheres to the ACPI specification which 198*29492bb7SDavid van Moolenbroek * requires the use of the corresponding 64-bit address if it is non-zero, 199*29492bb7SDavid van Moolenbroek * some machines have been found to have a corrupted non-zero 64-bit 200*29492bb7SDavid van Moolenbroek * address. Default is FALSE, do not favor the 32-bit addresses. 201*29492bb7SDavid van Moolenbroek */ 202*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE); 203*29492bb7SDavid van Moolenbroek 204*29492bb7SDavid van Moolenbroek /* 205*29492bb7SDavid van Moolenbroek * Optionally truncate I/O addresses to 16 bits. Provides compatibility 206*29492bb7SDavid van Moolenbroek * with other ACPI implementations. NOTE: During ACPICA initialization, 207*29492bb7SDavid van Moolenbroek * this value is set to TRUE if any Windows OSI strings have been 208*29492bb7SDavid van Moolenbroek * requested by the BIOS. 209*29492bb7SDavid van Moolenbroek */ 210*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE); 211*29492bb7SDavid van Moolenbroek 212*29492bb7SDavid van Moolenbroek /* 213*29492bb7SDavid van Moolenbroek * Disable runtime checking and repair of values returned by control methods. 214*29492bb7SDavid van Moolenbroek * Use only if the repair is causing a problem on a particular machine. 215*29492bb7SDavid van Moolenbroek */ 216*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE); 217*29492bb7SDavid van Moolenbroek 218*29492bb7SDavid van Moolenbroek /* 219*29492bb7SDavid van Moolenbroek * Optionally do not install any SSDTs from the RSDT/XSDT during initialization. 220*29492bb7SDavid van Moolenbroek * This can be useful for debugging ACPI problems on some machines. 221*29492bb7SDavid van Moolenbroek */ 222*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE); 223*29492bb7SDavid van Moolenbroek 224*29492bb7SDavid van Moolenbroek /* 225*29492bb7SDavid van Moolenbroek * We keep track of the latest version of Windows that has been requested by 226*29492bb7SDavid van Moolenbroek * the BIOS. ACPI 5.0. 227*29492bb7SDavid van Moolenbroek */ 228*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0); 229*29492bb7SDavid van Moolenbroek 230*29492bb7SDavid van Moolenbroek /* 231*29492bb7SDavid van Moolenbroek * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning 232*29492bb7SDavid van Moolenbroek * that the ACPI hardware is no longer required. A flag in the FADT indicates 233*29492bb7SDavid van Moolenbroek * a reduced HW machine, and that flag is duplicated here for convenience. 234*29492bb7SDavid van Moolenbroek */ 235*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE); 236*29492bb7SDavid van Moolenbroek 237*29492bb7SDavid van Moolenbroek /* 238*29492bb7SDavid van Moolenbroek * This mechanism is used to trace a specified AML method. The method is 239*29492bb7SDavid van Moolenbroek * traced each time it is executed. 240*29492bb7SDavid van Moolenbroek */ 241*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0); 242*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (ACPI_NAME, AcpiGbl_TraceMethodName, 0); 243*29492bb7SDavid van Moolenbroek 244*29492bb7SDavid van Moolenbroek /* 245*29492bb7SDavid van Moolenbroek * Runtime configuration of debug output control masks. We want the debug 246*29492bb7SDavid van Moolenbroek * switches statically initialized so they are already set when the debugger 247*29492bb7SDavid van Moolenbroek * is entered. 248*29492bb7SDavid van Moolenbroek */ 249*29492bb7SDavid van Moolenbroek #ifdef ACPI_DEBUG_OUTPUT 250*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT); 251*29492bb7SDavid van Moolenbroek #else 252*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT); 253*29492bb7SDavid van Moolenbroek #endif 254*29492bb7SDavid van Moolenbroek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT); 255*29492bb7SDavid van Moolenbroek 256*29492bb7SDavid van Moolenbroek /* 257*29492bb7SDavid van Moolenbroek * Other miscellaneous globals 258*29492bb7SDavid van Moolenbroek */ 259*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT); 260*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount); 261*29492bb7SDavid van Moolenbroek ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning); 262*29492bb7SDavid van Moolenbroek 263*29492bb7SDavid van Moolenbroek 264*29492bb7SDavid van Moolenbroek /***************************************************************************** 265*29492bb7SDavid van Moolenbroek * 266*29492bb7SDavid van Moolenbroek * ACPICA public interface configuration. 267*29492bb7SDavid van Moolenbroek * 268*29492bb7SDavid van Moolenbroek * Interfaces that are configured out of the ACPICA build are replaced 269*29492bb7SDavid van Moolenbroek * by inlined stubs by default. 270*29492bb7SDavid van Moolenbroek * 271*29492bb7SDavid van Moolenbroek ****************************************************************************/ 272*29492bb7SDavid van Moolenbroek 273*29492bb7SDavid van Moolenbroek /* 274*29492bb7SDavid van Moolenbroek * Hardware-reduced prototypes (default: Not hardware reduced). 275*29492bb7SDavid van Moolenbroek * 276*29492bb7SDavid van Moolenbroek * All ACPICA hardware-related interfaces that use these macros will be 277*29492bb7SDavid van Moolenbroek * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag 278*29492bb7SDavid van Moolenbroek * is set to TRUE. 279*29492bb7SDavid van Moolenbroek * 280*29492bb7SDavid van Moolenbroek * Note: This static build option for reduced hardware is intended to 281*29492bb7SDavid van Moolenbroek * reduce ACPICA code size if desired or necessary. However, even if this 282*29492bb7SDavid van Moolenbroek * option is not specified, the runtime behavior of ACPICA is dependent 283*29492bb7SDavid van Moolenbroek * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set, 284*29492bb7SDavid van Moolenbroek * the flag will enable similar behavior -- ACPICA will not attempt 285*29492bb7SDavid van Moolenbroek * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.) 286*29492bb7SDavid van Moolenbroek */ 287*29492bb7SDavid van Moolenbroek #if (!ACPI_REDUCED_HARDWARE) 288*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 289*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS(Prototype) 290*29492bb7SDavid van Moolenbroek 291*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 292*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_OK(Prototype) 293*29492bb7SDavid van Moolenbroek 294*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 295*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_VOID(Prototype) 296*29492bb7SDavid van Moolenbroek 297*29492bb7SDavid van Moolenbroek #else 298*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 299*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} 300*29492bb7SDavid van Moolenbroek 301*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 302*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return(AE_OK);} 303*29492bb7SDavid van Moolenbroek 304*29492bb7SDavid van Moolenbroek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 305*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return;} 306*29492bb7SDavid van Moolenbroek 307*29492bb7SDavid van Moolenbroek #endif /* !ACPI_REDUCED_HARDWARE */ 308433d6423SLionel Sambuc 309433d6423SLionel Sambuc 310433d6423SLionel Sambuc /* 311*29492bb7SDavid van Moolenbroek * Error message prototypes (default: error messages enabled). 312*29492bb7SDavid van Moolenbroek * 313*29492bb7SDavid van Moolenbroek * All interfaces related to error and warning messages 314*29492bb7SDavid van Moolenbroek * will be configured out of the ACPICA build if the 315*29492bb7SDavid van Moolenbroek * ACPI_NO_ERROR_MESSAGE flag is defined. 316433d6423SLionel Sambuc */ 317*29492bb7SDavid van Moolenbroek #ifndef ACPI_NO_ERROR_MESSAGES 318*29492bb7SDavid van Moolenbroek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 319*29492bb7SDavid van Moolenbroek Prototype; 320*29492bb7SDavid van Moolenbroek 321*29492bb7SDavid van Moolenbroek #else 322*29492bb7SDavid van Moolenbroek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 323*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return;} 324*29492bb7SDavid van Moolenbroek 325*29492bb7SDavid van Moolenbroek #endif /* ACPI_NO_ERROR_MESSAGES */ 326*29492bb7SDavid van Moolenbroek 327*29492bb7SDavid van Moolenbroek 328*29492bb7SDavid van Moolenbroek /* 329*29492bb7SDavid van Moolenbroek * Debugging output prototypes (default: no debug output). 330*29492bb7SDavid van Moolenbroek * 331*29492bb7SDavid van Moolenbroek * All interfaces related to debug output messages 332*29492bb7SDavid van Moolenbroek * will be configured out of the ACPICA build unless the 333*29492bb7SDavid van Moolenbroek * ACPI_DEBUG_OUTPUT flag is defined. 334*29492bb7SDavid van Moolenbroek */ 335*29492bb7SDavid van Moolenbroek #ifdef ACPI_DEBUG_OUTPUT 336*29492bb7SDavid van Moolenbroek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ 337*29492bb7SDavid van Moolenbroek Prototype; 338*29492bb7SDavid van Moolenbroek 339*29492bb7SDavid van Moolenbroek #else 340*29492bb7SDavid van Moolenbroek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ 341*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return;} 342*29492bb7SDavid van Moolenbroek 343*29492bb7SDavid van Moolenbroek #endif /* ACPI_DEBUG_OUTPUT */ 344*29492bb7SDavid van Moolenbroek 345*29492bb7SDavid van Moolenbroek 346*29492bb7SDavid van Moolenbroek /* 347*29492bb7SDavid van Moolenbroek * Application prototypes 348*29492bb7SDavid van Moolenbroek * 349*29492bb7SDavid van Moolenbroek * All interfaces used by application will be configured 350*29492bb7SDavid van Moolenbroek * out of the ACPICA build unless the ACPI_APPLICATION 351*29492bb7SDavid van Moolenbroek * flag is defined. 352*29492bb7SDavid van Moolenbroek */ 353*29492bb7SDavid van Moolenbroek #ifdef ACPI_APPLICATION 354*29492bb7SDavid van Moolenbroek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ 355*29492bb7SDavid van Moolenbroek Prototype; 356*29492bb7SDavid van Moolenbroek 357*29492bb7SDavid van Moolenbroek #else 358*29492bb7SDavid van Moolenbroek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ 359*29492bb7SDavid van Moolenbroek static ACPI_INLINE Prototype {return;} 360*29492bb7SDavid van Moolenbroek 361*29492bb7SDavid van Moolenbroek #endif /* ACPI_APPLICATION */ 362*29492bb7SDavid van Moolenbroek 363*29492bb7SDavid van Moolenbroek 364*29492bb7SDavid van Moolenbroek /***************************************************************************** 365*29492bb7SDavid van Moolenbroek * 366*29492bb7SDavid van Moolenbroek * ACPICA public interface prototypes 367*29492bb7SDavid van Moolenbroek * 368*29492bb7SDavid van Moolenbroek ****************************************************************************/ 369*29492bb7SDavid van Moolenbroek 370*29492bb7SDavid van Moolenbroek /* 371*29492bb7SDavid van Moolenbroek * Initialization 372*29492bb7SDavid van Moolenbroek */ 373*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 374433d6423SLionel Sambuc ACPI_STATUS 375433d6423SLionel Sambuc AcpiInitializeTables ( 376433d6423SLionel Sambuc ACPI_TABLE_DESC *InitialStorage, 377433d6423SLionel Sambuc UINT32 InitialTableCount, 378*29492bb7SDavid van Moolenbroek BOOLEAN AllowResize)) 379433d6423SLionel Sambuc 380*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 381433d6423SLionel Sambuc ACPI_STATUS 382433d6423SLionel Sambuc AcpiInitializeSubsystem ( 383*29492bb7SDavid van Moolenbroek void)) 384433d6423SLionel Sambuc 385*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 386433d6423SLionel Sambuc ACPI_STATUS 387433d6423SLionel Sambuc AcpiEnableSubsystem ( 388*29492bb7SDavid van Moolenbroek UINT32 Flags)) 389433d6423SLionel Sambuc 390*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 391433d6423SLionel Sambuc ACPI_STATUS 392433d6423SLionel Sambuc AcpiInitializeObjects ( 393*29492bb7SDavid van Moolenbroek UINT32 Flags)) 394433d6423SLionel Sambuc 395*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 396433d6423SLionel Sambuc ACPI_STATUS 397433d6423SLionel Sambuc AcpiTerminate ( 398*29492bb7SDavid van Moolenbroek void)) 399433d6423SLionel Sambuc 400433d6423SLionel Sambuc 401433d6423SLionel Sambuc /* 402*29492bb7SDavid van Moolenbroek * Miscellaneous global interfaces 403433d6423SLionel Sambuc */ 404*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 405*29492bb7SDavid van Moolenbroek ACPI_STATUS 406*29492bb7SDavid van Moolenbroek AcpiEnable ( 407*29492bb7SDavid van Moolenbroek void)) 408433d6423SLionel Sambuc 409*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 410*29492bb7SDavid van Moolenbroek ACPI_STATUS 411*29492bb7SDavid van Moolenbroek AcpiDisable ( 412*29492bb7SDavid van Moolenbroek void)) 413433d6423SLionel Sambuc 414*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 415*29492bb7SDavid van Moolenbroek ACPI_STATUS 416*29492bb7SDavid van Moolenbroek AcpiSubsystemStatus ( 417*29492bb7SDavid van Moolenbroek void)) 418*29492bb7SDavid van Moolenbroek 419*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 420*29492bb7SDavid van Moolenbroek ACPI_STATUS 421*29492bb7SDavid van Moolenbroek AcpiGetSystemInfo ( 422*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 423*29492bb7SDavid van Moolenbroek 424*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 425*29492bb7SDavid van Moolenbroek ACPI_STATUS 426*29492bb7SDavid van Moolenbroek AcpiGetStatistics ( 427*29492bb7SDavid van Moolenbroek ACPI_STATISTICS *Stats)) 428*29492bb7SDavid van Moolenbroek 429*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_PTR ( 430*29492bb7SDavid van Moolenbroek const char * 431*29492bb7SDavid van Moolenbroek AcpiFormatException ( 432*29492bb7SDavid van Moolenbroek ACPI_STATUS Exception)) 433*29492bb7SDavid van Moolenbroek 434*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 435*29492bb7SDavid van Moolenbroek ACPI_STATUS 436*29492bb7SDavid van Moolenbroek AcpiPurgeCachedObjects ( 437*29492bb7SDavid van Moolenbroek void)) 438*29492bb7SDavid van Moolenbroek 439*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 440*29492bb7SDavid van Moolenbroek ACPI_STATUS 441*29492bb7SDavid van Moolenbroek AcpiInstallInterface ( 442*29492bb7SDavid van Moolenbroek ACPI_STRING InterfaceName)) 443*29492bb7SDavid van Moolenbroek 444*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 445*29492bb7SDavid van Moolenbroek ACPI_STATUS 446*29492bb7SDavid van Moolenbroek AcpiRemoveInterface ( 447*29492bb7SDavid van Moolenbroek ACPI_STRING InterfaceName)) 448*29492bb7SDavid van Moolenbroek 449*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 450*29492bb7SDavid van Moolenbroek ACPI_STATUS 451*29492bb7SDavid van Moolenbroek AcpiUpdateInterfaces ( 452*29492bb7SDavid van Moolenbroek UINT8 Action)) 453*29492bb7SDavid van Moolenbroek 454*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_UINT32 ( 455*29492bb7SDavid van Moolenbroek UINT32 456*29492bb7SDavid van Moolenbroek AcpiCheckAddressRange ( 457*29492bb7SDavid van Moolenbroek ACPI_ADR_SPACE_TYPE SpaceId, 458*29492bb7SDavid van Moolenbroek ACPI_PHYSICAL_ADDRESS Address, 459*29492bb7SDavid van Moolenbroek ACPI_SIZE Length, 460*29492bb7SDavid van Moolenbroek BOOLEAN Warn)) 461*29492bb7SDavid van Moolenbroek 462*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 463*29492bb7SDavid van Moolenbroek ACPI_STATUS 464*29492bb7SDavid van Moolenbroek AcpiDecodePldBuffer ( 465*29492bb7SDavid van Moolenbroek UINT8 *InBuffer, 466*29492bb7SDavid van Moolenbroek ACPI_SIZE Length, 467*29492bb7SDavid van Moolenbroek ACPI_PLD_INFO **ReturnBuffer)) 468*29492bb7SDavid van Moolenbroek 469*29492bb7SDavid van Moolenbroek 470*29492bb7SDavid van Moolenbroek /* 471*29492bb7SDavid van Moolenbroek * ACPI table load/unload interfaces 472*29492bb7SDavid van Moolenbroek */ 473*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 474*29492bb7SDavid van Moolenbroek ACPI_STATUS 475*29492bb7SDavid van Moolenbroek AcpiInstallTable ( 476*29492bb7SDavid van Moolenbroek ACPI_PHYSICAL_ADDRESS Address, 477*29492bb7SDavid van Moolenbroek BOOLEAN Physical)) 478*29492bb7SDavid van Moolenbroek 479*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 480*29492bb7SDavid van Moolenbroek ACPI_STATUS 481*29492bb7SDavid van Moolenbroek AcpiLoadTable ( 482*29492bb7SDavid van Moolenbroek ACPI_TABLE_HEADER *Table)) 483*29492bb7SDavid van Moolenbroek 484*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 485*29492bb7SDavid van Moolenbroek ACPI_STATUS 486*29492bb7SDavid van Moolenbroek AcpiUnloadParentTable ( 487*29492bb7SDavid van Moolenbroek ACPI_HANDLE Object)) 488*29492bb7SDavid van Moolenbroek 489*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 490*29492bb7SDavid van Moolenbroek ACPI_STATUS 491*29492bb7SDavid van Moolenbroek AcpiLoadTables ( 492*29492bb7SDavid van Moolenbroek void)) 493433d6423SLionel Sambuc 494433d6423SLionel Sambuc 495433d6423SLionel Sambuc /* 496433d6423SLionel Sambuc * ACPI table manipulation interfaces 497433d6423SLionel Sambuc */ 498*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 499433d6423SLionel Sambuc ACPI_STATUS 500433d6423SLionel Sambuc AcpiReallocateRootTable ( 501*29492bb7SDavid van Moolenbroek void)) 502433d6423SLionel Sambuc 503*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 504433d6423SLionel Sambuc ACPI_STATUS 505433d6423SLionel Sambuc AcpiFindRootPointer ( 506*29492bb7SDavid van Moolenbroek ACPI_SIZE *RsdpAddress)) 507433d6423SLionel Sambuc 508*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 509433d6423SLionel Sambuc ACPI_STATUS 510433d6423SLionel Sambuc AcpiGetTableHeader ( 511433d6423SLionel Sambuc ACPI_STRING Signature, 512433d6423SLionel Sambuc UINT32 Instance, 513*29492bb7SDavid van Moolenbroek ACPI_TABLE_HEADER *OutTableHeader)) 514433d6423SLionel Sambuc 515*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 516433d6423SLionel Sambuc ACPI_STATUS 517433d6423SLionel Sambuc AcpiGetTable ( 518433d6423SLionel Sambuc ACPI_STRING Signature, 519433d6423SLionel Sambuc UINT32 Instance, 520*29492bb7SDavid van Moolenbroek ACPI_TABLE_HEADER **OutTable)) 521433d6423SLionel Sambuc 522*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 523433d6423SLionel Sambuc ACPI_STATUS 524433d6423SLionel Sambuc AcpiGetTableByIndex ( 525433d6423SLionel Sambuc UINT32 TableIndex, 526*29492bb7SDavid van Moolenbroek ACPI_TABLE_HEADER **OutTable)) 527433d6423SLionel Sambuc 528*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 529433d6423SLionel Sambuc ACPI_STATUS 530433d6423SLionel Sambuc AcpiInstallTableHandler ( 531433d6423SLionel Sambuc ACPI_TABLE_HANDLER Handler, 532*29492bb7SDavid van Moolenbroek void *Context)) 533433d6423SLionel Sambuc 534*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 535433d6423SLionel Sambuc ACPI_STATUS 536433d6423SLionel Sambuc AcpiRemoveTableHandler ( 537*29492bb7SDavid van Moolenbroek ACPI_TABLE_HANDLER Handler)) 538433d6423SLionel Sambuc 539433d6423SLionel Sambuc 540433d6423SLionel Sambuc /* 541433d6423SLionel Sambuc * Namespace and name interfaces 542433d6423SLionel Sambuc */ 543*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 544433d6423SLionel Sambuc ACPI_STATUS 545433d6423SLionel Sambuc AcpiWalkNamespace ( 546433d6423SLionel Sambuc ACPI_OBJECT_TYPE Type, 547433d6423SLionel Sambuc ACPI_HANDLE StartObject, 548433d6423SLionel Sambuc UINT32 MaxDepth, 549*29492bb7SDavid van Moolenbroek ACPI_WALK_CALLBACK DescendingCallback, 550*29492bb7SDavid van Moolenbroek ACPI_WALK_CALLBACK AscendingCallback, 551433d6423SLionel Sambuc void *Context, 552*29492bb7SDavid van Moolenbroek void **ReturnValue)) 553433d6423SLionel Sambuc 554*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 555433d6423SLionel Sambuc ACPI_STATUS 556433d6423SLionel Sambuc AcpiGetDevices ( 557433d6423SLionel Sambuc char *HID, 558433d6423SLionel Sambuc ACPI_WALK_CALLBACK UserFunction, 559433d6423SLionel Sambuc void *Context, 560*29492bb7SDavid van Moolenbroek void **ReturnValue)) 561433d6423SLionel Sambuc 562*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 563433d6423SLionel Sambuc ACPI_STATUS 564433d6423SLionel Sambuc AcpiGetName ( 565433d6423SLionel Sambuc ACPI_HANDLE Object, 566433d6423SLionel Sambuc UINT32 NameType, 567*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetPathPtr)) 568433d6423SLionel Sambuc 569*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 570433d6423SLionel Sambuc ACPI_STATUS 571433d6423SLionel Sambuc AcpiGetHandle ( 572433d6423SLionel Sambuc ACPI_HANDLE Parent, 573433d6423SLionel Sambuc ACPI_STRING Pathname, 574*29492bb7SDavid van Moolenbroek ACPI_HANDLE *RetHandle)) 575433d6423SLionel Sambuc 576*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 577433d6423SLionel Sambuc ACPI_STATUS 578433d6423SLionel Sambuc AcpiAttachData ( 579433d6423SLionel Sambuc ACPI_HANDLE Object, 580433d6423SLionel Sambuc ACPI_OBJECT_HANDLER Handler, 581*29492bb7SDavid van Moolenbroek void *Data)) 582433d6423SLionel Sambuc 583*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 584433d6423SLionel Sambuc ACPI_STATUS 585433d6423SLionel Sambuc AcpiDetachData ( 586433d6423SLionel Sambuc ACPI_HANDLE Object, 587*29492bb7SDavid van Moolenbroek ACPI_OBJECT_HANDLER Handler)) 588433d6423SLionel Sambuc 589*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 590433d6423SLionel Sambuc ACPI_STATUS 591433d6423SLionel Sambuc AcpiGetData ( 592433d6423SLionel Sambuc ACPI_HANDLE Object, 593433d6423SLionel Sambuc ACPI_OBJECT_HANDLER Handler, 594*29492bb7SDavid van Moolenbroek void **Data)) 595433d6423SLionel Sambuc 596*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 597433d6423SLionel Sambuc ACPI_STATUS 598433d6423SLionel Sambuc AcpiDebugTrace ( 599433d6423SLionel Sambuc char *Name, 600433d6423SLionel Sambuc UINT32 DebugLevel, 601433d6423SLionel Sambuc UINT32 DebugLayer, 602*29492bb7SDavid van Moolenbroek UINT32 Flags)) 603433d6423SLionel Sambuc 604433d6423SLionel Sambuc 605433d6423SLionel Sambuc /* 606433d6423SLionel Sambuc * Object manipulation and enumeration 607433d6423SLionel Sambuc */ 608*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 609433d6423SLionel Sambuc ACPI_STATUS 610433d6423SLionel Sambuc AcpiEvaluateObject ( 611433d6423SLionel Sambuc ACPI_HANDLE Object, 612433d6423SLionel Sambuc ACPI_STRING Pathname, 613433d6423SLionel Sambuc ACPI_OBJECT_LIST *ParameterObjects, 614*29492bb7SDavid van Moolenbroek ACPI_BUFFER *ReturnObjectBuffer)) 615433d6423SLionel Sambuc 616*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 617433d6423SLionel Sambuc ACPI_STATUS 618433d6423SLionel Sambuc AcpiEvaluateObjectTyped ( 619433d6423SLionel Sambuc ACPI_HANDLE Object, 620433d6423SLionel Sambuc ACPI_STRING Pathname, 621433d6423SLionel Sambuc ACPI_OBJECT_LIST *ExternalParams, 622433d6423SLionel Sambuc ACPI_BUFFER *ReturnBuffer, 623*29492bb7SDavid van Moolenbroek ACPI_OBJECT_TYPE ReturnType)) 624433d6423SLionel Sambuc 625*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 626433d6423SLionel Sambuc ACPI_STATUS 627433d6423SLionel Sambuc AcpiGetObjectInfo ( 628433d6423SLionel Sambuc ACPI_HANDLE Object, 629*29492bb7SDavid van Moolenbroek ACPI_DEVICE_INFO **ReturnBuffer)) 630433d6423SLionel Sambuc 631*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 632433d6423SLionel Sambuc ACPI_STATUS 633433d6423SLionel Sambuc AcpiInstallMethod ( 634*29492bb7SDavid van Moolenbroek UINT8 *Buffer)) 635433d6423SLionel Sambuc 636*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 637433d6423SLionel Sambuc ACPI_STATUS 638433d6423SLionel Sambuc AcpiGetNextObject ( 639433d6423SLionel Sambuc ACPI_OBJECT_TYPE Type, 640433d6423SLionel Sambuc ACPI_HANDLE Parent, 641433d6423SLionel Sambuc ACPI_HANDLE Child, 642*29492bb7SDavid van Moolenbroek ACPI_HANDLE *OutHandle)) 643433d6423SLionel Sambuc 644*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 645433d6423SLionel Sambuc ACPI_STATUS 646433d6423SLionel Sambuc AcpiGetType ( 647433d6423SLionel Sambuc ACPI_HANDLE Object, 648*29492bb7SDavid van Moolenbroek ACPI_OBJECT_TYPE *OutType)) 649433d6423SLionel Sambuc 650*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 651433d6423SLionel Sambuc ACPI_STATUS 652433d6423SLionel Sambuc AcpiGetParent ( 653433d6423SLionel Sambuc ACPI_HANDLE Object, 654*29492bb7SDavid van Moolenbroek ACPI_HANDLE *OutHandle)) 655433d6423SLionel Sambuc 656433d6423SLionel Sambuc 657433d6423SLionel Sambuc /* 658433d6423SLionel Sambuc * Handler interfaces 659433d6423SLionel Sambuc */ 660*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 661433d6423SLionel Sambuc ACPI_STATUS 662433d6423SLionel Sambuc AcpiInstallInitializationHandler ( 663433d6423SLionel Sambuc ACPI_INIT_HANDLER Handler, 664*29492bb7SDavid van Moolenbroek UINT32 Function)) 665433d6423SLionel Sambuc 666*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 667*29492bb7SDavid van Moolenbroek ACPI_STATUS 668*29492bb7SDavid van Moolenbroek AcpiInstallSciHandler ( 669*29492bb7SDavid van Moolenbroek ACPI_SCI_HANDLER Address, 670*29492bb7SDavid van Moolenbroek void *Context)) 671*29492bb7SDavid van Moolenbroek 672*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 673*29492bb7SDavid van Moolenbroek ACPI_STATUS 674*29492bb7SDavid van Moolenbroek AcpiRemoveSciHandler ( 675*29492bb7SDavid van Moolenbroek ACPI_SCI_HANDLER Address)) 676*29492bb7SDavid van Moolenbroek 677*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 678*29492bb7SDavid van Moolenbroek ACPI_STATUS 679*29492bb7SDavid van Moolenbroek AcpiInstallGlobalEventHandler ( 680*29492bb7SDavid van Moolenbroek ACPI_GBL_EVENT_HANDLER Handler, 681*29492bb7SDavid van Moolenbroek void *Context)) 682*29492bb7SDavid van Moolenbroek 683*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 684433d6423SLionel Sambuc ACPI_STATUS 685433d6423SLionel Sambuc AcpiInstallFixedEventHandler ( 686433d6423SLionel Sambuc UINT32 AcpiEvent, 687433d6423SLionel Sambuc ACPI_EVENT_HANDLER Handler, 688*29492bb7SDavid van Moolenbroek void *Context)) 689433d6423SLionel Sambuc 690*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 691433d6423SLionel Sambuc ACPI_STATUS 692433d6423SLionel Sambuc AcpiRemoveFixedEventHandler ( 693433d6423SLionel Sambuc UINT32 AcpiEvent, 694*29492bb7SDavid van Moolenbroek ACPI_EVENT_HANDLER Handler)) 695433d6423SLionel Sambuc 696*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 697*29492bb7SDavid van Moolenbroek ACPI_STATUS 698*29492bb7SDavid van Moolenbroek AcpiInstallGpeHandler ( 699*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice, 700*29492bb7SDavid van Moolenbroek UINT32 GpeNumber, 701*29492bb7SDavid van Moolenbroek UINT32 Type, 702*29492bb7SDavid van Moolenbroek ACPI_GPE_HANDLER Address, 703*29492bb7SDavid van Moolenbroek void *Context)) 704*29492bb7SDavid van Moolenbroek 705*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 706*29492bb7SDavid van Moolenbroek ACPI_STATUS 707*29492bb7SDavid van Moolenbroek AcpiRemoveGpeHandler ( 708*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice, 709*29492bb7SDavid van Moolenbroek UINT32 GpeNumber, 710*29492bb7SDavid van Moolenbroek ACPI_GPE_HANDLER Address)) 711*29492bb7SDavid van Moolenbroek 712*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 713433d6423SLionel Sambuc ACPI_STATUS 714433d6423SLionel Sambuc AcpiInstallNotifyHandler ( 715433d6423SLionel Sambuc ACPI_HANDLE Device, 716433d6423SLionel Sambuc UINT32 HandlerType, 717433d6423SLionel Sambuc ACPI_NOTIFY_HANDLER Handler, 718*29492bb7SDavid van Moolenbroek void *Context)) 719433d6423SLionel Sambuc 720*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 721433d6423SLionel Sambuc ACPI_STATUS 722433d6423SLionel Sambuc AcpiRemoveNotifyHandler ( 723433d6423SLionel Sambuc ACPI_HANDLE Device, 724433d6423SLionel Sambuc UINT32 HandlerType, 725*29492bb7SDavid van Moolenbroek ACPI_NOTIFY_HANDLER Handler)) 726433d6423SLionel Sambuc 727*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 728433d6423SLionel Sambuc ACPI_STATUS 729433d6423SLionel Sambuc AcpiInstallAddressSpaceHandler ( 730433d6423SLionel Sambuc ACPI_HANDLE Device, 731433d6423SLionel Sambuc ACPI_ADR_SPACE_TYPE SpaceId, 732433d6423SLionel Sambuc ACPI_ADR_SPACE_HANDLER Handler, 733433d6423SLionel Sambuc ACPI_ADR_SPACE_SETUP Setup, 734*29492bb7SDavid van Moolenbroek void *Context)) 735433d6423SLionel Sambuc 736*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 737433d6423SLionel Sambuc ACPI_STATUS 738433d6423SLionel Sambuc AcpiRemoveAddressSpaceHandler ( 739433d6423SLionel Sambuc ACPI_HANDLE Device, 740433d6423SLionel Sambuc ACPI_ADR_SPACE_TYPE SpaceId, 741*29492bb7SDavid van Moolenbroek ACPI_ADR_SPACE_HANDLER Handler)) 742433d6423SLionel Sambuc 743*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 744433d6423SLionel Sambuc ACPI_STATUS 745433d6423SLionel Sambuc AcpiInstallExceptionHandler ( 746*29492bb7SDavid van Moolenbroek ACPI_EXCEPTION_HANDLER Handler)) 747*29492bb7SDavid van Moolenbroek 748*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 749*29492bb7SDavid van Moolenbroek ACPI_STATUS 750*29492bb7SDavid van Moolenbroek AcpiInstallInterfaceHandler ( 751*29492bb7SDavid van Moolenbroek ACPI_INTERFACE_HANDLER Handler)) 752433d6423SLionel Sambuc 753433d6423SLionel Sambuc 754433d6423SLionel Sambuc /* 755*29492bb7SDavid van Moolenbroek * Global Lock interfaces 756433d6423SLionel Sambuc */ 757*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 758433d6423SLionel Sambuc ACPI_STATUS 759433d6423SLionel Sambuc AcpiAcquireGlobalLock ( 760433d6423SLionel Sambuc UINT16 Timeout, 761*29492bb7SDavid van Moolenbroek UINT32 *Handle)) 762433d6423SLionel Sambuc 763*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 764433d6423SLionel Sambuc ACPI_STATUS 765433d6423SLionel Sambuc AcpiReleaseGlobalLock ( 766*29492bb7SDavid van Moolenbroek UINT32 Handle)) 767433d6423SLionel Sambuc 768433d6423SLionel Sambuc 769433d6423SLionel Sambuc /* 770*29492bb7SDavid van Moolenbroek * Interfaces to AML mutex objects 771433d6423SLionel Sambuc */ 772*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 773*29492bb7SDavid van Moolenbroek ACPI_STATUS 774*29492bb7SDavid van Moolenbroek AcpiAcquireMutex ( 775*29492bb7SDavid van Moolenbroek ACPI_HANDLE Handle, 776*29492bb7SDavid van Moolenbroek ACPI_STRING Pathname, 777*29492bb7SDavid van Moolenbroek UINT16 Timeout)) 778*29492bb7SDavid van Moolenbroek 779*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 780*29492bb7SDavid van Moolenbroek ACPI_STATUS 781*29492bb7SDavid van Moolenbroek AcpiReleaseMutex ( 782*29492bb7SDavid van Moolenbroek ACPI_HANDLE Handle, 783*29492bb7SDavid van Moolenbroek ACPI_STRING Pathname)) 784*29492bb7SDavid van Moolenbroek 785*29492bb7SDavid van Moolenbroek 786*29492bb7SDavid van Moolenbroek /* 787*29492bb7SDavid van Moolenbroek * Fixed Event interfaces 788*29492bb7SDavid van Moolenbroek */ 789*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 790*29492bb7SDavid van Moolenbroek ACPI_STATUS 791*29492bb7SDavid van Moolenbroek AcpiEnableEvent ( 792*29492bb7SDavid van Moolenbroek UINT32 Event, 793*29492bb7SDavid van Moolenbroek UINT32 Flags)) 794*29492bb7SDavid van Moolenbroek 795*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 796*29492bb7SDavid van Moolenbroek ACPI_STATUS 797*29492bb7SDavid van Moolenbroek AcpiDisableEvent ( 798*29492bb7SDavid van Moolenbroek UINT32 Event, 799*29492bb7SDavid van Moolenbroek UINT32 Flags)) 800*29492bb7SDavid van Moolenbroek 801*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 802*29492bb7SDavid van Moolenbroek ACPI_STATUS 803*29492bb7SDavid van Moolenbroek AcpiClearEvent ( 804*29492bb7SDavid van Moolenbroek UINT32 Event)) 805*29492bb7SDavid van Moolenbroek 806*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 807*29492bb7SDavid van Moolenbroek ACPI_STATUS 808*29492bb7SDavid van Moolenbroek AcpiGetEventStatus ( 809*29492bb7SDavid van Moolenbroek UINT32 Event, 810*29492bb7SDavid van Moolenbroek ACPI_EVENT_STATUS *EventStatus)) 811*29492bb7SDavid van Moolenbroek 812*29492bb7SDavid van Moolenbroek 813*29492bb7SDavid van Moolenbroek /* 814*29492bb7SDavid van Moolenbroek * General Purpose Event (GPE) Interfaces 815*29492bb7SDavid van Moolenbroek */ 816*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 817*29492bb7SDavid van Moolenbroek ACPI_STATUS 818*29492bb7SDavid van Moolenbroek AcpiUpdateAllGpes ( 819*29492bb7SDavid van Moolenbroek void)) 820*29492bb7SDavid van Moolenbroek 821*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 822*29492bb7SDavid van Moolenbroek ACPI_STATUS 823*29492bb7SDavid van Moolenbroek AcpiEnableGpe ( 824*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice, 825*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 826*29492bb7SDavid van Moolenbroek 827*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 828*29492bb7SDavid van Moolenbroek ACPI_STATUS 829*29492bb7SDavid van Moolenbroek AcpiDisableGpe ( 830*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice, 831*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 832*29492bb7SDavid van Moolenbroek 833*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 834*29492bb7SDavid van Moolenbroek ACPI_STATUS 835*29492bb7SDavid van Moolenbroek AcpiClearGpe ( 836*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice, 837*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 838*29492bb7SDavid van Moolenbroek 839*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 840433d6423SLionel Sambuc ACPI_STATUS 841433d6423SLionel Sambuc AcpiSetGpe ( 842433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 843433d6423SLionel Sambuc UINT32 GpeNumber, 844*29492bb7SDavid van Moolenbroek UINT8 Action)) 845433d6423SLionel Sambuc 846*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 847433d6423SLionel Sambuc ACPI_STATUS 848*29492bb7SDavid van Moolenbroek AcpiFinishGpe ( 849433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 850*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 851433d6423SLionel Sambuc 852*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 853433d6423SLionel Sambuc ACPI_STATUS 854*29492bb7SDavid van Moolenbroek AcpiMarkGpeForWake ( 855433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 856*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 857433d6423SLionel Sambuc 858*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 859433d6423SLionel Sambuc ACPI_STATUS 860*29492bb7SDavid van Moolenbroek AcpiSetupGpeForWake ( 861*29492bb7SDavid van Moolenbroek ACPI_HANDLE ParentDevice, 862433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 863*29492bb7SDavid van Moolenbroek UINT32 GpeNumber)) 864433d6423SLionel Sambuc 865*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 866433d6423SLionel Sambuc ACPI_STATUS 867*29492bb7SDavid van Moolenbroek AcpiSetGpeWakeMask ( 868433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 869433d6423SLionel Sambuc UINT32 GpeNumber, 870*29492bb7SDavid van Moolenbroek UINT8 Action)) 871433d6423SLionel Sambuc 872*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 873433d6423SLionel Sambuc ACPI_STATUS 874433d6423SLionel Sambuc AcpiGetGpeStatus ( 875433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 876433d6423SLionel Sambuc UINT32 GpeNumber, 877*29492bb7SDavid van Moolenbroek ACPI_EVENT_STATUS *EventStatus)) 878433d6423SLionel Sambuc 879*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 880433d6423SLionel Sambuc ACPI_STATUS 881433d6423SLionel Sambuc AcpiDisableAllGpes ( 882*29492bb7SDavid van Moolenbroek void)) 883433d6423SLionel Sambuc 884*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 885433d6423SLionel Sambuc ACPI_STATUS 886433d6423SLionel Sambuc AcpiEnableAllRuntimeGpes ( 887*29492bb7SDavid van Moolenbroek void)) 888433d6423SLionel Sambuc 889*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 890433d6423SLionel Sambuc ACPI_STATUS 891433d6423SLionel Sambuc AcpiGetGpeDevice ( 892433d6423SLionel Sambuc UINT32 GpeIndex, 893*29492bb7SDavid van Moolenbroek ACPI_HANDLE *GpeDevice)) 894433d6423SLionel Sambuc 895*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 896433d6423SLionel Sambuc ACPI_STATUS 897433d6423SLionel Sambuc AcpiInstallGpeBlock ( 898433d6423SLionel Sambuc ACPI_HANDLE GpeDevice, 899433d6423SLionel Sambuc ACPI_GENERIC_ADDRESS *GpeBlockAddress, 900433d6423SLionel Sambuc UINT32 RegisterCount, 901*29492bb7SDavid van Moolenbroek UINT32 InterruptNumber)) 902433d6423SLionel Sambuc 903*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 904433d6423SLionel Sambuc ACPI_STATUS 905433d6423SLionel Sambuc AcpiRemoveGpeBlock ( 906*29492bb7SDavid van Moolenbroek ACPI_HANDLE GpeDevice)) 907433d6423SLionel Sambuc 908433d6423SLionel Sambuc 909433d6423SLionel Sambuc /* 910433d6423SLionel Sambuc * Resource interfaces 911433d6423SLionel Sambuc */ 912433d6423SLionel Sambuc typedef 913433d6423SLionel Sambuc ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( 914433d6423SLionel Sambuc ACPI_RESOURCE *Resource, 915433d6423SLionel Sambuc void *Context); 916433d6423SLionel Sambuc 917*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 918433d6423SLionel Sambuc ACPI_STATUS 919433d6423SLionel Sambuc AcpiGetVendorResource ( 920433d6423SLionel Sambuc ACPI_HANDLE Device, 921433d6423SLionel Sambuc char *Name, 922433d6423SLionel Sambuc ACPI_VENDOR_UUID *Uuid, 923*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 924433d6423SLionel Sambuc 925*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 926433d6423SLionel Sambuc ACPI_STATUS 927433d6423SLionel Sambuc AcpiGetCurrentResources ( 928433d6423SLionel Sambuc ACPI_HANDLE Device, 929*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 930433d6423SLionel Sambuc 931*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 932433d6423SLionel Sambuc ACPI_STATUS 933433d6423SLionel Sambuc AcpiGetPossibleResources ( 934433d6423SLionel Sambuc ACPI_HANDLE Device, 935*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 936433d6423SLionel Sambuc 937*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 938*29492bb7SDavid van Moolenbroek ACPI_STATUS 939*29492bb7SDavid van Moolenbroek AcpiGetEventResources ( 940*29492bb7SDavid van Moolenbroek ACPI_HANDLE DeviceHandle, 941*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 942*29492bb7SDavid van Moolenbroek 943*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 944*29492bb7SDavid van Moolenbroek ACPI_STATUS 945*29492bb7SDavid van Moolenbroek AcpiWalkResourceBuffer ( 946*29492bb7SDavid van Moolenbroek ACPI_BUFFER *Buffer, 947*29492bb7SDavid van Moolenbroek ACPI_WALK_RESOURCE_CALLBACK UserFunction, 948*29492bb7SDavid van Moolenbroek void *Context)) 949*29492bb7SDavid van Moolenbroek 950*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 951433d6423SLionel Sambuc ACPI_STATUS 952433d6423SLionel Sambuc AcpiWalkResources ( 953433d6423SLionel Sambuc ACPI_HANDLE Device, 954433d6423SLionel Sambuc char *Name, 955433d6423SLionel Sambuc ACPI_WALK_RESOURCE_CALLBACK UserFunction, 956*29492bb7SDavid van Moolenbroek void *Context)) 957433d6423SLionel Sambuc 958*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 959433d6423SLionel Sambuc ACPI_STATUS 960433d6423SLionel Sambuc AcpiSetCurrentResources ( 961433d6423SLionel Sambuc ACPI_HANDLE Device, 962*29492bb7SDavid van Moolenbroek ACPI_BUFFER *InBuffer)) 963433d6423SLionel Sambuc 964*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 965433d6423SLionel Sambuc ACPI_STATUS 966433d6423SLionel Sambuc AcpiGetIrqRoutingTable ( 967433d6423SLionel Sambuc ACPI_HANDLE Device, 968*29492bb7SDavid van Moolenbroek ACPI_BUFFER *RetBuffer)) 969433d6423SLionel Sambuc 970*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 971433d6423SLionel Sambuc ACPI_STATUS 972433d6423SLionel Sambuc AcpiResourceToAddress64 ( 973433d6423SLionel Sambuc ACPI_RESOURCE *Resource, 974*29492bb7SDavid van Moolenbroek ACPI_RESOURCE_ADDRESS64 *Out)) 975*29492bb7SDavid van Moolenbroek 976*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 977*29492bb7SDavid van Moolenbroek ACPI_STATUS 978*29492bb7SDavid van Moolenbroek AcpiBufferToResource ( 979*29492bb7SDavid van Moolenbroek UINT8 *AmlBuffer, 980*29492bb7SDavid van Moolenbroek UINT16 AmlBufferLength, 981*29492bb7SDavid van Moolenbroek ACPI_RESOURCE **ResourcePtr)) 982433d6423SLionel Sambuc 983433d6423SLionel Sambuc 984433d6423SLionel Sambuc /* 985433d6423SLionel Sambuc * Hardware (ACPI device) interfaces 986433d6423SLionel Sambuc */ 987*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 988433d6423SLionel Sambuc ACPI_STATUS 989433d6423SLionel Sambuc AcpiReset ( 990*29492bb7SDavid van Moolenbroek void)) 991433d6423SLionel Sambuc 992*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 993433d6423SLionel Sambuc ACPI_STATUS 994433d6423SLionel Sambuc AcpiRead ( 995433d6423SLionel Sambuc UINT64 *Value, 996*29492bb7SDavid van Moolenbroek ACPI_GENERIC_ADDRESS *Reg)) 997433d6423SLionel Sambuc 998*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 999433d6423SLionel Sambuc ACPI_STATUS 1000433d6423SLionel Sambuc AcpiWrite ( 1001433d6423SLionel Sambuc UINT64 Value, 1002*29492bb7SDavid van Moolenbroek ACPI_GENERIC_ADDRESS *Reg)) 1003433d6423SLionel Sambuc 1004*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1005433d6423SLionel Sambuc ACPI_STATUS 1006433d6423SLionel Sambuc AcpiReadBitRegister ( 1007433d6423SLionel Sambuc UINT32 RegisterId, 1008*29492bb7SDavid van Moolenbroek UINT32 *ReturnValue)) 1009433d6423SLionel Sambuc 1010*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1011433d6423SLionel Sambuc ACPI_STATUS 1012433d6423SLionel Sambuc AcpiWriteBitRegister ( 1013433d6423SLionel Sambuc UINT32 RegisterId, 1014*29492bb7SDavid van Moolenbroek UINT32 Value)) 1015433d6423SLionel Sambuc 1016*29492bb7SDavid van Moolenbroek 1017*29492bb7SDavid van Moolenbroek /* 1018*29492bb7SDavid van Moolenbroek * Sleep/Wake interfaces 1019*29492bb7SDavid van Moolenbroek */ 1020*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 1021433d6423SLionel Sambuc ACPI_STATUS 1022433d6423SLionel Sambuc AcpiGetSleepTypeData ( 1023433d6423SLionel Sambuc UINT8 SleepState, 1024433d6423SLionel Sambuc UINT8 *Slp_TypA, 1025*29492bb7SDavid van Moolenbroek UINT8 *Slp_TypB)) 1026433d6423SLionel Sambuc 1027*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 1028433d6423SLionel Sambuc ACPI_STATUS 1029433d6423SLionel Sambuc AcpiEnterSleepStatePrep ( 1030*29492bb7SDavid van Moolenbroek UINT8 SleepState)) 1031433d6423SLionel Sambuc 1032*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 1033433d6423SLionel Sambuc ACPI_STATUS 1034433d6423SLionel Sambuc AcpiEnterSleepState ( 1035*29492bb7SDavid van Moolenbroek UINT8 SleepState)) 1036433d6423SLionel Sambuc 1037*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1038433d6423SLionel Sambuc ACPI_STATUS 1039433d6423SLionel Sambuc AcpiEnterSleepStateS4bios ( 1040*29492bb7SDavid van Moolenbroek void)) 1041433d6423SLionel Sambuc 1042*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 1043*29492bb7SDavid van Moolenbroek ACPI_STATUS 1044*29492bb7SDavid van Moolenbroek AcpiLeaveSleepStatePrep ( 1045*29492bb7SDavid van Moolenbroek UINT8 SleepState)) 1046*29492bb7SDavid van Moolenbroek 1047*29492bb7SDavid van Moolenbroek ACPI_EXTERNAL_RETURN_STATUS ( 1048433d6423SLionel Sambuc ACPI_STATUS 1049433d6423SLionel Sambuc AcpiLeaveSleepState ( 1050*29492bb7SDavid van Moolenbroek UINT8 SleepState)) 1051*29492bb7SDavid van Moolenbroek 1052*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1053433d6423SLionel Sambuc ACPI_STATUS 1054433d6423SLionel Sambuc AcpiSetFirmwareWakingVector ( 1055*29492bb7SDavid van Moolenbroek UINT32 PhysicalAddress)) 1056433d6423SLionel Sambuc 1057433d6423SLionel Sambuc #if ACPI_MACHINE_WIDTH == 64 1058*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1059433d6423SLionel Sambuc ACPI_STATUS 1060433d6423SLionel Sambuc AcpiSetFirmwareWakingVector64 ( 1061*29492bb7SDavid van Moolenbroek UINT64 PhysicalAddress)) 1062433d6423SLionel Sambuc #endif 1063433d6423SLionel Sambuc 1064433d6423SLionel Sambuc 1065433d6423SLionel Sambuc /* 1066*29492bb7SDavid van Moolenbroek * ACPI Timer interfaces 1067*29492bb7SDavid van Moolenbroek */ 1068*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1069*29492bb7SDavid van Moolenbroek ACPI_STATUS 1070*29492bb7SDavid van Moolenbroek AcpiGetTimerResolution ( 1071*29492bb7SDavid van Moolenbroek UINT32 *Resolution)) 1072*29492bb7SDavid van Moolenbroek 1073*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1074*29492bb7SDavid van Moolenbroek ACPI_STATUS 1075*29492bb7SDavid van Moolenbroek AcpiGetTimer ( 1076*29492bb7SDavid van Moolenbroek UINT32 *Ticks)) 1077*29492bb7SDavid van Moolenbroek 1078*29492bb7SDavid van Moolenbroek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1079*29492bb7SDavid van Moolenbroek ACPI_STATUS 1080*29492bb7SDavid van Moolenbroek AcpiGetTimerDuration ( 1081*29492bb7SDavid van Moolenbroek UINT32 StartTicks, 1082*29492bb7SDavid van Moolenbroek UINT32 EndTicks, 1083*29492bb7SDavid van Moolenbroek UINT32 *TimeElapsed)) 1084*29492bb7SDavid van Moolenbroek 1085*29492bb7SDavid van Moolenbroek 1086*29492bb7SDavid van Moolenbroek /* 1087433d6423SLionel Sambuc * Error/Warning output 1088433d6423SLionel Sambuc */ 1089*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1090*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(3) 1091433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1092433d6423SLionel Sambuc AcpiError ( 1093433d6423SLionel Sambuc const char *ModuleName, 1094433d6423SLionel Sambuc UINT32 LineNumber, 1095433d6423SLionel Sambuc const char *Format, 1096*29492bb7SDavid van Moolenbroek ...)) 1097433d6423SLionel Sambuc 1098*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1099*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(4) 1100433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1101433d6423SLionel Sambuc AcpiException ( 1102433d6423SLionel Sambuc const char *ModuleName, 1103433d6423SLionel Sambuc UINT32 LineNumber, 1104433d6423SLionel Sambuc ACPI_STATUS Status, 1105433d6423SLionel Sambuc const char *Format, 1106*29492bb7SDavid van Moolenbroek ...)) 1107433d6423SLionel Sambuc 1108*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1109*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(3) 1110433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1111433d6423SLionel Sambuc AcpiWarning ( 1112433d6423SLionel Sambuc const char *ModuleName, 1113433d6423SLionel Sambuc UINT32 LineNumber, 1114433d6423SLionel Sambuc const char *Format, 1115*29492bb7SDavid van Moolenbroek ...)) 1116433d6423SLionel Sambuc 1117*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1118*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(3) 1119433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1120433d6423SLionel Sambuc AcpiInfo ( 1121433d6423SLionel Sambuc const char *ModuleName, 1122433d6423SLionel Sambuc UINT32 LineNumber, 1123433d6423SLionel Sambuc const char *Format, 1124*29492bb7SDavid van Moolenbroek ...)) 1125*29492bb7SDavid van Moolenbroek 1126*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1127*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(3) 1128*29492bb7SDavid van Moolenbroek void ACPI_INTERNAL_VAR_XFACE 1129*29492bb7SDavid van Moolenbroek AcpiBiosError ( 1130*29492bb7SDavid van Moolenbroek const char *ModuleName, 1131*29492bb7SDavid van Moolenbroek UINT32 LineNumber, 1132*29492bb7SDavid van Moolenbroek const char *Format, 1133*29492bb7SDavid van Moolenbroek ...)) 1134*29492bb7SDavid van Moolenbroek 1135*29492bb7SDavid van Moolenbroek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1136*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(3) 1137*29492bb7SDavid van Moolenbroek void ACPI_INTERNAL_VAR_XFACE 1138*29492bb7SDavid van Moolenbroek AcpiBiosWarning ( 1139*29492bb7SDavid van Moolenbroek const char *ModuleName, 1140*29492bb7SDavid van Moolenbroek UINT32 LineNumber, 1141*29492bb7SDavid van Moolenbroek const char *Format, 1142*29492bb7SDavid van Moolenbroek ...)) 1143433d6423SLionel Sambuc 1144433d6423SLionel Sambuc 1145433d6423SLionel Sambuc /* 1146433d6423SLionel Sambuc * Debug output 1147433d6423SLionel Sambuc */ 1148*29492bb7SDavid van Moolenbroek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1149*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(6) 1150433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1151433d6423SLionel Sambuc AcpiDebugPrint ( 1152433d6423SLionel Sambuc UINT32 RequestedDebugLevel, 1153433d6423SLionel Sambuc UINT32 LineNumber, 1154433d6423SLionel Sambuc const char *FunctionName, 1155433d6423SLionel Sambuc const char *ModuleName, 1156433d6423SLionel Sambuc UINT32 ComponentId, 1157433d6423SLionel Sambuc const char *Format, 1158*29492bb7SDavid van Moolenbroek ...)) 1159433d6423SLionel Sambuc 1160*29492bb7SDavid van Moolenbroek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1161*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(6) 1162433d6423SLionel Sambuc void ACPI_INTERNAL_VAR_XFACE 1163433d6423SLionel Sambuc AcpiDebugPrintRaw ( 1164433d6423SLionel Sambuc UINT32 RequestedDebugLevel, 1165433d6423SLionel Sambuc UINT32 LineNumber, 1166433d6423SLionel Sambuc const char *FunctionName, 1167433d6423SLionel Sambuc const char *ModuleName, 1168433d6423SLionel Sambuc UINT32 ComponentId, 1169433d6423SLionel Sambuc const char *Format, 1170*29492bb7SDavid van Moolenbroek ...)) 1171*29492bb7SDavid van Moolenbroek 1172*29492bb7SDavid van Moolenbroek ACPI_APP_DEPENDENT_RETURN_VOID ( 1173*29492bb7SDavid van Moolenbroek ACPI_PRINTF_LIKE(1) 1174*29492bb7SDavid van Moolenbroek void ACPI_INTERNAL_VAR_XFACE 1175*29492bb7SDavid van Moolenbroek AcpiLogError ( 1176*29492bb7SDavid van Moolenbroek const char *Format, 1177*29492bb7SDavid van Moolenbroek ...)) 1178433d6423SLionel Sambuc 1179433d6423SLionel Sambuc #endif /* __ACXFACE_H__ */ 1180