xref: /minix3/minix/drivers/power/acpi/include/acpixf.h (revision 29492bb71c7148a089a5afafa0c99409161218df)
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