10d02842fSSascha Wildner /******************************************************************************
20d02842fSSascha Wildner  *
30d02842fSSascha Wildner  * Name: acpixf.h - External interfaces to the ACPI subsystem
40d02842fSSascha Wildner  *
50d02842fSSascha Wildner  *****************************************************************************/
60d02842fSSascha Wildner 
70d02842fSSascha Wildner /*
8f5f76cf2SSascha Wildner  * Copyright (C) 2000 - 2016, Intel Corp.
90d02842fSSascha Wildner  * All rights reserved.
100d02842fSSascha Wildner  *
110d02842fSSascha Wildner  * Redistribution and use in source and binary forms, with or without
120d02842fSSascha Wildner  * modification, are permitted provided that the following conditions
130d02842fSSascha Wildner  * are met:
140d02842fSSascha Wildner  * 1. Redistributions of source code must retain the above copyright
150d02842fSSascha Wildner  *    notice, this list of conditions, and the following disclaimer,
160d02842fSSascha Wildner  *    without modification.
170d02842fSSascha Wildner  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
180d02842fSSascha Wildner  *    substantially similar to the "NO WARRANTY" disclaimer below
190d02842fSSascha Wildner  *    ("Disclaimer") and any redistribution must be conditioned upon
200d02842fSSascha Wildner  *    including a substantially similar Disclaimer requirement for further
210d02842fSSascha Wildner  *    binary redistribution.
220d02842fSSascha Wildner  * 3. Neither the names of the above-listed copyright holders nor the names
230d02842fSSascha Wildner  *    of any contributors may be used to endorse or promote products derived
240d02842fSSascha Wildner  *    from this software without specific prior written permission.
250d02842fSSascha Wildner  *
260d02842fSSascha Wildner  * Alternatively, this software may be distributed under the terms of the
270d02842fSSascha Wildner  * GNU General Public License ("GPL") version 2 as published by the Free
280d02842fSSascha Wildner  * Software Foundation.
290d02842fSSascha Wildner  *
300d02842fSSascha Wildner  * NO WARRANTY
310d02842fSSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
320d02842fSSascha Wildner  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
330d02842fSSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
340d02842fSSascha Wildner  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
350d02842fSSascha Wildner  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
360d02842fSSascha Wildner  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
370d02842fSSascha Wildner  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
380d02842fSSascha Wildner  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
390d02842fSSascha Wildner  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
400d02842fSSascha Wildner  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
410d02842fSSascha Wildner  * POSSIBILITY OF SUCH DAMAGES.
420d02842fSSascha Wildner  */
430d02842fSSascha Wildner 
440d02842fSSascha Wildner #ifndef __ACXFACE_H__
450d02842fSSascha Wildner #define __ACXFACE_H__
460d02842fSSascha Wildner 
470d02842fSSascha Wildner /* Current ACPICA subsystem version in YYYYMMDD format */
480d02842fSSascha Wildner 
49*277350a0SSascha Wildner #define ACPI_CA_VERSION                 0x20160729
500d02842fSSascha Wildner 
510d02842fSSascha Wildner #include "acconfig.h"
520d02842fSSascha Wildner #include "actypes.h"
530d02842fSSascha Wildner #include "actbl.h"
540d02842fSSascha Wildner #include "acbuffer.h"
550d02842fSSascha Wildner 
569e1c0880SSascha Wildner 
579e1c0880SSascha Wildner /*****************************************************************************
589e1c0880SSascha Wildner  *
599e1c0880SSascha Wildner  * Macros used for ACPICA globals and configuration
609e1c0880SSascha Wildner  *
619e1c0880SSascha Wildner  ****************************************************************************/
629e1c0880SSascha Wildner 
630d02842fSSascha Wildner /*
649e1c0880SSascha Wildner  * Ensure that global variables are defined and initialized only once.
659e1c0880SSascha Wildner  *
669e1c0880SSascha Wildner  * The use of these macros allows for a single list of globals (here)
679e1c0880SSascha Wildner  * in order to simplify maintenance of the code.
680d02842fSSascha Wildner  */
699e1c0880SSascha Wildner #ifdef DEFINE_ACPI_GLOBALS
709e1c0880SSascha Wildner #define ACPI_GLOBAL(type,name) \
719e1c0880SSascha Wildner     extern type name; \
729e1c0880SSascha Wildner     type name
730d02842fSSascha Wildner 
749e1c0880SSascha Wildner #define ACPI_INIT_GLOBAL(type,name,value) \
759e1c0880SSascha Wildner     type name=value
760d02842fSSascha Wildner 
779e1c0880SSascha Wildner #else
789e1c0880SSascha Wildner #ifndef ACPI_GLOBAL
799e1c0880SSascha Wildner #define ACPI_GLOBAL(type,name) \
809e1c0880SSascha Wildner     extern type name
819e1c0880SSascha Wildner #endif
820d02842fSSascha Wildner 
839e1c0880SSascha Wildner #ifndef ACPI_INIT_GLOBAL
849e1c0880SSascha Wildner #define ACPI_INIT_GLOBAL(type,name,value) \
859e1c0880SSascha Wildner     extern type name
869e1c0880SSascha Wildner #endif
879e1c0880SSascha Wildner #endif
880d02842fSSascha Wildner 
890d02842fSSascha Wildner /*
909e1c0880SSascha Wildner  * These macros configure the various ACPICA interfaces. They are
919e1c0880SSascha Wildner  * useful for generating stub inline functions for features that are
929e1c0880SSascha Wildner  * configured out of the current kernel or ACPICA application.
939e1c0880SSascha Wildner  */
949e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_STATUS
959e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
969e1c0880SSascha Wildner     Prototype;
979e1c0880SSascha Wildner #endif
989e1c0880SSascha Wildner 
999e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_OK
1009e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
1019e1c0880SSascha Wildner     Prototype;
1029e1c0880SSascha Wildner #endif
1039e1c0880SSascha Wildner 
1049e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_VOID
1059e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
1069e1c0880SSascha Wildner     Prototype;
1079e1c0880SSascha Wildner #endif
1089e1c0880SSascha Wildner 
1099e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_UINT32
1109e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
1119e1c0880SSascha Wildner     Prototype;
1129e1c0880SSascha Wildner #endif
1139e1c0880SSascha Wildner 
1149e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_PTR
1159e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
1169e1c0880SSascha Wildner     Prototype;
1179e1c0880SSascha Wildner #endif
1189e1c0880SSascha Wildner 
1199e1c0880SSascha Wildner 
1209e1c0880SSascha Wildner /*****************************************************************************
1219e1c0880SSascha Wildner  *
1229e1c0880SSascha Wildner  * Public globals and runtime configuration options
1239e1c0880SSascha Wildner  *
1249e1c0880SSascha Wildner  ****************************************************************************/
1259e1c0880SSascha Wildner 
1269e1c0880SSascha Wildner /*
1279e1c0880SSascha Wildner  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
1289e1c0880SSascha Wildner  * interpreter strictly follows the ACPI specification. Setting to TRUE
1299e1c0880SSascha Wildner  * allows the interpreter to ignore certain errors and/or bad AML constructs.
1309e1c0880SSascha Wildner  *
1319e1c0880SSascha Wildner  * Currently, these features are enabled by this flag:
1329e1c0880SSascha Wildner  *
1339e1c0880SSascha Wildner  * 1) Allow "implicit return" of last value in a control method
1349e1c0880SSascha Wildner  * 2) Allow access beyond the end of an operation region
1359e1c0880SSascha Wildner  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
1369e1c0880SSascha Wildner  * 4) Allow ANY object type to be a source operand for the Store() operator
1379e1c0880SSascha Wildner  * 5) Allow unresolved references (invalid target name) in package objects
1389e1c0880SSascha Wildner  * 6) Enable warning messages for behavior that is not ACPI spec compliant
1399e1c0880SSascha Wildner  */
1409e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
1419e1c0880SSascha Wildner 
1429e1c0880SSascha Wildner /*
1439e1c0880SSascha Wildner  * Automatically serialize all methods that create named objects? Default
1449e1c0880SSascha Wildner  * is TRUE, meaning that all NonSerialized methods are scanned once at
1459e1c0880SSascha Wildner  * table load time to determine those that create named objects. Methods
1469e1c0880SSascha Wildner  * that create named objects are marked Serialized in order to prevent
1479e1c0880SSascha Wildner  * possible run-time problems if they are entered by more than one thread.
1489e1c0880SSascha Wildner  */
1499e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
1509e1c0880SSascha Wildner 
1519e1c0880SSascha Wildner /*
1529e1c0880SSascha Wildner  * Create the predefined _OSI method in the namespace? Default is TRUE
1539e1c0880SSascha Wildner  * because ACPICA is fully compatible with other ACPI implementations.
1549e1c0880SSascha Wildner  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
1559e1c0880SSascha Wildner  */
1569e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
1579e1c0880SSascha Wildner 
1589e1c0880SSascha Wildner /*
1599e1c0880SSascha Wildner  * Optionally use default values for the ACPI register widths. Set this to
1609e1c0880SSascha Wildner  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
1619e1c0880SSascha Wildner  */
1629e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
1639e1c0880SSascha Wildner 
1649e1c0880SSascha Wildner /*
1655f39c7e7SSascha Wildner  * Whether or not to verify the table checksum before installation. Set
1665f39c7e7SSascha Wildner  * this to TRUE to verify the table checksum before install it to the table
1675f39c7e7SSascha Wildner  * manager. Note that enabling this option causes errors to happen in some
1685f39c7e7SSascha Wildner  * OSPMs during early initialization stages. Default behavior is to do such
1695f39c7e7SSascha Wildner  * verification.
1705f39c7e7SSascha Wildner  */
1715f39c7e7SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_VerifyTableChecksum, TRUE);
1725f39c7e7SSascha Wildner 
1735f39c7e7SSascha Wildner /*
1749e1c0880SSascha Wildner  * Optionally enable output from the AML Debug Object.
1759e1c0880SSascha Wildner  */
1769e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
1779e1c0880SSascha Wildner 
1789e1c0880SSascha Wildner /*
1799e1c0880SSascha Wildner  * Optionally copy the entire DSDT to local memory (instead of simply
1809e1c0880SSascha Wildner  * mapping it.) There are some BIOSs that corrupt or replace the original
1819e1c0880SSascha Wildner  * DSDT, creating the need for this option. Default is FALSE, do not copy
1829e1c0880SSascha Wildner  * the DSDT.
1839e1c0880SSascha Wildner  */
1849e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
1859e1c0880SSascha Wildner 
1869e1c0880SSascha Wildner /*
1879e1c0880SSascha Wildner  * Optionally ignore an XSDT if present and use the RSDT instead.
1889e1c0880SSascha Wildner  * Although the ACPI specification requires that an XSDT be used instead
1899e1c0880SSascha Wildner  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
1909e1c0880SSascha Wildner  * some machines. Default behavior is to use the XSDT if present.
1919e1c0880SSascha Wildner  */
1929e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
1939e1c0880SSascha Wildner 
1949e1c0880SSascha Wildner /*
1957c9678bcSSascha Wildner  * Optionally support group module level code.
196f5f76cf2SSascha Wildner  */
1977c9678bcSSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_GroupModuleLevelCode, FALSE);
198f5f76cf2SSascha Wildner 
199f5f76cf2SSascha Wildner /*
2009e1c0880SSascha Wildner  * Optionally use 32-bit FADT addresses if and when there is a conflict
2019e1c0880SSascha Wildner  * (address mismatch) between the 32-bit and 64-bit versions of the
2029e1c0880SSascha Wildner  * address. Although ACPICA adheres to the ACPI specification which
2039e1c0880SSascha Wildner  * requires the use of the corresponding 64-bit address if it is non-zero,
2049e1c0880SSascha Wildner  * some machines have been found to have a corrupted non-zero 64-bit
2059e1c0880SSascha Wildner  * address. Default is FALSE, do not favor the 32-bit addresses.
2069e1c0880SSascha Wildner  */
2079e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
2089e1c0880SSascha Wildner 
2099e1c0880SSascha Wildner /*
21025ca8c79SSascha Wildner  * Optionally use 32-bit FACS table addresses.
21125ca8c79SSascha Wildner  * It is reported that some platforms fail to resume from system suspending
21225ca8c79SSascha Wildner  * if 64-bit FACS table address is selected:
21325ca8c79SSascha Wildner  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
21425ca8c79SSascha Wildner  * Default is TRUE, favor the 32-bit addresses.
21525ca8c79SSascha Wildner  */
21625ca8c79SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
21725ca8c79SSascha Wildner 
21825ca8c79SSascha Wildner /*
2199e1c0880SSascha Wildner  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
2209e1c0880SSascha Wildner  * with other ACPI implementations. NOTE: During ACPICA initialization,
2219e1c0880SSascha Wildner  * this value is set to TRUE if any Windows OSI strings have been
2229e1c0880SSascha Wildner  * requested by the BIOS.
2239e1c0880SSascha Wildner  */
2249e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
2259e1c0880SSascha Wildner 
2269e1c0880SSascha Wildner /*
2279e1c0880SSascha Wildner  * Disable runtime checking and repair of values returned by control methods.
2289e1c0880SSascha Wildner  * Use only if the repair is causing a problem on a particular machine.
2299e1c0880SSascha Wildner  */
2309e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
2319e1c0880SSascha Wildner 
2329e1c0880SSascha Wildner /*
2339e1c0880SSascha Wildner  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
2349e1c0880SSascha Wildner  * This can be useful for debugging ACPI problems on some machines.
2359e1c0880SSascha Wildner  */
2369e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
2379e1c0880SSascha Wildner 
2389e1c0880SSascha Wildner /*
23925ca8c79SSascha Wildner  * Optionally enable runtime namespace override.
24025ca8c79SSascha Wildner  */
24125ca8c79SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
24225ca8c79SSascha Wildner 
24325ca8c79SSascha Wildner /*
2449e1c0880SSascha Wildner  * We keep track of the latest version of Windows that has been requested by
2459e1c0880SSascha Wildner  * the BIOS. ACPI 5.0.
2469e1c0880SSascha Wildner  */
2479e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
2489e1c0880SSascha Wildner 
2499e1c0880SSascha Wildner /*
2509e1c0880SSascha Wildner  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
2519e1c0880SSascha Wildner  * that the ACPI hardware is no longer required. A flag in the FADT indicates
2529e1c0880SSascha Wildner  * a reduced HW machine, and that flag is duplicated here for convenience.
2539e1c0880SSascha Wildner  */
2549e1c0880SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
2559e1c0880SSascha Wildner 
2569e1c0880SSascha Wildner /*
2579e1c0880SSascha Wildner  * This mechanism is used to trace a specified AML method. The method is
2589e1c0880SSascha Wildner  * traced each time it is executed.
2599e1c0880SSascha Wildner  */
2609e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
261267c04fdSSascha Wildner ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
262267c04fdSSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
263267c04fdSSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
2649e1c0880SSascha Wildner 
2659e1c0880SSascha Wildner /*
2669e1c0880SSascha Wildner  * Runtime configuration of debug output control masks. We want the debug
2679e1c0880SSascha Wildner  * switches statically initialized so they are already set when the debugger
2689e1c0880SSascha Wildner  * is entered.
2699e1c0880SSascha Wildner  */
2709e1c0880SSascha Wildner #ifdef ACPI_DEBUG_OUTPUT
2719e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
2729e1c0880SSascha Wildner #else
2739e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
2749e1c0880SSascha Wildner #endif
2759e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
2769e1c0880SSascha Wildner 
277f5f76cf2SSascha Wildner /* Optionally enable timer output with Debug Object output */
278f5f76cf2SSascha Wildner 
279f5f76cf2SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
280f5f76cf2SSascha Wildner 
2819e1c0880SSascha Wildner /*
2829e1c0880SSascha Wildner  * Other miscellaneous globals
2839e1c0880SSascha Wildner  */
2849e1c0880SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
2859e1c0880SSascha Wildner ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
2869e1c0880SSascha Wildner ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
2879e1c0880SSascha Wildner 
2889e1c0880SSascha Wildner 
2899e1c0880SSascha Wildner /*****************************************************************************
2909e1c0880SSascha Wildner  *
2919e1c0880SSascha Wildner  * ACPICA public interface configuration.
2929e1c0880SSascha Wildner  *
2939e1c0880SSascha Wildner  * Interfaces that are configured out of the ACPICA build are replaced
2949e1c0880SSascha Wildner  * by inlined stubs by default.
2959e1c0880SSascha Wildner  *
2969e1c0880SSascha Wildner  ****************************************************************************/
2979e1c0880SSascha Wildner 
2989e1c0880SSascha Wildner /*
2999e1c0880SSascha Wildner  * Hardware-reduced prototypes (default: Not hardware reduced).
3009e1c0880SSascha Wildner  *
3019e1c0880SSascha Wildner  * All ACPICA hardware-related interfaces that use these macros will be
3029e1c0880SSascha Wildner  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
3030d02842fSSascha Wildner  * is set to TRUE.
3049e1c0880SSascha Wildner  *
3059e1c0880SSascha Wildner  * Note: This static build option for reduced hardware is intended to
3069e1c0880SSascha Wildner  * reduce ACPICA code size if desired or necessary. However, even if this
3079e1c0880SSascha Wildner  * option is not specified, the runtime behavior of ACPICA is dependent
3089e1c0880SSascha Wildner  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
3099e1c0880SSascha Wildner  * the flag will enable similar behavior -- ACPICA will not attempt
3109e1c0880SSascha Wildner  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
3110d02842fSSascha Wildner  */
3120d02842fSSascha Wildner #if (!ACPI_REDUCED_HARDWARE)
3130d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
3149e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
3150d02842fSSascha Wildner 
3160d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
3179e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_OK(Prototype)
3180d02842fSSascha Wildner 
3190d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
3209e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_VOID(Prototype)
3210d02842fSSascha Wildner 
3220d02842fSSascha Wildner #else
3230d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
3240d02842fSSascha Wildner     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
3250d02842fSSascha Wildner 
3260d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
3270d02842fSSascha Wildner     static ACPI_INLINE Prototype {return(AE_OK);}
3280d02842fSSascha Wildner 
3290d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
3300d02842fSSascha Wildner     static ACPI_INLINE Prototype {return;}
3310d02842fSSascha Wildner 
3320d02842fSSascha Wildner #endif /* !ACPI_REDUCED_HARDWARE */
3330d02842fSSascha Wildner 
3340d02842fSSascha Wildner 
3350d02842fSSascha Wildner /*
3369e1c0880SSascha Wildner  * Error message prototypes (default: error messages enabled).
3379e1c0880SSascha Wildner  *
3389e1c0880SSascha Wildner  * All interfaces related to error and warning messages
3399e1c0880SSascha Wildner  * will be configured out of the ACPICA build if the
3409e1c0880SSascha Wildner  * ACPI_NO_ERROR_MESSAGE flag is defined.
3419e1c0880SSascha Wildner  */
3429e1c0880SSascha Wildner #ifndef ACPI_NO_ERROR_MESSAGES
3439e1c0880SSascha Wildner #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
3449e1c0880SSascha Wildner     Prototype;
3459e1c0880SSascha Wildner 
3469e1c0880SSascha Wildner #else
3479e1c0880SSascha Wildner #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
3489e1c0880SSascha Wildner     static ACPI_INLINE Prototype {return;}
3499e1c0880SSascha Wildner 
3509e1c0880SSascha Wildner #endif /* ACPI_NO_ERROR_MESSAGES */
3519e1c0880SSascha Wildner 
3529e1c0880SSascha Wildner 
3539e1c0880SSascha Wildner /*
3549e1c0880SSascha Wildner  * Debugging output prototypes (default: no debug output).
3559e1c0880SSascha Wildner  *
3569e1c0880SSascha Wildner  * All interfaces related to debug output messages
3579e1c0880SSascha Wildner  * will be configured out of the ACPICA build unless the
3589e1c0880SSascha Wildner  * ACPI_DEBUG_OUTPUT flag is defined.
3599e1c0880SSascha Wildner  */
3609e1c0880SSascha Wildner #ifdef ACPI_DEBUG_OUTPUT
3619e1c0880SSascha Wildner #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
3629e1c0880SSascha Wildner     Prototype;
3639e1c0880SSascha Wildner 
3649e1c0880SSascha Wildner #else
3659e1c0880SSascha Wildner #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
3669e1c0880SSascha Wildner     static ACPI_INLINE Prototype {return;}
3679e1c0880SSascha Wildner 
3689e1c0880SSascha Wildner #endif /* ACPI_DEBUG_OUTPUT */
3699e1c0880SSascha Wildner 
3709e1c0880SSascha Wildner 
3715f39c7e7SSascha Wildner /*
3725f39c7e7SSascha Wildner  * Application prototypes
3735f39c7e7SSascha Wildner  *
3745f39c7e7SSascha Wildner  * All interfaces used by application will be configured
3755f39c7e7SSascha Wildner  * out of the ACPICA build unless the ACPI_APPLICATION
3765f39c7e7SSascha Wildner  * flag is defined.
3775f39c7e7SSascha Wildner  */
3785f39c7e7SSascha Wildner #ifdef ACPI_APPLICATION
3795f39c7e7SSascha Wildner #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
3805f39c7e7SSascha Wildner     Prototype;
3815f39c7e7SSascha Wildner 
3825f39c7e7SSascha Wildner #else
3835f39c7e7SSascha Wildner #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
3845f39c7e7SSascha Wildner     static ACPI_INLINE Prototype {return;}
3855f39c7e7SSascha Wildner 
3865f39c7e7SSascha Wildner #endif /* ACPI_APPLICATION */
3875f39c7e7SSascha Wildner 
3885f39c7e7SSascha Wildner 
389820c5b08SSascha Wildner /*
390820c5b08SSascha Wildner  * Debugger prototypes
391820c5b08SSascha Wildner  *
392820c5b08SSascha Wildner  * All interfaces used by debugger will be configured
393820c5b08SSascha Wildner  * out of the ACPICA build unless the ACPI_DEBUGGER
394820c5b08SSascha Wildner  * flag is defined.
395820c5b08SSascha Wildner  */
396820c5b08SSascha Wildner #ifdef ACPI_DEBUGGER
397820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
398820c5b08SSascha Wildner     ACPI_EXTERNAL_RETURN_OK(Prototype)
399820c5b08SSascha Wildner 
400820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
401820c5b08SSascha Wildner     ACPI_EXTERNAL_RETURN_VOID(Prototype)
402820c5b08SSascha Wildner 
403820c5b08SSascha Wildner #else
404820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
405820c5b08SSascha Wildner     static ACPI_INLINE Prototype {return(AE_OK);}
406820c5b08SSascha Wildner 
407820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
408820c5b08SSascha Wildner     static ACPI_INLINE Prototype {return;}
409820c5b08SSascha Wildner 
410820c5b08SSascha Wildner #endif /* ACPI_DEBUGGER */
411820c5b08SSascha Wildner 
412820c5b08SSascha Wildner 
4139e1c0880SSascha Wildner /*****************************************************************************
4149e1c0880SSascha Wildner  *
4159e1c0880SSascha Wildner  * ACPICA public interface prototypes
4169e1c0880SSascha Wildner  *
4179e1c0880SSascha Wildner  ****************************************************************************/
4189e1c0880SSascha Wildner 
4199e1c0880SSascha Wildner /*
4200d02842fSSascha Wildner  * Initialization
4210d02842fSSascha Wildner  */
4229e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
423*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
4240d02842fSSascha Wildner AcpiInitializeTables (
4250d02842fSSascha Wildner     ACPI_TABLE_DESC         *InitialStorage,
4260d02842fSSascha Wildner     UINT32                  InitialTableCount,
4279e1c0880SSascha Wildner     BOOLEAN                 AllowResize))
4280d02842fSSascha Wildner 
4299e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
430*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
4310d02842fSSascha Wildner AcpiInitializeSubsystem (
4329e1c0880SSascha Wildner     void))
4330d02842fSSascha Wildner 
4349e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
435*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
4360d02842fSSascha Wildner AcpiEnableSubsystem (
4379e1c0880SSascha Wildner     UINT32                  Flags))
4380d02842fSSascha Wildner 
4399e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
440*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
4410d02842fSSascha Wildner AcpiInitializeObjects (
4429e1c0880SSascha Wildner     UINT32                  Flags))
4430d02842fSSascha Wildner 
4449e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
445*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
4460d02842fSSascha Wildner AcpiTerminate (
4479e1c0880SSascha Wildner     void))
4480d02842fSSascha Wildner 
4490d02842fSSascha Wildner 
4500d02842fSSascha Wildner /*
4510d02842fSSascha Wildner  * Miscellaneous global interfaces
4520d02842fSSascha Wildner  */
4530d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
4540d02842fSSascha Wildner ACPI_STATUS
4550d02842fSSascha Wildner AcpiEnable (
4560d02842fSSascha Wildner     void))
4570d02842fSSascha Wildner 
4580d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
4590d02842fSSascha Wildner ACPI_STATUS
4600d02842fSSascha Wildner AcpiDisable (
4610d02842fSSascha Wildner     void))
4620d02842fSSascha Wildner 
4639e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4640d02842fSSascha Wildner ACPI_STATUS
4650d02842fSSascha Wildner AcpiSubsystemStatus (
4669e1c0880SSascha Wildner     void))
4670d02842fSSascha Wildner 
4689e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4690d02842fSSascha Wildner ACPI_STATUS
4700d02842fSSascha Wildner AcpiGetSystemInfo (
4719e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
4720d02842fSSascha Wildner 
4739e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4740d02842fSSascha Wildner ACPI_STATUS
4750d02842fSSascha Wildner AcpiGetStatistics (
4769e1c0880SSascha Wildner     ACPI_STATISTICS         *Stats))
4770d02842fSSascha Wildner 
4789e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_PTR (
4790d02842fSSascha Wildner const char *
4800d02842fSSascha Wildner AcpiFormatException (
4819e1c0880SSascha Wildner     ACPI_STATUS             Exception))
4820d02842fSSascha Wildner 
4839e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4840d02842fSSascha Wildner ACPI_STATUS
4850d02842fSSascha Wildner AcpiPurgeCachedObjects (
4869e1c0880SSascha Wildner     void))
4870d02842fSSascha Wildner 
4889e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4890d02842fSSascha Wildner ACPI_STATUS
4900d02842fSSascha Wildner AcpiInstallInterface (
4919e1c0880SSascha Wildner     ACPI_STRING             InterfaceName))
4920d02842fSSascha Wildner 
4939e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4940d02842fSSascha Wildner ACPI_STATUS
4950d02842fSSascha Wildner AcpiRemoveInterface (
4969e1c0880SSascha Wildner     ACPI_STRING             InterfaceName))
4970d02842fSSascha Wildner 
4989e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
4990d02842fSSascha Wildner ACPI_STATUS
5000d02842fSSascha Wildner AcpiUpdateInterfaces (
5019e1c0880SSascha Wildner     UINT8                   Action))
5020d02842fSSascha Wildner 
5039e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_UINT32 (
5040d02842fSSascha Wildner UINT32
5050d02842fSSascha Wildner AcpiCheckAddressRange (
5060d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
5070d02842fSSascha Wildner     ACPI_PHYSICAL_ADDRESS   Address,
5080d02842fSSascha Wildner     ACPI_SIZE               Length,
5099e1c0880SSascha Wildner     BOOLEAN                 Warn))
5100d02842fSSascha Wildner 
5119e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5120d02842fSSascha Wildner ACPI_STATUS
5130d02842fSSascha Wildner AcpiDecodePldBuffer (
5140d02842fSSascha Wildner     UINT8                   *InBuffer,
5150d02842fSSascha Wildner     ACPI_SIZE               Length,
5169e1c0880SSascha Wildner     ACPI_PLD_INFO           **ReturnBuffer))
5170d02842fSSascha Wildner 
5180d02842fSSascha Wildner 
5190d02842fSSascha Wildner /*
5200d02842fSSascha Wildner  * ACPI table load/unload interfaces
5210d02842fSSascha Wildner  */
5229e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
523*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
524d4972a9cSSascha Wildner AcpiInstallTable (
525d4972a9cSSascha Wildner     ACPI_PHYSICAL_ADDRESS   Address,
5269e1c0880SSascha Wildner     BOOLEAN                 Physical))
527d4972a9cSSascha Wildner 
5289e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
529d4972a9cSSascha Wildner ACPI_STATUS
5300d02842fSSascha Wildner AcpiLoadTable (
5319e1c0880SSascha Wildner     ACPI_TABLE_HEADER       *Table))
5320d02842fSSascha Wildner 
5339e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5340d02842fSSascha Wildner ACPI_STATUS
5350d02842fSSascha Wildner AcpiUnloadParentTable (
5369e1c0880SSascha Wildner     ACPI_HANDLE             Object))
5370d02842fSSascha Wildner 
5389e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
539*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5400d02842fSSascha Wildner AcpiLoadTables (
5419e1c0880SSascha Wildner     void))
5420d02842fSSascha Wildner 
5430d02842fSSascha Wildner 
5440d02842fSSascha Wildner /*
5450d02842fSSascha Wildner  * ACPI table manipulation interfaces
5460d02842fSSascha Wildner  */
5479e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
548*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5490d02842fSSascha Wildner AcpiReallocateRootTable (
5509e1c0880SSascha Wildner     void))
5510d02842fSSascha Wildner 
5529e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
553*277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5540d02842fSSascha Wildner AcpiFindRootPointer (
5555943f66cSSascha Wildner     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
5560d02842fSSascha Wildner 
5579e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5580d02842fSSascha Wildner ACPI_STATUS
5590d02842fSSascha Wildner AcpiGetTableHeader (
5600d02842fSSascha Wildner     ACPI_STRING             Signature,
5610d02842fSSascha Wildner     UINT32                  Instance,
5629e1c0880SSascha Wildner     ACPI_TABLE_HEADER       *OutTableHeader))
5630d02842fSSascha Wildner 
5649e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5650d02842fSSascha Wildner ACPI_STATUS
5660d02842fSSascha Wildner AcpiGetTable (
5670d02842fSSascha Wildner     ACPI_STRING             Signature,
5680d02842fSSascha Wildner     UINT32                  Instance,
5699e1c0880SSascha Wildner     ACPI_TABLE_HEADER       **OutTable))
5700d02842fSSascha Wildner 
5719e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5720d02842fSSascha Wildner ACPI_STATUS
5730d02842fSSascha Wildner AcpiGetTableByIndex (
5740d02842fSSascha Wildner     UINT32                  TableIndex,
5759e1c0880SSascha Wildner     ACPI_TABLE_HEADER       **OutTable))
5760d02842fSSascha Wildner 
5779e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5780d02842fSSascha Wildner ACPI_STATUS
5790d02842fSSascha Wildner AcpiInstallTableHandler (
5800d02842fSSascha Wildner     ACPI_TABLE_HANDLER      Handler,
5819e1c0880SSascha Wildner     void                    *Context))
5820d02842fSSascha Wildner 
5839e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5840d02842fSSascha Wildner ACPI_STATUS
5850d02842fSSascha Wildner AcpiRemoveTableHandler (
5869e1c0880SSascha Wildner     ACPI_TABLE_HANDLER      Handler))
5870d02842fSSascha Wildner 
5880d02842fSSascha Wildner 
5890d02842fSSascha Wildner /*
5900d02842fSSascha Wildner  * Namespace and name interfaces
5910d02842fSSascha Wildner  */
5929e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
5930d02842fSSascha Wildner ACPI_STATUS
5940d02842fSSascha Wildner AcpiWalkNamespace (
5950d02842fSSascha Wildner     ACPI_OBJECT_TYPE        Type,
5960d02842fSSascha Wildner     ACPI_HANDLE             StartObject,
5970d02842fSSascha Wildner     UINT32                  MaxDepth,
5980d02842fSSascha Wildner     ACPI_WALK_CALLBACK      DescendingCallback,
5990d02842fSSascha Wildner     ACPI_WALK_CALLBACK      AscendingCallback,
6000d02842fSSascha Wildner     void                    *Context,
6019e1c0880SSascha Wildner     void                    **ReturnValue))
6020d02842fSSascha Wildner 
6039e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6040d02842fSSascha Wildner ACPI_STATUS
6050d02842fSSascha Wildner AcpiGetDevices (
6060d02842fSSascha Wildner     char                    *HID,
6070d02842fSSascha Wildner     ACPI_WALK_CALLBACK      UserFunction,
6080d02842fSSascha Wildner     void                    *Context,
6099e1c0880SSascha Wildner     void                    **ReturnValue))
6100d02842fSSascha Wildner 
6119e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6120d02842fSSascha Wildner ACPI_STATUS
6130d02842fSSascha Wildner AcpiGetName (
6140d02842fSSascha Wildner     ACPI_HANDLE             Object,
6150d02842fSSascha Wildner     UINT32                  NameType,
6169e1c0880SSascha Wildner     ACPI_BUFFER             *RetPathPtr))
6170d02842fSSascha Wildner 
6189e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6190d02842fSSascha Wildner ACPI_STATUS
6200d02842fSSascha Wildner AcpiGetHandle (
6210d02842fSSascha Wildner     ACPI_HANDLE             Parent,
6220d02842fSSascha Wildner     ACPI_STRING             Pathname,
6239e1c0880SSascha Wildner     ACPI_HANDLE             *RetHandle))
6240d02842fSSascha Wildner 
6259e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6260d02842fSSascha Wildner ACPI_STATUS
6270d02842fSSascha Wildner AcpiAttachData (
6280d02842fSSascha Wildner     ACPI_HANDLE             Object,
6290d02842fSSascha Wildner     ACPI_OBJECT_HANDLER     Handler,
6309e1c0880SSascha Wildner     void                    *Data))
6310d02842fSSascha Wildner 
6329e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6330d02842fSSascha Wildner ACPI_STATUS
6340d02842fSSascha Wildner AcpiDetachData (
6350d02842fSSascha Wildner     ACPI_HANDLE             Object,
6369e1c0880SSascha Wildner     ACPI_OBJECT_HANDLER     Handler))
6370d02842fSSascha Wildner 
6389e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6390d02842fSSascha Wildner ACPI_STATUS
6400d02842fSSascha Wildner AcpiGetData (
6410d02842fSSascha Wildner     ACPI_HANDLE             Object,
6420d02842fSSascha Wildner     ACPI_OBJECT_HANDLER     Handler,
6439e1c0880SSascha Wildner     void                    **Data))
6440d02842fSSascha Wildner 
6459e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6460d02842fSSascha Wildner ACPI_STATUS
6470d02842fSSascha Wildner AcpiDebugTrace (
648267c04fdSSascha Wildner     const char              *Name,
6490d02842fSSascha Wildner     UINT32                  DebugLevel,
6500d02842fSSascha Wildner     UINT32                  DebugLayer,
6519e1c0880SSascha Wildner     UINT32                  Flags))
6520d02842fSSascha Wildner 
6530d02842fSSascha Wildner 
6540d02842fSSascha Wildner /*
6550d02842fSSascha Wildner  * Object manipulation and enumeration
6560d02842fSSascha Wildner  */
6579e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6580d02842fSSascha Wildner ACPI_STATUS
6590d02842fSSascha Wildner AcpiEvaluateObject (
6600d02842fSSascha Wildner     ACPI_HANDLE             Object,
6610d02842fSSascha Wildner     ACPI_STRING             Pathname,
6620d02842fSSascha Wildner     ACPI_OBJECT_LIST        *ParameterObjects,
6639e1c0880SSascha Wildner     ACPI_BUFFER             *ReturnObjectBuffer))
6640d02842fSSascha Wildner 
6659e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6660d02842fSSascha Wildner ACPI_STATUS
6670d02842fSSascha Wildner AcpiEvaluateObjectTyped (
6680d02842fSSascha Wildner     ACPI_HANDLE             Object,
6690d02842fSSascha Wildner     ACPI_STRING             Pathname,
6700d02842fSSascha Wildner     ACPI_OBJECT_LIST        *ExternalParams,
6710d02842fSSascha Wildner     ACPI_BUFFER             *ReturnBuffer,
6729e1c0880SSascha Wildner     ACPI_OBJECT_TYPE        ReturnType))
6730d02842fSSascha Wildner 
6749e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6750d02842fSSascha Wildner ACPI_STATUS
6760d02842fSSascha Wildner AcpiGetObjectInfo (
6770d02842fSSascha Wildner     ACPI_HANDLE             Object,
6789e1c0880SSascha Wildner     ACPI_DEVICE_INFO        **ReturnBuffer))
6790d02842fSSascha Wildner 
6809e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6810d02842fSSascha Wildner ACPI_STATUS
6820d02842fSSascha Wildner AcpiInstallMethod (
6839e1c0880SSascha Wildner     UINT8                   *Buffer))
6840d02842fSSascha Wildner 
6859e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6860d02842fSSascha Wildner ACPI_STATUS
6870d02842fSSascha Wildner AcpiGetNextObject (
6880d02842fSSascha Wildner     ACPI_OBJECT_TYPE        Type,
6890d02842fSSascha Wildner     ACPI_HANDLE             Parent,
6900d02842fSSascha Wildner     ACPI_HANDLE             Child,
6919e1c0880SSascha Wildner     ACPI_HANDLE             *OutHandle))
6920d02842fSSascha Wildner 
6939e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6940d02842fSSascha Wildner ACPI_STATUS
6950d02842fSSascha Wildner AcpiGetType (
6960d02842fSSascha Wildner     ACPI_HANDLE             Object,
6979e1c0880SSascha Wildner     ACPI_OBJECT_TYPE        *OutType))
6980d02842fSSascha Wildner 
6999e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7000d02842fSSascha Wildner ACPI_STATUS
7010d02842fSSascha Wildner AcpiGetParent (
7020d02842fSSascha Wildner     ACPI_HANDLE             Object,
7039e1c0880SSascha Wildner     ACPI_HANDLE             *OutHandle))
7040d02842fSSascha Wildner 
7050d02842fSSascha Wildner 
7060d02842fSSascha Wildner /*
7070d02842fSSascha Wildner  * Handler interfaces
7080d02842fSSascha Wildner  */
7099e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7100d02842fSSascha Wildner ACPI_STATUS
7110d02842fSSascha Wildner AcpiInstallInitializationHandler (
7120d02842fSSascha Wildner     ACPI_INIT_HANDLER       Handler,
7139e1c0880SSascha Wildner     UINT32                  Function))
7140d02842fSSascha Wildner 
7150d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7160d02842fSSascha Wildner ACPI_STATUS
7170d02842fSSascha Wildner AcpiInstallSciHandler (
7180d02842fSSascha Wildner     ACPI_SCI_HANDLER        Address,
7190d02842fSSascha Wildner     void                    *Context))
7200d02842fSSascha Wildner 
7210d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7220d02842fSSascha Wildner ACPI_STATUS
7230d02842fSSascha Wildner AcpiRemoveSciHandler (
7240d02842fSSascha Wildner     ACPI_SCI_HANDLER        Address))
7250d02842fSSascha Wildner 
7260d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7270d02842fSSascha Wildner ACPI_STATUS
7280d02842fSSascha Wildner AcpiInstallGlobalEventHandler (
7290d02842fSSascha Wildner     ACPI_GBL_EVENT_HANDLER  Handler,
7300d02842fSSascha Wildner     void                    *Context))
7310d02842fSSascha Wildner 
7320d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7330d02842fSSascha Wildner ACPI_STATUS
7340d02842fSSascha Wildner AcpiInstallFixedEventHandler (
7350d02842fSSascha Wildner     UINT32                  AcpiEvent,
7360d02842fSSascha Wildner     ACPI_EVENT_HANDLER      Handler,
7370d02842fSSascha Wildner     void                    *Context))
7380d02842fSSascha Wildner 
7390d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7400d02842fSSascha Wildner ACPI_STATUS
7410d02842fSSascha Wildner AcpiRemoveFixedEventHandler (
7420d02842fSSascha Wildner     UINT32                  AcpiEvent,
7430d02842fSSascha Wildner     ACPI_EVENT_HANDLER      Handler))
7440d02842fSSascha Wildner 
7450d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7460d02842fSSascha Wildner ACPI_STATUS
7470d02842fSSascha Wildner AcpiInstallGpeHandler (
7480d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
7490d02842fSSascha Wildner     UINT32                  GpeNumber,
7500d02842fSSascha Wildner     UINT32                  Type,
7510d02842fSSascha Wildner     ACPI_GPE_HANDLER        Address,
7520d02842fSSascha Wildner     void                    *Context))
7530d02842fSSascha Wildner 
7540d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
7550d02842fSSascha Wildner ACPI_STATUS
756fe7b5cb4SSascha Wildner AcpiInstallGpeRawHandler (
757fe7b5cb4SSascha Wildner     ACPI_HANDLE             GpeDevice,
758fe7b5cb4SSascha Wildner     UINT32                  GpeNumber,
759fe7b5cb4SSascha Wildner     UINT32                  Type,
760fe7b5cb4SSascha Wildner     ACPI_GPE_HANDLER        Address,
761fe7b5cb4SSascha Wildner     void                    *Context))
762fe7b5cb4SSascha Wildner 
763fe7b5cb4SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
764fe7b5cb4SSascha Wildner ACPI_STATUS
7650d02842fSSascha Wildner AcpiRemoveGpeHandler (
7660d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
7670d02842fSSascha Wildner     UINT32                  GpeNumber,
7680d02842fSSascha Wildner     ACPI_GPE_HANDLER        Address))
7690d02842fSSascha Wildner 
7709e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7710d02842fSSascha Wildner ACPI_STATUS
7720d02842fSSascha Wildner AcpiInstallNotifyHandler (
7730d02842fSSascha Wildner     ACPI_HANDLE             Device,
7740d02842fSSascha Wildner     UINT32                  HandlerType,
7750d02842fSSascha Wildner     ACPI_NOTIFY_HANDLER     Handler,
7769e1c0880SSascha Wildner     void                    *Context))
7770d02842fSSascha Wildner 
7789e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7790d02842fSSascha Wildner ACPI_STATUS
7800d02842fSSascha Wildner AcpiRemoveNotifyHandler (
7810d02842fSSascha Wildner     ACPI_HANDLE             Device,
7820d02842fSSascha Wildner     UINT32                  HandlerType,
7839e1c0880SSascha Wildner     ACPI_NOTIFY_HANDLER     Handler))
7840d02842fSSascha Wildner 
7859e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7860d02842fSSascha Wildner ACPI_STATUS
7870d02842fSSascha Wildner AcpiInstallAddressSpaceHandler (
7880d02842fSSascha Wildner     ACPI_HANDLE             Device,
7890d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
7900d02842fSSascha Wildner     ACPI_ADR_SPACE_HANDLER  Handler,
7910d02842fSSascha Wildner     ACPI_ADR_SPACE_SETUP    Setup,
7929e1c0880SSascha Wildner     void                    *Context))
7930d02842fSSascha Wildner 
7949e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7950d02842fSSascha Wildner ACPI_STATUS
7960d02842fSSascha Wildner AcpiRemoveAddressSpaceHandler (
7970d02842fSSascha Wildner     ACPI_HANDLE             Device,
7980d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
7999e1c0880SSascha Wildner     ACPI_ADR_SPACE_HANDLER  Handler))
8000d02842fSSascha Wildner 
8019e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8020d02842fSSascha Wildner ACPI_STATUS
8030d02842fSSascha Wildner AcpiInstallExceptionHandler (
8049e1c0880SSascha Wildner     ACPI_EXCEPTION_HANDLER  Handler))
8050d02842fSSascha Wildner 
8069e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8070d02842fSSascha Wildner ACPI_STATUS
8080d02842fSSascha Wildner AcpiInstallInterfaceHandler (
8099e1c0880SSascha Wildner     ACPI_INTERFACE_HANDLER  Handler))
8100d02842fSSascha Wildner 
8110d02842fSSascha Wildner 
8120d02842fSSascha Wildner /*
8130d02842fSSascha Wildner  * Global Lock interfaces
8140d02842fSSascha Wildner  */
8150d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8160d02842fSSascha Wildner ACPI_STATUS
8170d02842fSSascha Wildner AcpiAcquireGlobalLock (
8180d02842fSSascha Wildner     UINT16                  Timeout,
8190d02842fSSascha Wildner     UINT32                  *Handle))
8200d02842fSSascha Wildner 
8210d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8220d02842fSSascha Wildner ACPI_STATUS
8230d02842fSSascha Wildner AcpiReleaseGlobalLock (
8240d02842fSSascha Wildner     UINT32                  Handle))
8250d02842fSSascha Wildner 
8260d02842fSSascha Wildner 
8270d02842fSSascha Wildner /*
8280d02842fSSascha Wildner  * Interfaces to AML mutex objects
8290d02842fSSascha Wildner  */
8309e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8310d02842fSSascha Wildner ACPI_STATUS
8320d02842fSSascha Wildner AcpiAcquireMutex (
8330d02842fSSascha Wildner     ACPI_HANDLE             Handle,
8340d02842fSSascha Wildner     ACPI_STRING             Pathname,
8359e1c0880SSascha Wildner     UINT16                  Timeout))
8360d02842fSSascha Wildner 
8379e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8380d02842fSSascha Wildner ACPI_STATUS
8390d02842fSSascha Wildner AcpiReleaseMutex (
8400d02842fSSascha Wildner     ACPI_HANDLE             Handle,
8419e1c0880SSascha Wildner     ACPI_STRING             Pathname))
8420d02842fSSascha Wildner 
8430d02842fSSascha Wildner 
8440d02842fSSascha Wildner /*
8450d02842fSSascha Wildner  * Fixed Event interfaces
8460d02842fSSascha Wildner  */
8470d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8480d02842fSSascha Wildner ACPI_STATUS
8490d02842fSSascha Wildner AcpiEnableEvent (
8500d02842fSSascha Wildner     UINT32                  Event,
8510d02842fSSascha Wildner     UINT32                  Flags))
8520d02842fSSascha Wildner 
8530d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8540d02842fSSascha Wildner ACPI_STATUS
8550d02842fSSascha Wildner AcpiDisableEvent (
8560d02842fSSascha Wildner     UINT32                  Event,
8570d02842fSSascha Wildner     UINT32                  Flags))
8580d02842fSSascha Wildner 
8590d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8600d02842fSSascha Wildner ACPI_STATUS
8610d02842fSSascha Wildner AcpiClearEvent (
8620d02842fSSascha Wildner     UINT32                  Event))
8630d02842fSSascha Wildner 
8640d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8650d02842fSSascha Wildner ACPI_STATUS
8660d02842fSSascha Wildner AcpiGetEventStatus (
8670d02842fSSascha Wildner     UINT32                  Event,
8680d02842fSSascha Wildner     ACPI_EVENT_STATUS       *EventStatus))
8690d02842fSSascha Wildner 
8700d02842fSSascha Wildner 
8710d02842fSSascha Wildner /*
8720d02842fSSascha Wildner  * General Purpose Event (GPE) Interfaces
8730d02842fSSascha Wildner  */
8740d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8750d02842fSSascha Wildner ACPI_STATUS
8760d02842fSSascha Wildner AcpiUpdateAllGpes (
8770d02842fSSascha Wildner     void))
8780d02842fSSascha Wildner 
8790d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8800d02842fSSascha Wildner ACPI_STATUS
8810d02842fSSascha Wildner AcpiEnableGpe (
8820d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
8830d02842fSSascha Wildner     UINT32                  GpeNumber))
8840d02842fSSascha Wildner 
8850d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8860d02842fSSascha Wildner ACPI_STATUS
8870d02842fSSascha Wildner AcpiDisableGpe (
8880d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
8890d02842fSSascha Wildner     UINT32                  GpeNumber))
8900d02842fSSascha Wildner 
8910d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8920d02842fSSascha Wildner ACPI_STATUS
8930d02842fSSascha Wildner AcpiClearGpe (
8940d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
8950d02842fSSascha Wildner     UINT32                  GpeNumber))
8960d02842fSSascha Wildner 
8970d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8980d02842fSSascha Wildner ACPI_STATUS
8990d02842fSSascha Wildner AcpiSetGpe (
9000d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9010d02842fSSascha Wildner     UINT32                  GpeNumber,
9020d02842fSSascha Wildner     UINT8                   Action))
9030d02842fSSascha Wildner 
9040d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9050d02842fSSascha Wildner ACPI_STATUS
9060d02842fSSascha Wildner AcpiFinishGpe (
9070d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9080d02842fSSascha Wildner     UINT32                  GpeNumber))
9090d02842fSSascha Wildner 
9100d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9110d02842fSSascha Wildner ACPI_STATUS
912066b6da2SSascha Wildner AcpiMarkGpeForWake (
913066b6da2SSascha Wildner     ACPI_HANDLE             GpeDevice,
914066b6da2SSascha Wildner     UINT32                  GpeNumber))
915066b6da2SSascha Wildner 
916066b6da2SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
917066b6da2SSascha Wildner ACPI_STATUS
9180d02842fSSascha Wildner AcpiSetupGpeForWake (
9190d02842fSSascha Wildner     ACPI_HANDLE             ParentDevice,
9200d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9210d02842fSSascha Wildner     UINT32                  GpeNumber))
9220d02842fSSascha Wildner 
9230d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9240d02842fSSascha Wildner ACPI_STATUS
9250d02842fSSascha Wildner AcpiSetGpeWakeMask (
9260d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9270d02842fSSascha Wildner     UINT32                  GpeNumber,
9280d02842fSSascha Wildner     UINT8                   Action))
9290d02842fSSascha Wildner 
9300d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9310d02842fSSascha Wildner ACPI_STATUS
9320d02842fSSascha Wildner AcpiGetGpeStatus (
9330d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9340d02842fSSascha Wildner     UINT32                  GpeNumber,
9350d02842fSSascha Wildner     ACPI_EVENT_STATUS       *EventStatus))
9360d02842fSSascha Wildner 
9370d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9380d02842fSSascha Wildner ACPI_STATUS
9390d02842fSSascha Wildner AcpiDisableAllGpes (
9400d02842fSSascha Wildner     void))
9410d02842fSSascha Wildner 
9420d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9430d02842fSSascha Wildner ACPI_STATUS
9440d02842fSSascha Wildner AcpiEnableAllRuntimeGpes (
9450d02842fSSascha Wildner     void))
9460d02842fSSascha Wildner 
9470d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9480d02842fSSascha Wildner ACPI_STATUS
949fe7b5cb4SSascha Wildner AcpiEnableAllWakeupGpes (
950fe7b5cb4SSascha Wildner     void))
951fe7b5cb4SSascha Wildner 
952fe7b5cb4SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
953fe7b5cb4SSascha Wildner ACPI_STATUS
9540d02842fSSascha Wildner AcpiGetGpeDevice (
9550d02842fSSascha Wildner     UINT32                  GpeIndex,
9560d02842fSSascha Wildner     ACPI_HANDLE             *GpeDevice))
9570d02842fSSascha Wildner 
9580d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9590d02842fSSascha Wildner ACPI_STATUS
9600d02842fSSascha Wildner AcpiInstallGpeBlock (
9610d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9620d02842fSSascha Wildner     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
9630d02842fSSascha Wildner     UINT32                  RegisterCount,
9640d02842fSSascha Wildner     UINT32                  InterruptNumber))
9650d02842fSSascha Wildner 
9660d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9670d02842fSSascha Wildner ACPI_STATUS
9680d02842fSSascha Wildner AcpiRemoveGpeBlock (
9690d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice))
9700d02842fSSascha Wildner 
9710d02842fSSascha Wildner 
9720d02842fSSascha Wildner /*
9730d02842fSSascha Wildner  * Resource interfaces
9740d02842fSSascha Wildner  */
9750d02842fSSascha Wildner typedef
9760d02842fSSascha Wildner ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
9770d02842fSSascha Wildner     ACPI_RESOURCE           *Resource,
9780d02842fSSascha Wildner     void                    *Context);
9790d02842fSSascha Wildner 
9809e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9810d02842fSSascha Wildner ACPI_STATUS
9820d02842fSSascha Wildner AcpiGetVendorResource (
9830d02842fSSascha Wildner     ACPI_HANDLE             Device,
9840d02842fSSascha Wildner     char                    *Name,
9850d02842fSSascha Wildner     ACPI_VENDOR_UUID        *Uuid,
9869e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
9870d02842fSSascha Wildner 
9889e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9890d02842fSSascha Wildner ACPI_STATUS
9900d02842fSSascha Wildner AcpiGetCurrentResources (
9910d02842fSSascha Wildner     ACPI_HANDLE             Device,
9929e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
9930d02842fSSascha Wildner 
9949e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9950d02842fSSascha Wildner ACPI_STATUS
9960d02842fSSascha Wildner AcpiGetPossibleResources (
9970d02842fSSascha Wildner     ACPI_HANDLE             Device,
9989e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
9990d02842fSSascha Wildner 
10009e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10010d02842fSSascha Wildner ACPI_STATUS
10020d02842fSSascha Wildner AcpiGetEventResources (
10030d02842fSSascha Wildner     ACPI_HANDLE             DeviceHandle,
10049e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
10050d02842fSSascha Wildner 
10069e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10070d02842fSSascha Wildner ACPI_STATUS
10080d02842fSSascha Wildner AcpiWalkResourceBuffer (
10090d02842fSSascha Wildner     ACPI_BUFFER                 *Buffer,
10100d02842fSSascha Wildner     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
10119e1c0880SSascha Wildner     void                        *Context))
10120d02842fSSascha Wildner 
10139e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10140d02842fSSascha Wildner ACPI_STATUS
10150d02842fSSascha Wildner AcpiWalkResources (
10160d02842fSSascha Wildner     ACPI_HANDLE                 Device,
10170d02842fSSascha Wildner     char                        *Name,
10180d02842fSSascha Wildner     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
10199e1c0880SSascha Wildner     void                        *Context))
10200d02842fSSascha Wildner 
10219e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10220d02842fSSascha Wildner ACPI_STATUS
10230d02842fSSascha Wildner AcpiSetCurrentResources (
10240d02842fSSascha Wildner     ACPI_HANDLE             Device,
10259e1c0880SSascha Wildner     ACPI_BUFFER             *InBuffer))
10260d02842fSSascha Wildner 
10279e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10280d02842fSSascha Wildner ACPI_STATUS
10290d02842fSSascha Wildner AcpiGetIrqRoutingTable (
10300d02842fSSascha Wildner     ACPI_HANDLE             Device,
10319e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
10320d02842fSSascha Wildner 
10339e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10340d02842fSSascha Wildner ACPI_STATUS
10350d02842fSSascha Wildner AcpiResourceToAddress64 (
10360d02842fSSascha Wildner     ACPI_RESOURCE           *Resource,
10379e1c0880SSascha Wildner     ACPI_RESOURCE_ADDRESS64 *Out))
10380d02842fSSascha Wildner 
10399e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10400d02842fSSascha Wildner ACPI_STATUS
10410d02842fSSascha Wildner AcpiBufferToResource (
10420d02842fSSascha Wildner     UINT8                   *AmlBuffer,
10430d02842fSSascha Wildner     UINT16                  AmlBufferLength,
10449e1c0880SSascha Wildner     ACPI_RESOURCE           **ResourcePtr))
10450d02842fSSascha Wildner 
10460d02842fSSascha Wildner 
10470d02842fSSascha Wildner /*
10480d02842fSSascha Wildner  * Hardware (ACPI device) interfaces
10490d02842fSSascha Wildner  */
10509e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10510d02842fSSascha Wildner ACPI_STATUS
10520d02842fSSascha Wildner AcpiReset (
10539e1c0880SSascha Wildner     void))
10540d02842fSSascha Wildner 
10559e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10560d02842fSSascha Wildner ACPI_STATUS
10570d02842fSSascha Wildner AcpiRead (
10580d02842fSSascha Wildner     UINT64                  *Value,
10599e1c0880SSascha Wildner     ACPI_GENERIC_ADDRESS    *Reg))
10600d02842fSSascha Wildner 
10619e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10620d02842fSSascha Wildner ACPI_STATUS
10630d02842fSSascha Wildner AcpiWrite (
10640d02842fSSascha Wildner     UINT64                  Value,
10659e1c0880SSascha Wildner     ACPI_GENERIC_ADDRESS    *Reg))
10660d02842fSSascha Wildner 
10670d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10680d02842fSSascha Wildner ACPI_STATUS
10690d02842fSSascha Wildner AcpiReadBitRegister (
10700d02842fSSascha Wildner     UINT32                  RegisterId,
10710d02842fSSascha Wildner     UINT32                  *ReturnValue))
10720d02842fSSascha Wildner 
10730d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10740d02842fSSascha Wildner ACPI_STATUS
10750d02842fSSascha Wildner AcpiWriteBitRegister (
10760d02842fSSascha Wildner     UINT32                  RegisterId,
10770d02842fSSascha Wildner     UINT32                  Value))
10780d02842fSSascha Wildner 
10790d02842fSSascha Wildner 
10800d02842fSSascha Wildner /*
10810d02842fSSascha Wildner  * Sleep/Wake interfaces
10820d02842fSSascha Wildner  */
10839e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10840d02842fSSascha Wildner ACPI_STATUS
10850d02842fSSascha Wildner AcpiGetSleepTypeData (
10860d02842fSSascha Wildner     UINT8                   SleepState,
10870d02842fSSascha Wildner     UINT8                   *Slp_TypA,
10889e1c0880SSascha Wildner     UINT8                   *Slp_TypB))
10890d02842fSSascha Wildner 
10909e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10910d02842fSSascha Wildner ACPI_STATUS
10920d02842fSSascha Wildner AcpiEnterSleepStatePrep (
10939e1c0880SSascha Wildner     UINT8                   SleepState))
10940d02842fSSascha Wildner 
10959e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
10960d02842fSSascha Wildner ACPI_STATUS
10970d02842fSSascha Wildner AcpiEnterSleepState (
10989e1c0880SSascha Wildner     UINT8                   SleepState))
10990d02842fSSascha Wildner 
11000d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11010d02842fSSascha Wildner ACPI_STATUS
11020d02842fSSascha Wildner AcpiEnterSleepStateS4bios (
11030d02842fSSascha Wildner     void))
11040d02842fSSascha Wildner 
11059e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11060d02842fSSascha Wildner ACPI_STATUS
11070d02842fSSascha Wildner AcpiLeaveSleepStatePrep (
11089e1c0880SSascha Wildner     UINT8                   SleepState))
11090d02842fSSascha Wildner 
11109e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11110d02842fSSascha Wildner ACPI_STATUS
11120d02842fSSascha Wildner AcpiLeaveSleepState (
11139e1c0880SSascha Wildner     UINT8                   SleepState))
11140d02842fSSascha Wildner 
11150d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11160d02842fSSascha Wildner ACPI_STATUS
11170d02842fSSascha Wildner AcpiSetFirmwareWakingVector (
111825ca8c79SSascha Wildner     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
111925ca8c79SSascha Wildner     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
11200d02842fSSascha Wildner 
11210d02842fSSascha Wildner 
11220d02842fSSascha Wildner /*
11230d02842fSSascha Wildner  * ACPI Timer interfaces
11240d02842fSSascha Wildner  */
11250d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11260d02842fSSascha Wildner ACPI_STATUS
11270d02842fSSascha Wildner AcpiGetTimerResolution (
11280d02842fSSascha Wildner     UINT32                  *Resolution))
11290d02842fSSascha Wildner 
11300d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11310d02842fSSascha Wildner ACPI_STATUS
11320d02842fSSascha Wildner AcpiGetTimer (
11330d02842fSSascha Wildner     UINT32                  *Ticks))
11340d02842fSSascha Wildner 
11350d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11360d02842fSSascha Wildner ACPI_STATUS
11370d02842fSSascha Wildner AcpiGetTimerDuration (
11380d02842fSSascha Wildner     UINT32                  StartTicks,
11390d02842fSSascha Wildner     UINT32                  EndTicks,
11400d02842fSSascha Wildner     UINT32                  *TimeElapsed))
11410d02842fSSascha Wildner 
11420d02842fSSascha Wildner 
11430d02842fSSascha Wildner /*
11440d02842fSSascha Wildner  * Error/Warning output
11450d02842fSSascha Wildner  */
11469e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11470d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
11480d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
11490d02842fSSascha Wildner AcpiError (
11500d02842fSSascha Wildner     const char              *ModuleName,
11510d02842fSSascha Wildner     UINT32                  LineNumber,
11520d02842fSSascha Wildner     const char              *Format,
11539e1c0880SSascha Wildner     ...))
11540d02842fSSascha Wildner 
11559e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11560d02842fSSascha Wildner ACPI_PRINTF_LIKE(4)
11570d02842fSSascha Wildner void  ACPI_INTERNAL_VAR_XFACE
11580d02842fSSascha Wildner AcpiException (
11590d02842fSSascha Wildner     const char              *ModuleName,
11600d02842fSSascha Wildner     UINT32                  LineNumber,
11610d02842fSSascha Wildner     ACPI_STATUS             Status,
11620d02842fSSascha Wildner     const char              *Format,
11639e1c0880SSascha Wildner     ...))
11640d02842fSSascha Wildner 
11659e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11660d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
11670d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
11680d02842fSSascha Wildner AcpiWarning (
11690d02842fSSascha Wildner     const char              *ModuleName,
11700d02842fSSascha Wildner     UINT32                  LineNumber,
11710d02842fSSascha Wildner     const char              *Format,
11729e1c0880SSascha Wildner     ...))
11730d02842fSSascha Wildner 
11749e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11757c9678bcSSascha Wildner ACPI_PRINTF_LIKE(1)
11760d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
11770d02842fSSascha Wildner AcpiInfo (
11780d02842fSSascha Wildner     const char              *Format,
11799e1c0880SSascha Wildner     ...))
11800d02842fSSascha Wildner 
11819e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11820d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
11830d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
11840d02842fSSascha Wildner AcpiBiosError (
11850d02842fSSascha Wildner     const char              *ModuleName,
11860d02842fSSascha Wildner     UINT32                  LineNumber,
11870d02842fSSascha Wildner     const char              *Format,
11889e1c0880SSascha Wildner     ...))
11890d02842fSSascha Wildner 
11909e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
11910d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
11920d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
11930d02842fSSascha Wildner AcpiBiosWarning (
11940d02842fSSascha Wildner     const char              *ModuleName,
11950d02842fSSascha Wildner     UINT32                  LineNumber,
11960d02842fSSascha Wildner     const char              *Format,
11979e1c0880SSascha Wildner     ...))
11980d02842fSSascha Wildner 
11990d02842fSSascha Wildner 
12000d02842fSSascha Wildner /*
12010d02842fSSascha Wildner  * Debug output
12020d02842fSSascha Wildner  */
12039e1c0880SSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
12040d02842fSSascha Wildner ACPI_PRINTF_LIKE(6)
12050d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
12060d02842fSSascha Wildner AcpiDebugPrint (
12070d02842fSSascha Wildner     UINT32                  RequestedDebugLevel,
12080d02842fSSascha Wildner     UINT32                  LineNumber,
12090d02842fSSascha Wildner     const char              *FunctionName,
12100d02842fSSascha Wildner     const char              *ModuleName,
12110d02842fSSascha Wildner     UINT32                  ComponentId,
12120d02842fSSascha Wildner     const char              *Format,
12139e1c0880SSascha Wildner     ...))
12140d02842fSSascha Wildner 
12159e1c0880SSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
12160d02842fSSascha Wildner ACPI_PRINTF_LIKE(6)
12170d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
12180d02842fSSascha Wildner AcpiDebugPrintRaw (
12190d02842fSSascha Wildner     UINT32                  RequestedDebugLevel,
12200d02842fSSascha Wildner     UINT32                  LineNumber,
12210d02842fSSascha Wildner     const char              *FunctionName,
12220d02842fSSascha Wildner     const char              *ModuleName,
12230d02842fSSascha Wildner     UINT32                  ComponentId,
12240d02842fSSascha Wildner     const char              *Format,
12259e1c0880SSascha Wildner     ...))
12260d02842fSSascha Wildner 
1227267c04fdSSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
1228267c04fdSSascha Wildner void
1229267c04fdSSascha Wildner AcpiTracePoint (
1230267c04fdSSascha Wildner     ACPI_TRACE_EVENT_TYPE   Type,
1231267c04fdSSascha Wildner     BOOLEAN                 Begin,
1232267c04fdSSascha Wildner     UINT8                   *Aml,
1233267c04fdSSascha Wildner     char                    *Pathname))
1234267c04fdSSascha Wildner 
12353cc0afc6SSascha Wildner ACPI_STATUS
12363cc0afc6SSascha Wildner AcpiInitializeDebugger (
12373cc0afc6SSascha Wildner     void);
12383cc0afc6SSascha Wildner 
12393cc0afc6SSascha Wildner void
12403cc0afc6SSascha Wildner AcpiTerminateDebugger (
12413cc0afc6SSascha Wildner     void);
12423cc0afc6SSascha Wildner 
1243820c5b08SSascha Wildner void
1244820c5b08SSascha Wildner AcpiSetDebuggerThreadId (
1245820c5b08SSascha Wildner     ACPI_THREAD_ID          ThreadId);
1246820c5b08SSascha Wildner 
12470d02842fSSascha Wildner #endif /* __ACXFACE_H__ */
1248