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