xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision 79c6d946797dd4db2f2a943f664a4e976f6c942b)
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 /*
8efcc2a30SJung-uk Kim  * Copyright (C) 2000 - 2013, 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 
45a9f12690SJung-uk Kim #ifndef __ACXFACE_H__
46a9f12690SJung-uk Kim #define __ACXFACE_H__
47a9f12690SJung-uk Kim 
48a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
49a9f12690SJung-uk Kim 
50*79c6d946SJung-uk Kim #define ACPI_CA_VERSION                 0x20130823
51a9f12690SJung-uk Kim 
52a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
54ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
551df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
56a9f12690SJung-uk Kim 
57a9f12690SJung-uk Kim /*
58a9f12690SJung-uk Kim  * Globals that are publically available
59a9f12690SJung-uk Kim  */
60a9f12690SJung-uk Kim extern UINT32               AcpiCurrentGpeCount;
61a9f12690SJung-uk Kim extern ACPI_TABLE_FADT      AcpiGbl_FADT;
6242fecd12SJung-uk Kim extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
633f0275a0SJung-uk Kim extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
64bf6fac21SJung-uk Kim extern UINT8                AcpiGbl_OsiData;
65a9f12690SJung-uk Kim 
66a9f12690SJung-uk Kim /* Runtime configuration of debug print levels */
67a9f12690SJung-uk Kim 
68a9f12690SJung-uk Kim extern UINT32               AcpiDbgLevel;
69a9f12690SJung-uk Kim extern UINT32               AcpiDbgLayer;
70a9f12690SJung-uk Kim 
71a9f12690SJung-uk Kim /* ACPICA runtime options */
72a9f12690SJung-uk Kim 
73a9f12690SJung-uk Kim extern UINT8                AcpiGbl_EnableInterpreterSlack;
74a9f12690SJung-uk Kim extern UINT8                AcpiGbl_AllMethodsSerialized;
75a9f12690SJung-uk Kim extern UINT8                AcpiGbl_CreateOsiMethod;
76a9f12690SJung-uk Kim extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
77a9f12690SJung-uk Kim extern ACPI_NAME            AcpiGbl_TraceMethodName;
78a9f12690SJung-uk Kim extern UINT32               AcpiGbl_TraceFlags;
79ca3cf4faSJung-uk Kim extern UINT8                AcpiGbl_EnableAmlDebugObject;
808c8be05fSJung-uk Kim extern UINT8                AcpiGbl_CopyDsdtLocally;
81a88e22b7SJung-uk Kim extern UINT8                AcpiGbl_TruncateIoAddresses;
823f0275a0SJung-uk Kim extern UINT8                AcpiGbl_DisableAutoRepair;
83a9d8d09cSJung-uk Kim extern UINT8                AcpiGbl_DisableSsdtTableLoad;
84a9f12690SJung-uk Kim 
85a9f12690SJung-uk Kim 
86a9f12690SJung-uk Kim /*
87a159c266SJung-uk Kim  * Hardware-reduced prototypes. All interfaces that use these macros will
88a159c266SJung-uk Kim  * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
89a159c266SJung-uk Kim  * is set to TRUE.
90a159c266SJung-uk Kim  */
91a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
92a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
93a159c266SJung-uk Kim     Prototype;
94a159c266SJung-uk Kim 
95a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
96a159c266SJung-uk Kim     Prototype;
97a159c266SJung-uk Kim 
98a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
99a159c266SJung-uk Kim     Prototype;
100a159c266SJung-uk Kim 
101a159c266SJung-uk Kim #else
102a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
103a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
104a159c266SJung-uk Kim 
105a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
106a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
107a159c266SJung-uk Kim 
108a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
109a159c266SJung-uk Kim     static ACPI_INLINE Prototype {}
110a159c266SJung-uk Kim 
111a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
112a159c266SJung-uk Kim 
113a159c266SJung-uk Kim 
114a159c266SJung-uk Kim /*
1155a77b11bSJung-uk Kim  * Initialization
116a9f12690SJung-uk Kim  */
117a9f12690SJung-uk Kim ACPI_STATUS
118a9f12690SJung-uk Kim AcpiInitializeTables (
119a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
120a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
121a9f12690SJung-uk Kim     BOOLEAN                 AllowResize);
122a9f12690SJung-uk Kim 
123a9f12690SJung-uk Kim ACPI_STATUS
124a9f12690SJung-uk Kim AcpiInitializeSubsystem (
125a9f12690SJung-uk Kim     void);
126a9f12690SJung-uk Kim 
127a9f12690SJung-uk Kim ACPI_STATUS
128a9f12690SJung-uk Kim AcpiEnableSubsystem (
129a9f12690SJung-uk Kim     UINT32                  Flags);
130a9f12690SJung-uk Kim 
131a9f12690SJung-uk Kim ACPI_STATUS
132a9f12690SJung-uk Kim AcpiInitializeObjects (
133a9f12690SJung-uk Kim     UINT32                  Flags);
134a9f12690SJung-uk Kim 
135a9f12690SJung-uk Kim ACPI_STATUS
136a9f12690SJung-uk Kim AcpiTerminate (
137a9f12690SJung-uk Kim     void);
138a9f12690SJung-uk Kim 
139a9f12690SJung-uk Kim 
1405a77b11bSJung-uk Kim /*
1415a77b11bSJung-uk Kim  * Miscellaneous global interfaces
1425a77b11bSJung-uk Kim  */
143a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
144a9f12690SJung-uk Kim ACPI_STATUS
145a9f12690SJung-uk Kim AcpiEnable (
146a159c266SJung-uk Kim     void))
147a9f12690SJung-uk Kim 
148a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
149a9f12690SJung-uk Kim ACPI_STATUS
150a9f12690SJung-uk Kim AcpiDisable (
151a159c266SJung-uk Kim     void))
152a9f12690SJung-uk Kim 
153a9f12690SJung-uk Kim ACPI_STATUS
1545a77b11bSJung-uk Kim AcpiSubsystemStatus (
1555a77b11bSJung-uk Kim     void);
1565a77b11bSJung-uk Kim 
1575a77b11bSJung-uk Kim ACPI_STATUS
158a9f12690SJung-uk Kim AcpiGetSystemInfo (
159a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
160a9f12690SJung-uk Kim 
161a9f12690SJung-uk Kim ACPI_STATUS
162a9f12690SJung-uk Kim AcpiGetStatistics (
163a9f12690SJung-uk Kim     ACPI_STATISTICS         *Stats);
164a9f12690SJung-uk Kim 
165a9f12690SJung-uk Kim const char *
166a9f12690SJung-uk Kim AcpiFormatException (
167a9f12690SJung-uk Kim     ACPI_STATUS             Exception);
168a9f12690SJung-uk Kim 
169a9f12690SJung-uk Kim ACPI_STATUS
170a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
171a9f12690SJung-uk Kim     void);
172a9f12690SJung-uk Kim 
173709fac06SJung-uk Kim ACPI_STATUS
174709fac06SJung-uk Kim AcpiInstallInterface (
175709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
176709fac06SJung-uk Kim 
177709fac06SJung-uk Kim ACPI_STATUS
178709fac06SJung-uk Kim AcpiRemoveInterface (
179709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
180a9f12690SJung-uk Kim 
181bf6fac21SJung-uk Kim ACPI_STATUS
182bf6fac21SJung-uk Kim AcpiUpdateInterfaces (
183bf6fac21SJung-uk Kim     UINT8                   Action);
184bf6fac21SJung-uk Kim 
185ec3fc72fSJung-uk Kim UINT32
186ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
187ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
188ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
189ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
190ec3fc72fSJung-uk Kim     BOOLEAN                 Warn);
191ec3fc72fSJung-uk Kim 
1921df130f1SJung-uk Kim ACPI_STATUS
1931df130f1SJung-uk Kim AcpiDecodePldBuffer (
1941df130f1SJung-uk Kim     UINT8                   *InBuffer,
1951df130f1SJung-uk Kim     ACPI_SIZE               Length,
1961df130f1SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer);
1975a77b11bSJung-uk Kim 
198a9f12690SJung-uk Kim /*
199709fac06SJung-uk Kim  * ACPI Memory management
200a9f12690SJung-uk Kim  */
201a9f12690SJung-uk Kim void *
202a9f12690SJung-uk Kim AcpiAllocate (
203a9f12690SJung-uk Kim     UINT32                  Size);
204a9f12690SJung-uk Kim 
205a9f12690SJung-uk Kim void *
206a9f12690SJung-uk Kim AcpiCallocate (
207a9f12690SJung-uk Kim     UINT32                  Size);
208a9f12690SJung-uk Kim 
209a9f12690SJung-uk Kim void
210a9f12690SJung-uk Kim AcpiFree (
211a9f12690SJung-uk Kim     void                    *Address);
212a9f12690SJung-uk Kim 
213a9f12690SJung-uk Kim 
214a9f12690SJung-uk Kim /*
215e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
216e8241eabSJung-uk Kim  */
217e8241eabSJung-uk Kim ACPI_STATUS
218e8241eabSJung-uk Kim AcpiLoadTable (
219e8241eabSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
220e8241eabSJung-uk Kim 
221e8241eabSJung-uk Kim ACPI_STATUS
222e8241eabSJung-uk Kim AcpiUnloadParentTable (
223e8241eabSJung-uk Kim     ACPI_HANDLE             Object);
224e8241eabSJung-uk Kim 
225e8241eabSJung-uk Kim ACPI_STATUS
226e8241eabSJung-uk Kim AcpiLoadTables (
227e8241eabSJung-uk Kim     void);
228e8241eabSJung-uk Kim 
229e8241eabSJung-uk Kim 
230e8241eabSJung-uk Kim /*
231a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
232a9f12690SJung-uk Kim  */
233a9f12690SJung-uk Kim ACPI_STATUS
234a9f12690SJung-uk Kim AcpiReallocateRootTable (
235a9f12690SJung-uk Kim     void);
236a9f12690SJung-uk Kim 
237a9f12690SJung-uk Kim ACPI_STATUS
238a9f12690SJung-uk Kim AcpiFindRootPointer (
239a9f12690SJung-uk Kim     ACPI_SIZE               *RsdpAddress);
240a9f12690SJung-uk Kim 
241a9f12690SJung-uk Kim ACPI_STATUS
242a9f12690SJung-uk Kim AcpiGetTableHeader (
243a9f12690SJung-uk Kim     ACPI_STRING             Signature,
244a9f12690SJung-uk Kim     UINT32                  Instance,
245a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader);
246a9f12690SJung-uk Kim 
247a9f12690SJung-uk Kim ACPI_STATUS
248a9f12690SJung-uk Kim AcpiGetTable (
249a9f12690SJung-uk Kim     ACPI_STRING             Signature,
250a9f12690SJung-uk Kim     UINT32                  Instance,
251a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
252a9f12690SJung-uk Kim 
253a9f12690SJung-uk Kim ACPI_STATUS
254a9f12690SJung-uk Kim AcpiGetTableByIndex (
255a9f12690SJung-uk Kim     UINT32                  TableIndex,
256a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
257a9f12690SJung-uk Kim 
258a9f12690SJung-uk Kim ACPI_STATUS
259a9f12690SJung-uk Kim AcpiInstallTableHandler (
260a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
261a9f12690SJung-uk Kim     void                    *Context);
262a9f12690SJung-uk Kim 
263a9f12690SJung-uk Kim ACPI_STATUS
264a9f12690SJung-uk Kim AcpiRemoveTableHandler (
265a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler);
266a9f12690SJung-uk Kim 
267a9f12690SJung-uk Kim 
268a9f12690SJung-uk Kim /*
269a9f12690SJung-uk Kim  * Namespace and name interfaces
270a9f12690SJung-uk Kim  */
271a9f12690SJung-uk Kim ACPI_STATUS
272a9f12690SJung-uk Kim AcpiWalkNamespace (
273a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
274a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
275a9f12690SJung-uk Kim     UINT32                  MaxDepth,
276bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
277bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
278a9f12690SJung-uk Kim     void                    *Context,
279a9f12690SJung-uk Kim     void                    **ReturnValue);
280a9f12690SJung-uk Kim 
281a9f12690SJung-uk Kim ACPI_STATUS
282a9f12690SJung-uk Kim AcpiGetDevices (
283a9f12690SJung-uk Kim     char                    *HID,
284a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
285a9f12690SJung-uk Kim     void                    *Context,
286a9f12690SJung-uk Kim     void                    **ReturnValue);
287a9f12690SJung-uk Kim 
288a9f12690SJung-uk Kim ACPI_STATUS
289a9f12690SJung-uk Kim AcpiGetName (
2903f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
291a9f12690SJung-uk Kim     UINT32                  NameType,
292a9f12690SJung-uk Kim     ACPI_BUFFER             *RetPathPtr);
293a9f12690SJung-uk Kim 
294a9f12690SJung-uk Kim ACPI_STATUS
295a9f12690SJung-uk Kim AcpiGetHandle (
296a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
297a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
298a9f12690SJung-uk Kim     ACPI_HANDLE             *RetHandle);
299a9f12690SJung-uk Kim 
300a9f12690SJung-uk Kim ACPI_STATUS
301a9f12690SJung-uk Kim AcpiAttachData (
3023f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
303a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
304a9f12690SJung-uk Kim     void                    *Data);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim ACPI_STATUS
307a9f12690SJung-uk Kim AcpiDetachData (
3083f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
309a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler);
310a9f12690SJung-uk Kim 
311a9f12690SJung-uk Kim ACPI_STATUS
312a9f12690SJung-uk Kim AcpiGetData (
3133f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
314a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
315a9f12690SJung-uk Kim     void                    **Data);
316a9f12690SJung-uk Kim 
317a9f12690SJung-uk Kim ACPI_STATUS
318a9f12690SJung-uk Kim AcpiDebugTrace (
319a9f12690SJung-uk Kim     char                    *Name,
320a9f12690SJung-uk Kim     UINT32                  DebugLevel,
321a9f12690SJung-uk Kim     UINT32                  DebugLayer,
322a9f12690SJung-uk Kim     UINT32                  Flags);
323a9f12690SJung-uk Kim 
324a9f12690SJung-uk Kim 
325a9f12690SJung-uk Kim /*
326a9f12690SJung-uk Kim  * Object manipulation and enumeration
327a9f12690SJung-uk Kim  */
328a9f12690SJung-uk Kim ACPI_STATUS
329a9f12690SJung-uk Kim AcpiEvaluateObject (
330a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
331a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
332a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
333a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer);
334a9f12690SJung-uk Kim 
335a9f12690SJung-uk Kim ACPI_STATUS
336a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
337a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
338a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
339a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
340a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
341a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType);
342a9f12690SJung-uk Kim 
343a9f12690SJung-uk Kim ACPI_STATUS
344a9f12690SJung-uk Kim AcpiGetObjectInfo (
3453f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
346d6dd1baeSJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer);
347a9f12690SJung-uk Kim 
348a9f12690SJung-uk Kim ACPI_STATUS
349a9f12690SJung-uk Kim AcpiInstallMethod (
350a9f12690SJung-uk Kim     UINT8                   *Buffer);
351a9f12690SJung-uk Kim 
352a9f12690SJung-uk Kim ACPI_STATUS
353a9f12690SJung-uk Kim AcpiGetNextObject (
354a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
355a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
356a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
357a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
358a9f12690SJung-uk Kim 
359a9f12690SJung-uk Kim ACPI_STATUS
360a9f12690SJung-uk Kim AcpiGetType (
361a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
362a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType);
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim ACPI_STATUS
365a9f12690SJung-uk Kim AcpiGetParent (
366a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
367a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
368a9f12690SJung-uk Kim 
369a9f12690SJung-uk Kim 
370a9f12690SJung-uk Kim /*
371a9f12690SJung-uk Kim  * Handler interfaces
372a9f12690SJung-uk Kim  */
373a9f12690SJung-uk Kim ACPI_STATUS
374a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
375a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
376a9f12690SJung-uk Kim     UINT32                  Function);
377a9f12690SJung-uk Kim 
378a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
379a9f12690SJung-uk Kim ACPI_STATUS
380*79c6d946SJung-uk Kim AcpiInstallSciHandler (
381*79c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address,
382*79c6d946SJung-uk Kim     void                    *Context))
383*79c6d946SJung-uk Kim 
384*79c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
385*79c6d946SJung-uk Kim ACPI_STATUS
386*79c6d946SJung-uk Kim AcpiRemoveSciHandler (
387*79c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address))
388*79c6d946SJung-uk Kim 
389*79c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
390*79c6d946SJung-uk Kim ACPI_STATUS
3915a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
3925a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
393a159c266SJung-uk Kim     void                    *Context))
3945a77b11bSJung-uk Kim 
395a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
3965a77b11bSJung-uk Kim ACPI_STATUS
397a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
398a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
399a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
400a159c266SJung-uk Kim     void                    *Context))
401a9f12690SJung-uk Kim 
402a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
403a9f12690SJung-uk Kim ACPI_STATUS
404a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
405a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
406a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
407a9f12690SJung-uk Kim 
408a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
409a9f12690SJung-uk Kim ACPI_STATUS
4105a77b11bSJung-uk Kim AcpiInstallGpeHandler (
4115a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
4125a77b11bSJung-uk Kim     UINT32                  GpeNumber,
4135a77b11bSJung-uk Kim     UINT32                  Type,
4145a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
415a159c266SJung-uk Kim     void                    *Context))
4165a77b11bSJung-uk Kim 
417a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
4185a77b11bSJung-uk Kim ACPI_STATUS
4195a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
4205a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
4215a77b11bSJung-uk Kim     UINT32                  GpeNumber,
422a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
4235a77b11bSJung-uk Kim 
4245a77b11bSJung-uk Kim ACPI_STATUS
425a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
426a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
427a9f12690SJung-uk Kim     UINT32                  HandlerType,
428a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
429a9f12690SJung-uk Kim     void                    *Context);
430a9f12690SJung-uk Kim 
431a9f12690SJung-uk Kim ACPI_STATUS
432a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
433a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
434a9f12690SJung-uk Kim     UINT32                  HandlerType,
435a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler);
436a9f12690SJung-uk Kim 
437a9f12690SJung-uk Kim ACPI_STATUS
438a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
439a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
440a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
441a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
442a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
443a9f12690SJung-uk Kim     void                    *Context);
444a9f12690SJung-uk Kim 
445a9f12690SJung-uk Kim ACPI_STATUS
446a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
447a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
448a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
449a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler);
450a9f12690SJung-uk Kim 
451a9f12690SJung-uk Kim ACPI_STATUS
452a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
453a9f12690SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler);
454a9f12690SJung-uk Kim 
455709fac06SJung-uk Kim ACPI_STATUS
456709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
457709fac06SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler);
458709fac06SJung-uk Kim 
459a9f12690SJung-uk Kim 
460a9f12690SJung-uk Kim /*
4615a77b11bSJung-uk Kim  * Global Lock interfaces
462a9f12690SJung-uk Kim  */
463a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
464a9f12690SJung-uk Kim ACPI_STATUS
465a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
466a9f12690SJung-uk Kim     UINT16                  Timeout,
467a159c266SJung-uk Kim     UINT32                  *Handle))
468a9f12690SJung-uk Kim 
469a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
470a9f12690SJung-uk Kim ACPI_STATUS
471a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
472a159c266SJung-uk Kim     UINT32                  Handle))
473a9f12690SJung-uk Kim 
4745a77b11bSJung-uk Kim 
4755a77b11bSJung-uk Kim /*
4763f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
4773f0275a0SJung-uk Kim  */
4783f0275a0SJung-uk Kim ACPI_STATUS
4793f0275a0SJung-uk Kim AcpiAcquireMutex (
4803f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4813f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
4823f0275a0SJung-uk Kim     UINT16                  Timeout);
4833f0275a0SJung-uk Kim 
4843f0275a0SJung-uk Kim ACPI_STATUS
4853f0275a0SJung-uk Kim AcpiReleaseMutex (
4863f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4873f0275a0SJung-uk Kim     ACPI_STRING             Pathname);
4883f0275a0SJung-uk Kim 
4893f0275a0SJung-uk Kim 
4903f0275a0SJung-uk Kim /*
4915a77b11bSJung-uk Kim  * Fixed Event interfaces
4925a77b11bSJung-uk Kim  */
493a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
494a9f12690SJung-uk Kim ACPI_STATUS
495a9f12690SJung-uk Kim AcpiEnableEvent (
496a9f12690SJung-uk Kim     UINT32                  Event,
497a159c266SJung-uk Kim     UINT32                  Flags))
498a9f12690SJung-uk Kim 
499a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
500a9f12690SJung-uk Kim ACPI_STATUS
501a9f12690SJung-uk Kim AcpiDisableEvent (
502a9f12690SJung-uk Kim     UINT32                  Event,
503a159c266SJung-uk Kim     UINT32                  Flags))
504a9f12690SJung-uk Kim 
505a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
506a9f12690SJung-uk Kim ACPI_STATUS
507a9f12690SJung-uk Kim AcpiClearEvent (
508a159c266SJung-uk Kim     UINT32                  Event))
509a9f12690SJung-uk Kim 
510a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
511a9f12690SJung-uk Kim ACPI_STATUS
512a9f12690SJung-uk Kim AcpiGetEventStatus (
513a9f12690SJung-uk Kim     UINT32                  Event,
514a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
515a9f12690SJung-uk Kim 
516a9f12690SJung-uk Kim 
517a9f12690SJung-uk Kim /*
5185a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
519a9f12690SJung-uk Kim  */
520a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
521a9f12690SJung-uk Kim ACPI_STATUS
5225a77b11bSJung-uk Kim AcpiUpdateAllGpes (
523a159c266SJung-uk Kim     void))
524a9f12690SJung-uk Kim 
525a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
526a9f12690SJung-uk Kim ACPI_STATUS
527a9f12690SJung-uk Kim AcpiEnableGpe (
528a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
529a159c266SJung-uk Kim     UINT32                  GpeNumber))
530a9f12690SJung-uk Kim 
531a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
532a9f12690SJung-uk Kim ACPI_STATUS
533a9f12690SJung-uk Kim AcpiDisableGpe (
534a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
535a159c266SJung-uk Kim     UINT32                  GpeNumber))
536a9f12690SJung-uk Kim 
537a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
538a9f12690SJung-uk Kim ACPI_STATUS
539a9f12690SJung-uk Kim AcpiClearGpe (
540a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
541a159c266SJung-uk Kim     UINT32                  GpeNumber))
542a9f12690SJung-uk Kim 
543a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
544a9f12690SJung-uk Kim ACPI_STATUS
5455a77b11bSJung-uk Kim AcpiSetGpe (
5465a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
5475a77b11bSJung-uk Kim     UINT32                  GpeNumber,
548a159c266SJung-uk Kim     UINT8                   Action))
5495a77b11bSJung-uk Kim 
550a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5515a77b11bSJung-uk Kim ACPI_STATUS
5525a77b11bSJung-uk Kim AcpiFinishGpe (
5535a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
554a159c266SJung-uk Kim     UINT32                  GpeNumber))
5555a77b11bSJung-uk Kim 
556a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5575a77b11bSJung-uk Kim ACPI_STATUS
5585a77b11bSJung-uk Kim AcpiSetupGpeForWake (
5595a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
5605a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
561a159c266SJung-uk Kim     UINT32                  GpeNumber))
5625a77b11bSJung-uk Kim 
563a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5645a77b11bSJung-uk Kim ACPI_STATUS
5655a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
566a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
567a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
568a159c266SJung-uk Kim     UINT8                   Action))
569a88e22b7SJung-uk Kim 
570a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
571a88e22b7SJung-uk Kim ACPI_STATUS
572a9f12690SJung-uk Kim AcpiGetGpeStatus (
573a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
574a9f12690SJung-uk Kim     UINT32                  GpeNumber,
575a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
576a9f12690SJung-uk Kim 
577a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
578a9f12690SJung-uk Kim ACPI_STATUS
579a9f12690SJung-uk Kim AcpiDisableAllGpes (
580a159c266SJung-uk Kim     void))
581a9f12690SJung-uk Kim 
582a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
583a9f12690SJung-uk Kim ACPI_STATUS
584a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
585a159c266SJung-uk Kim     void))
586a9f12690SJung-uk Kim 
587a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
588a9f12690SJung-uk Kim ACPI_STATUS
589a9f12690SJung-uk Kim AcpiGetGpeDevice (
590a9f12690SJung-uk Kim     UINT32                  GpeIndex,
591a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
592a9f12690SJung-uk Kim 
593a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
594a9f12690SJung-uk Kim ACPI_STATUS
595a9f12690SJung-uk Kim AcpiInstallGpeBlock (
596a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
597a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
598a9f12690SJung-uk Kim     UINT32                  RegisterCount,
599a159c266SJung-uk Kim     UINT32                  InterruptNumber))
600a9f12690SJung-uk Kim 
601a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
602a9f12690SJung-uk Kim ACPI_STATUS
603a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
604a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
605a9f12690SJung-uk Kim 
606a9f12690SJung-uk Kim 
607a9f12690SJung-uk Kim /*
608a9f12690SJung-uk Kim  * Resource interfaces
609a9f12690SJung-uk Kim  */
610a9f12690SJung-uk Kim typedef
611a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
612a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
613a9f12690SJung-uk Kim     void                    *Context);
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim ACPI_STATUS
616a9f12690SJung-uk Kim AcpiGetVendorResource (
6173f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
618a9f12690SJung-uk Kim     char                    *Name,
619a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
620a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
621a9f12690SJung-uk Kim 
622a9f12690SJung-uk Kim ACPI_STATUS
623a9f12690SJung-uk Kim AcpiGetCurrentResources (
6243f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
625a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
626a9f12690SJung-uk Kim 
627a9f12690SJung-uk Kim ACPI_STATUS
628a9f12690SJung-uk Kim AcpiGetPossibleResources (
6293f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
630a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
631a9f12690SJung-uk Kim 
632a9f12690SJung-uk Kim ACPI_STATUS
6333f0275a0SJung-uk Kim AcpiGetEventResources (
6343f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
6353f0275a0SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
6363f0275a0SJung-uk Kim 
6373f0275a0SJung-uk Kim ACPI_STATUS
638efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
639efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
640efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
641efcc2a30SJung-uk Kim     void                        *Context);
642efcc2a30SJung-uk Kim 
643efcc2a30SJung-uk Kim ACPI_STATUS
644a9f12690SJung-uk Kim AcpiWalkResources (
6453f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
646a9f12690SJung-uk Kim     char                        *Name,
647a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
648a9f12690SJung-uk Kim     void                        *Context);
649a9f12690SJung-uk Kim 
650a9f12690SJung-uk Kim ACPI_STATUS
651a9f12690SJung-uk Kim AcpiSetCurrentResources (
6523f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
653a9f12690SJung-uk Kim     ACPI_BUFFER             *InBuffer);
654a9f12690SJung-uk Kim 
655a9f12690SJung-uk Kim ACPI_STATUS
656a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
6573f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
658a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
659a9f12690SJung-uk Kim 
660a9f12690SJung-uk Kim ACPI_STATUS
661a9f12690SJung-uk Kim AcpiResourceToAddress64 (
662a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
663a9f12690SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out);
664a9f12690SJung-uk Kim 
6653f0275a0SJung-uk Kim ACPI_STATUS
6663f0275a0SJung-uk Kim AcpiBufferToResource (
6673f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
6683f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
6693f0275a0SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr);
6703f0275a0SJung-uk Kim 
671a9f12690SJung-uk Kim 
672a9f12690SJung-uk Kim /*
673a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
674a9f12690SJung-uk Kim  */
675a9f12690SJung-uk Kim ACPI_STATUS
676a9f12690SJung-uk Kim AcpiReset (
677a9f12690SJung-uk Kim     void);
678a9f12690SJung-uk Kim 
679a9f12690SJung-uk Kim ACPI_STATUS
680a9f12690SJung-uk Kim AcpiRead (
681d6dd1baeSJung-uk Kim     UINT64                  *Value,
682a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
683a9f12690SJung-uk Kim 
684a9f12690SJung-uk Kim ACPI_STATUS
685a9f12690SJung-uk Kim AcpiWrite (
686d6dd1baeSJung-uk Kim     UINT64                  Value,
687a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
688a9f12690SJung-uk Kim 
689a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
690a9f12690SJung-uk Kim ACPI_STATUS
691a9f12690SJung-uk Kim AcpiReadBitRegister (
692a9f12690SJung-uk Kim     UINT32                  RegisterId,
693a159c266SJung-uk Kim     UINT32                  *ReturnValue))
694a9f12690SJung-uk Kim 
695a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
696a9f12690SJung-uk Kim ACPI_STATUS
697a9f12690SJung-uk Kim AcpiWriteBitRegister (
698a9f12690SJung-uk Kim     UINT32                  RegisterId,
699a159c266SJung-uk Kim     UINT32                  Value))
700a9f12690SJung-uk Kim 
701a159c266SJung-uk Kim 
702a159c266SJung-uk Kim /*
703a159c266SJung-uk Kim  * Sleep/Wake interfaces
704a159c266SJung-uk Kim  */
705a9f12690SJung-uk Kim ACPI_STATUS
706a9f12690SJung-uk Kim AcpiGetSleepTypeData (
707a9f12690SJung-uk Kim     UINT8                   SleepState,
708a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
709a9f12690SJung-uk Kim     UINT8                   *Slp_TypB);
710a9f12690SJung-uk Kim 
711a9f12690SJung-uk Kim ACPI_STATUS
712a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
713a9f12690SJung-uk Kim     UINT8                   SleepState);
714a9f12690SJung-uk Kim 
715a9f12690SJung-uk Kim ACPI_STATUS
716a9f12690SJung-uk Kim AcpiEnterSleepState (
7171df130f1SJung-uk Kim     UINT8                   SleepState);
718a9f12690SJung-uk Kim 
719a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
720a9f12690SJung-uk Kim ACPI_STATUS
721a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
722a159c266SJung-uk Kim     void))
723a159c266SJung-uk Kim 
724a159c266SJung-uk Kim ACPI_STATUS
725a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
7261df130f1SJung-uk Kim     UINT8                   SleepState);
727a9f12690SJung-uk Kim 
728a9f12690SJung-uk Kim ACPI_STATUS
729a9f12690SJung-uk Kim AcpiLeaveSleepState (
730a159c266SJung-uk Kim     UINT8                   SleepState);
731a159c266SJung-uk Kim 
732a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
733a9f12690SJung-uk Kim ACPI_STATUS
734a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
735a159c266SJung-uk Kim     UINT32                  PhysicalAddress))
736a9f12690SJung-uk Kim 
737a9f12690SJung-uk Kim #if ACPI_MACHINE_WIDTH == 64
738a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
739a9f12690SJung-uk Kim ACPI_STATUS
740a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector64 (
741a159c266SJung-uk Kim     UINT64                  PhysicalAddress))
742a9f12690SJung-uk Kim #endif
743a9f12690SJung-uk Kim 
744a9f12690SJung-uk Kim 
745a9f12690SJung-uk Kim /*
746a159c266SJung-uk Kim  * ACPI Timer interfaces
747a159c266SJung-uk Kim  */
748a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
749a159c266SJung-uk Kim ACPI_STATUS
750a159c266SJung-uk Kim AcpiGetTimerResolution (
751a159c266SJung-uk Kim     UINT32                  *Resolution))
752a159c266SJung-uk Kim 
753a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
754a159c266SJung-uk Kim ACPI_STATUS
755a159c266SJung-uk Kim AcpiGetTimer (
756a159c266SJung-uk Kim     UINT32                  *Ticks))
757a159c266SJung-uk Kim 
758a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
759a159c266SJung-uk Kim ACPI_STATUS
760a159c266SJung-uk Kim AcpiGetTimerDuration (
761a159c266SJung-uk Kim     UINT32                  StartTicks,
762a159c266SJung-uk Kim     UINT32                  EndTicks,
763a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
764a159c266SJung-uk Kim 
765a159c266SJung-uk Kim 
766a159c266SJung-uk Kim /*
767a9f12690SJung-uk Kim  * Error/Warning output
768a9f12690SJung-uk Kim  */
769a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
770a9f12690SJung-uk Kim AcpiError (
771a9f12690SJung-uk Kim     const char              *ModuleName,
772a9f12690SJung-uk Kim     UINT32                  LineNumber,
773a9f12690SJung-uk Kim     const char              *Format,
774a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
775a9f12690SJung-uk Kim 
776a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
777a9f12690SJung-uk Kim AcpiException (
778a9f12690SJung-uk Kim     const char              *ModuleName,
779a9f12690SJung-uk Kim     UINT32                  LineNumber,
780a9f12690SJung-uk Kim     ACPI_STATUS             Status,
781a9f12690SJung-uk Kim     const char              *Format,
782a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(4);
783a9f12690SJung-uk Kim 
784a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
785a9f12690SJung-uk Kim AcpiWarning (
786a9f12690SJung-uk Kim     const char              *ModuleName,
787a9f12690SJung-uk Kim     UINT32                  LineNumber,
788a9f12690SJung-uk Kim     const char              *Format,
789a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
790a9f12690SJung-uk Kim 
791a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
792a9f12690SJung-uk Kim AcpiInfo (
793a9f12690SJung-uk Kim     const char              *ModuleName,
794a9f12690SJung-uk Kim     UINT32                  LineNumber,
795a9f12690SJung-uk Kim     const char              *Format,
796a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
797a9f12690SJung-uk Kim 
798e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
799e8241eabSJung-uk Kim AcpiBiosError (
800e8241eabSJung-uk Kim     const char              *ModuleName,
801e8241eabSJung-uk Kim     UINT32                  LineNumber,
802e8241eabSJung-uk Kim     const char              *Format,
803e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
804e8241eabSJung-uk Kim 
805e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
806e8241eabSJung-uk Kim AcpiBiosWarning (
807e8241eabSJung-uk Kim     const char              *ModuleName,
808e8241eabSJung-uk Kim     UINT32                  LineNumber,
809e8241eabSJung-uk Kim     const char              *Format,
810e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
811e8241eabSJung-uk Kim 
812a9f12690SJung-uk Kim 
813a9f12690SJung-uk Kim /*
814a9f12690SJung-uk Kim  * Debug output
815a9f12690SJung-uk Kim  */
816a9f12690SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
817a9f12690SJung-uk Kim 
818a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
819a9f12690SJung-uk Kim AcpiDebugPrint (
820a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
821a9f12690SJung-uk Kim     UINT32                  LineNumber,
822a9f12690SJung-uk Kim     const char              *FunctionName,
823a9f12690SJung-uk Kim     const char              *ModuleName,
824a9f12690SJung-uk Kim     UINT32                  ComponentId,
825a9f12690SJung-uk Kim     const char              *Format,
826a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
827a9f12690SJung-uk Kim 
828a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
829a9f12690SJung-uk Kim AcpiDebugPrintRaw (
830a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
831a9f12690SJung-uk Kim     UINT32                  LineNumber,
832a9f12690SJung-uk Kim     const char              *FunctionName,
833a9f12690SJung-uk Kim     const char              *ModuleName,
834a9f12690SJung-uk Kim     UINT32                  ComponentId,
835a9f12690SJung-uk Kim     const char              *Format,
836a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
837a9f12690SJung-uk Kim #endif
838a9f12690SJung-uk Kim 
839a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
840