xref: /reactos/drivers/bus/acpi/acpica/include/acpixf.h (revision 5bb277a5)
1 /******************************************************************************
2  *
3  * Name: acpixf.h - External interfaces to the ACPI subsystem
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2019, Intel Corp.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions, and the following disclaimer,
16  *    without modification.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  *    substantially similar to the "NO WARRANTY" disclaimer below
19  *    ("Disclaimer") and any redistribution must be conditioned upon
20  *    including a substantially similar Disclaimer requirement for further
21  *    binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  *    of any contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43 
44 #ifndef __ACXFACE_H__
45 #define __ACXFACE_H__
46 
47 /* Current ACPICA subsystem version in YYYYMMDD format */
48 
49 #define ACPI_CA_VERSION                 0x20190108
50 
51 #include "acconfig.h"
52 #include "actypes.h"
53 #include "actbl.h"
54 #include "acbuffer.h"
55 
56 
57 /*****************************************************************************
58  *
59  * Macros used for ACPICA globals and configuration
60  *
61  ****************************************************************************/
62 
63 /*
64  * Ensure that global variables are defined and initialized only once.
65  *
66  * The use of these macros allows for a single list of globals (here)
67  * in order to simplify maintenance of the code.
68  */
69 #ifdef DEFINE_ACPI_GLOBALS
70 #define ACPI_GLOBAL(type,name) \
71     extern type name; \
72     type name
73 
74 #define ACPI_INIT_GLOBAL(type,name,value) \
75     type name=value
76 
77 #else
78 #ifndef ACPI_GLOBAL
79 #define ACPI_GLOBAL(type,name) \
80     extern type name
81 #endif
82 
83 #ifndef ACPI_INIT_GLOBAL
84 #define ACPI_INIT_GLOBAL(type,name,value) \
85     extern type name
86 #endif
87 #endif
88 
89 /*
90  * These macros configure the various ACPICA interfaces. They are
91  * useful for generating stub inline functions for features that are
92  * configured out of the current kernel or ACPICA application.
93  */
94 #ifndef ACPI_EXTERNAL_RETURN_STATUS
95 #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
96     Prototype;
97 #endif
98 
99 #ifndef ACPI_EXTERNAL_RETURN_OK
100 #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
101     Prototype;
102 #endif
103 
104 #ifndef ACPI_EXTERNAL_RETURN_VOID
105 #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
106     Prototype;
107 #endif
108 
109 #ifndef ACPI_EXTERNAL_RETURN_UINT32
110 #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
111     Prototype;
112 #endif
113 
114 #ifndef ACPI_EXTERNAL_RETURN_PTR
115 #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
116     Prototype;
117 #endif
118 
119 
120 /*****************************************************************************
121  *
122  * Public globals and runtime configuration options
123  *
124  ****************************************************************************/
125 
126 /*
127  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
128  * interpreter strictly follows the ACPI specification. Setting to TRUE
129  * allows the interpreter to ignore certain errors and/or bad AML constructs.
130  *
131  * Currently, these features are enabled by this flag:
132  *
133  * 1) Allow "implicit return" of last value in a control method
134  * 2) Allow access beyond the end of an operation region
135  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
136  * 4) Allow ANY object type to be a source operand for the Store() operator
137  * 5) Allow unresolved references (invalid target name) in package objects
138  * 6) Enable warning messages for behavior that is not ACPI spec compliant
139  */
140 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
141 
142 /*
143  * Automatically serialize all methods that create named objects? Default
144  * is TRUE, meaning that all NonSerialized methods are scanned once at
145  * table load time to determine those that create named objects. Methods
146  * that create named objects are marked Serialized in order to prevent
147  * possible run-time problems if they are entered by more than one thread.
148  */
149 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
150 
151 /*
152  * Create the predefined _OSI method in the namespace? Default is TRUE
153  * because ACPICA is fully compatible with other ACPI implementations.
154  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
155  */
156 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
157 
158 /*
159  * Optionally use default values for the ACPI register widths. Set this to
160  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
161  */
162 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
163 
164 /*
165  * Whether or not to validate (map) an entire table to verify
166  * checksum/duplication in early stage before install. Set this to TRUE to
167  * allow early table validation before install it to the table manager.
168  * Note that enabling this option causes errors to happen in some OSPMs
169  * during early initialization stages. Default behavior is to allow such
170  * validation.
171  */
172 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableTableValidation, TRUE);
173 
174 /*
175  * Optionally enable output from the AML Debug Object.
176  */
177 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
178 
179 /*
180  * Optionally copy the entire DSDT to local memory (instead of simply
181  * mapping it.) There are some BIOSs that corrupt or replace the original
182  * DSDT, creating the need for this option. Default is FALSE, do not copy
183  * the DSDT.
184  */
185 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
186 
187 /*
188  * Optionally ignore an XSDT if present and use the RSDT instead.
189  * Although the ACPI specification requires that an XSDT be used instead
190  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
191  * some machines. Default behavior is to use the XSDT if present.
192  */
193 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
194 
195 /*
196  * Optionally support module level code by parsing an entire table as
197  * a method as it is loaded. Default is TRUE.
198  * NOTE, this is essentially obsolete and will be removed soon
199  * (01/2018).
200  */
201 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_ExecuteTablesAsMethods, TRUE);
202 
203 /*
204  * Optionally use 32-bit FADT addresses if and when there is a conflict
205  * (address mismatch) between the 32-bit and 64-bit versions of the
206  * address. Although ACPICA adheres to the ACPI specification which
207  * requires the use of the corresponding 64-bit address if it is non-zero,
208  * some machines have been found to have a corrupted non-zero 64-bit
209  * address. Default is FALSE, do not favor the 32-bit addresses.
210  */
211 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
212 
213 /*
214  * Optionally use 32-bit FACS table addresses.
215  * It is reported that some platforms fail to resume from system suspending
216  * if 64-bit FACS table address is selected:
217  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
218  * Default is TRUE, favor the 32-bit addresses.
219  */
220 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
221 
222 /*
223  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
224  * with other ACPI implementations. NOTE: During ACPICA initialization,
225  * this value is set to TRUE if any Windows OSI strings have been
226  * requested by the BIOS.
227  */
228 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
229 
230 /*
231  * Disable runtime checking and repair of values returned by control methods.
232  * Use only if the repair is causing a problem on a particular machine.
233  */
234 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
235 
236 /*
237  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
238  * This can be useful for debugging ACPI problems on some machines.
239  */
240 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
241 
242 /*
243  * Optionally enable runtime namespace override.
244  */
245 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
246 
247 /*
248  * We keep track of the latest version of Windows that has been requested by
249  * the BIOS. ACPI 5.0.
250  */
251 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
252 
253 /*
254  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
255  * that the ACPI hardware is no longer required. A flag in the FADT indicates
256  * a reduced HW machine, and that flag is duplicated here for convenience.
257  */
258 ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
259 
260 /*
261  * Maximum timeout for While() loop iterations before forced method abort.
262  * This mechanism is intended to prevent infinite loops during interpreter
263  * execution within a host kernel.
264  */
265 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_TIMEOUT);
266 
267 /*
268  * Optionally ignore AE_NOT_FOUND errors from named reference package elements
269  * during DSDT/SSDT table loading. This reduces error "noise" in platforms
270  * whose firmware is carrying around a bunch of unused package objects that
271  * refer to non-existent named objects. However, If the AML actually tries to
272  * use such a package, the unresolved element(s) will be replaced with NULL
273  * elements.
274  */
275 ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_IgnorePackageResolutionErrors, FALSE);
276 
277 /*
278  * This mechanism is used to trace a specified AML method. The method is
279  * traced each time it is executed.
280  */
281 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
282 ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
283 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
284 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
285 
286 /*
287  * Runtime configuration of debug output control masks. We want the debug
288  * switches statically initialized so they are already set when the debugger
289  * is entered.
290  */
291 #ifdef ACPI_DEBUG_OUTPUT
292 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
293 #else
294 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
295 #endif
296 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
297 
298 /* Optionally enable timer output with Debug Object output */
299 
300 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
301 
302 /*
303  * Debugger command handshake globals. Host OSes need to access these
304  * variables to implement their own command handshake mechanism.
305  */
306 #ifdef ACPI_DEBUGGER
307 ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_MethodExecuting, FALSE);
308 ACPI_GLOBAL (char,                  AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
309 #endif
310 
311 /*
312  * Other miscellaneous globals
313  */
314 ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
315 ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
316 ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
317 
318 
319 /*****************************************************************************
320  *
321  * ACPICA public interface configuration.
322  *
323  * Interfaces that are configured out of the ACPICA build are replaced
324  * by inlined stubs by default.
325  *
326  ****************************************************************************/
327 
328 /*
329  * Hardware-reduced prototypes (default: Not hardware reduced).
330  *
331  * All ACPICA hardware-related interfaces that use these macros will be
332  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
333  * is set to TRUE.
334  *
335  * Note: This static build option for reduced hardware is intended to
336  * reduce ACPICA code size if desired or necessary. However, even if this
337  * option is not specified, the runtime behavior of ACPICA is dependent
338  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
339  * the flag will enable similar behavior -- ACPICA will not attempt
340  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
341  */
342 #if (!ACPI_REDUCED_HARDWARE)
343 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
344     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
345 
346 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
347     ACPI_EXTERNAL_RETURN_OK(Prototype)
348 
349 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
350     ACPI_EXTERNAL_RETURN_VOID(Prototype)
351 
352 #else
353 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
354     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
355 
356 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
357     static ACPI_INLINE Prototype {return(AE_OK);}
358 
359 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
360     static ACPI_INLINE Prototype {return;}
361 
362 #endif /* !ACPI_REDUCED_HARDWARE */
363 
364 
365 /*
366  * Error message prototypes (default: error messages enabled).
367  *
368  * All interfaces related to error and warning messages
369  * will be configured out of the ACPICA build if the
370  * ACPI_NO_ERROR_MESSAGE flag is defined.
371  */
372 #ifndef ACPI_NO_ERROR_MESSAGES
373 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
374     Prototype;
375 
376 #else
377 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
378     static ACPI_INLINE Prototype {return;}
379 
380 #endif /* ACPI_NO_ERROR_MESSAGES */
381 
382 
383 /*
384  * Debugging output prototypes (default: no debug output).
385  *
386  * All interfaces related to debug output messages
387  * will be configured out of the ACPICA build unless the
388  * ACPI_DEBUG_OUTPUT flag is defined.
389  */
390 #ifdef ACPI_DEBUG_OUTPUT
391 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
392     Prototype;
393 
394 #else
395 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
396     static ACPI_INLINE Prototype {return;}
397 
398 #endif /* ACPI_DEBUG_OUTPUT */
399 
400 
401 /*
402  * Application prototypes
403  *
404  * All interfaces used by application will be configured
405  * out of the ACPICA build unless the ACPI_APPLICATION
406  * flag is defined.
407  */
408 #ifdef ACPI_APPLICATION
409 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
410     Prototype;
411 
412 #else
413 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
414     static ACPI_INLINE Prototype {return;}
415 
416 #endif /* ACPI_APPLICATION */
417 
418 
419 /*
420  * Debugger prototypes
421  *
422  * All interfaces used by debugger will be configured
423  * out of the ACPICA build unless the ACPI_DEBUGGER
424  * flag is defined.
425  */
426 #ifdef ACPI_DEBUGGER
427 #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
428     ACPI_EXTERNAL_RETURN_OK(Prototype)
429 
430 #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
431     ACPI_EXTERNAL_RETURN_VOID(Prototype)
432 
433 #else
434 #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
435     static ACPI_INLINE Prototype {return(AE_OK);}
436 
437 #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
438     static ACPI_INLINE Prototype {return;}
439 
440 #endif /* ACPI_DEBUGGER */
441 
442 
443 /*****************************************************************************
444  *
445  * ACPICA public interface prototypes
446  *
447  ****************************************************************************/
448 
449 /*
450  * Initialization
451  */
452 ACPI_EXTERNAL_RETURN_STATUS (
453 ACPI_STATUS ACPI_INIT_FUNCTION
454 AcpiInitializeTables (
455     ACPI_TABLE_DESC         *InitialStorage,
456     UINT32                  InitialTableCount,
457     BOOLEAN                 AllowResize))
458 
459 ACPI_EXTERNAL_RETURN_STATUS (
460 ACPI_STATUS ACPI_INIT_FUNCTION
461 AcpiInitializeSubsystem (
462     void))
463 
464 ACPI_EXTERNAL_RETURN_STATUS (
465 ACPI_STATUS ACPI_INIT_FUNCTION
466 AcpiEnableSubsystem (
467     UINT32                  Flags))
468 
469 ACPI_EXTERNAL_RETURN_STATUS (
470 ACPI_STATUS ACPI_INIT_FUNCTION
471 AcpiInitializeObjects (
472     UINT32                  Flags))
473 
474 ACPI_EXTERNAL_RETURN_STATUS (
475 ACPI_STATUS ACPI_INIT_FUNCTION
476 AcpiTerminate (
477     void))
478 
479 
480 /*
481  * Miscellaneous global interfaces
482  */
483 ACPI_HW_DEPENDENT_RETURN_STATUS (
484 ACPI_STATUS
485 AcpiEnable (
486     void))
487 
488 ACPI_HW_DEPENDENT_RETURN_STATUS (
489 ACPI_STATUS
490 AcpiDisable (
491     void))
492 
493 ACPI_EXTERNAL_RETURN_STATUS (
494 ACPI_STATUS
495 AcpiSubsystemStatus (
496     void))
497 
498 ACPI_EXTERNAL_RETURN_STATUS (
499 ACPI_STATUS
500 AcpiGetSystemInfo (
501     ACPI_BUFFER             *RetBuffer))
502 
503 ACPI_EXTERNAL_RETURN_STATUS (
504 ACPI_STATUS
505 AcpiGetStatistics (
506     ACPI_STATISTICS         *Stats))
507 
508 ACPI_EXTERNAL_RETURN_PTR (
509 const char *
510 AcpiFormatException (
511     ACPI_STATUS             Exception))
512 
513 ACPI_EXTERNAL_RETURN_STATUS (
514 ACPI_STATUS
515 AcpiPurgeCachedObjects (
516     void))
517 
518 ACPI_EXTERNAL_RETURN_STATUS (
519 ACPI_STATUS
520 AcpiInstallInterface (
521     ACPI_STRING             InterfaceName))
522 
523 ACPI_EXTERNAL_RETURN_STATUS (
524 ACPI_STATUS
525 AcpiRemoveInterface (
526     ACPI_STRING             InterfaceName))
527 
528 ACPI_EXTERNAL_RETURN_STATUS (
529 ACPI_STATUS
530 AcpiUpdateInterfaces (
531     UINT8                   Action))
532 
533 ACPI_EXTERNAL_RETURN_UINT32 (
534 UINT32
535 AcpiCheckAddressRange (
536     ACPI_ADR_SPACE_TYPE     SpaceId,
537     ACPI_PHYSICAL_ADDRESS   Address,
538     ACPI_SIZE               Length,
539     BOOLEAN                 Warn))
540 
541 ACPI_EXTERNAL_RETURN_STATUS (
542 ACPI_STATUS
543 AcpiDecodePldBuffer (
544     UINT8                   *InBuffer,
545     ACPI_SIZE               Length,
546     ACPI_PLD_INFO           **ReturnBuffer))
547 
548 
549 /*
550  * ACPI table load/unload interfaces
551  */
552 ACPI_EXTERNAL_RETURN_STATUS (
553 ACPI_STATUS ACPI_INIT_FUNCTION
554 AcpiInstallTable (
555     ACPI_PHYSICAL_ADDRESS   Address,
556     BOOLEAN                 Physical))
557 
558 ACPI_EXTERNAL_RETURN_STATUS (
559 ACPI_STATUS
560 AcpiLoadTable (
561     ACPI_TABLE_HEADER       *Table))
562 
563 ACPI_EXTERNAL_RETURN_STATUS (
564 ACPI_STATUS
565 AcpiUnloadParentTable (
566     ACPI_HANDLE             Object))
567 
568 ACPI_EXTERNAL_RETURN_STATUS (
569 ACPI_STATUS ACPI_INIT_FUNCTION
570 AcpiLoadTables (
571     void))
572 
573 
574 /*
575  * ACPI table manipulation interfaces
576  */
577 ACPI_EXTERNAL_RETURN_STATUS (
578 ACPI_STATUS ACPI_INIT_FUNCTION
579 AcpiReallocateRootTable (
580     void))
581 
582 ACPI_EXTERNAL_RETURN_STATUS (
583 ACPI_STATUS ACPI_INIT_FUNCTION
584 AcpiFindRootPointer (
585     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
586 
587 ACPI_EXTERNAL_RETURN_STATUS (
588 ACPI_STATUS
589 AcpiGetTableHeader (
590     ACPI_STRING             Signature,
591     UINT32                  Instance,
592     ACPI_TABLE_HEADER       *OutTableHeader))
593 
594 ACPI_EXTERNAL_RETURN_STATUS (
595 ACPI_STATUS
596 AcpiGetTable (
597     ACPI_STRING             Signature,
598     UINT32                  Instance,
599     ACPI_TABLE_HEADER       **OutTable))
600 
601 ACPI_EXTERNAL_RETURN_VOID (
602 void
603 AcpiPutTable (
604     ACPI_TABLE_HEADER       *Table))
605 
606 ACPI_EXTERNAL_RETURN_STATUS (
607 ACPI_STATUS
608 AcpiGetTableByIndex (
609     UINT32                  TableIndex,
610     ACPI_TABLE_HEADER       **OutTable))
611 
612 ACPI_EXTERNAL_RETURN_STATUS (
613 ACPI_STATUS
614 AcpiInstallTableHandler (
615     ACPI_TABLE_HANDLER      Handler,
616     void                    *Context))
617 
618 ACPI_EXTERNAL_RETURN_STATUS (
619 ACPI_STATUS
620 AcpiRemoveTableHandler (
621     ACPI_TABLE_HANDLER      Handler))
622 
623 
624 /*
625  * Namespace and name interfaces
626  */
627 ACPI_EXTERNAL_RETURN_STATUS (
628 ACPI_STATUS
629 AcpiWalkNamespace (
630     ACPI_OBJECT_TYPE        Type,
631     ACPI_HANDLE             StartObject,
632     UINT32                  MaxDepth,
633     ACPI_WALK_CALLBACK      DescendingCallback,
634     ACPI_WALK_CALLBACK      AscendingCallback,
635     void                    *Context,
636     void                    **ReturnValue))
637 
638 ACPI_EXTERNAL_RETURN_STATUS (
639 ACPI_STATUS
640 AcpiGetDevices (
641     char                    *HID,
642     ACPI_WALK_CALLBACK      UserFunction,
643     void                    *Context,
644     void                    **ReturnValue))
645 
646 ACPI_EXTERNAL_RETURN_STATUS (
647 ACPI_STATUS
648 AcpiGetName (
649     ACPI_HANDLE             Object,
650     UINT32                  NameType,
651     ACPI_BUFFER             *RetPathPtr))
652 
653 ACPI_EXTERNAL_RETURN_STATUS (
654 ACPI_STATUS
655 AcpiGetHandle (
656     ACPI_HANDLE             Parent,
657     ACPI_STRING             Pathname,
658     ACPI_HANDLE             *RetHandle))
659 
660 ACPI_EXTERNAL_RETURN_STATUS (
661 ACPI_STATUS
662 AcpiAttachData (
663     ACPI_HANDLE             Object,
664     ACPI_OBJECT_HANDLER     Handler,
665     void                    *Data))
666 
667 ACPI_EXTERNAL_RETURN_STATUS (
668 ACPI_STATUS
669 AcpiDetachData (
670     ACPI_HANDLE             Object,
671     ACPI_OBJECT_HANDLER     Handler))
672 
673 ACPI_EXTERNAL_RETURN_STATUS (
674 ACPI_STATUS
675 AcpiGetData (
676     ACPI_HANDLE             Object,
677     ACPI_OBJECT_HANDLER     Handler,
678     void                    **Data))
679 
680 ACPI_EXTERNAL_RETURN_STATUS (
681 ACPI_STATUS
682 AcpiDebugTrace (
683     const char              *Name,
684     UINT32                  DebugLevel,
685     UINT32                  DebugLayer,
686     UINT32                  Flags))
687 
688 
689 /*
690  * Object manipulation and enumeration
691  */
692 ACPI_EXTERNAL_RETURN_STATUS (
693 ACPI_STATUS
694 AcpiEvaluateObject (
695     ACPI_HANDLE             Object,
696     ACPI_STRING             Pathname,
697     ACPI_OBJECT_LIST        *ParameterObjects,
698     ACPI_BUFFER             *ReturnObjectBuffer))
699 
700 ACPI_EXTERNAL_RETURN_STATUS (
701 ACPI_STATUS
702 AcpiEvaluateObjectTyped (
703     ACPI_HANDLE             Object,
704     ACPI_STRING             Pathname,
705     ACPI_OBJECT_LIST        *ExternalParams,
706     ACPI_BUFFER             *ReturnBuffer,
707     ACPI_OBJECT_TYPE        ReturnType))
708 
709 ACPI_EXTERNAL_RETURN_STATUS (
710 ACPI_STATUS
711 AcpiGetObjectInfo (
712     ACPI_HANDLE             Object,
713     ACPI_DEVICE_INFO        **ReturnBuffer))
714 
715 ACPI_EXTERNAL_RETURN_STATUS (
716 ACPI_STATUS
717 AcpiInstallMethod (
718     UINT8                   *Buffer))
719 
720 ACPI_EXTERNAL_RETURN_STATUS (
721 ACPI_STATUS
722 AcpiGetNextObject (
723     ACPI_OBJECT_TYPE        Type,
724     ACPI_HANDLE             Parent,
725     ACPI_HANDLE             Child,
726     ACPI_HANDLE             *OutHandle))
727 
728 ACPI_EXTERNAL_RETURN_STATUS (
729 ACPI_STATUS
730 AcpiGetType (
731     ACPI_HANDLE             Object,
732     ACPI_OBJECT_TYPE        *OutType))
733 
734 ACPI_EXTERNAL_RETURN_STATUS (
735 ACPI_STATUS
736 AcpiGetParent (
737     ACPI_HANDLE             Object,
738     ACPI_HANDLE             *OutHandle))
739 
740 
741 /*
742  * Handler interfaces
743  */
744 ACPI_EXTERNAL_RETURN_STATUS (
745 ACPI_STATUS
746 AcpiInstallInitializationHandler (
747     ACPI_INIT_HANDLER       Handler,
748     UINT32                  Function))
749 
750 ACPI_HW_DEPENDENT_RETURN_STATUS (
751 ACPI_STATUS
752 AcpiInstallSciHandler (
753     ACPI_SCI_HANDLER        Address,
754     void                    *Context))
755 
756 ACPI_HW_DEPENDENT_RETURN_STATUS (
757 ACPI_STATUS
758 AcpiRemoveSciHandler (
759     ACPI_SCI_HANDLER        Address))
760 
761 ACPI_HW_DEPENDENT_RETURN_STATUS (
762 ACPI_STATUS
763 AcpiInstallGlobalEventHandler (
764     ACPI_GBL_EVENT_HANDLER  Handler,
765     void                    *Context))
766 
767 ACPI_HW_DEPENDENT_RETURN_STATUS (
768 ACPI_STATUS
769 AcpiInstallFixedEventHandler (
770     UINT32                  AcpiEvent,
771     ACPI_EVENT_HANDLER      Handler,
772     void                    *Context))
773 
774 ACPI_HW_DEPENDENT_RETURN_STATUS (
775 ACPI_STATUS
776 AcpiRemoveFixedEventHandler (
777     UINT32                  AcpiEvent,
778     ACPI_EVENT_HANDLER      Handler))
779 
780 ACPI_HW_DEPENDENT_RETURN_STATUS (
781 ACPI_STATUS
782 AcpiInstallGpeHandler (
783     ACPI_HANDLE             GpeDevice,
784     UINT32                  GpeNumber,
785     UINT32                  Type,
786     ACPI_GPE_HANDLER        Address,
787     void                    *Context))
788 
789 ACPI_HW_DEPENDENT_RETURN_STATUS (
790 ACPI_STATUS
791 AcpiInstallGpeRawHandler (
792     ACPI_HANDLE             GpeDevice,
793     UINT32                  GpeNumber,
794     UINT32                  Type,
795     ACPI_GPE_HANDLER        Address,
796     void                    *Context))
797 
798 ACPI_HW_DEPENDENT_RETURN_STATUS (
799 ACPI_STATUS
800 AcpiRemoveGpeHandler (
801     ACPI_HANDLE             GpeDevice,
802     UINT32                  GpeNumber,
803     ACPI_GPE_HANDLER        Address))
804 
805 ACPI_EXTERNAL_RETURN_STATUS (
806 ACPI_STATUS
807 AcpiInstallNotifyHandler (
808     ACPI_HANDLE             Device,
809     UINT32                  HandlerType,
810     ACPI_NOTIFY_HANDLER     Handler,
811     void                    *Context))
812 
813 ACPI_EXTERNAL_RETURN_STATUS (
814 ACPI_STATUS
815 AcpiRemoveNotifyHandler (
816     ACPI_HANDLE             Device,
817     UINT32                  HandlerType,
818     ACPI_NOTIFY_HANDLER     Handler))
819 
820 ACPI_EXTERNAL_RETURN_STATUS (
821 ACPI_STATUS
822 AcpiInstallAddressSpaceHandler (
823     ACPI_HANDLE             Device,
824     ACPI_ADR_SPACE_TYPE     SpaceId,
825     ACPI_ADR_SPACE_HANDLER  Handler,
826     ACPI_ADR_SPACE_SETUP    Setup,
827     void                    *Context))
828 
829 ACPI_EXTERNAL_RETURN_STATUS (
830 ACPI_STATUS
831 AcpiRemoveAddressSpaceHandler (
832     ACPI_HANDLE             Device,
833     ACPI_ADR_SPACE_TYPE     SpaceId,
834     ACPI_ADR_SPACE_HANDLER  Handler))
835 
836 ACPI_EXTERNAL_RETURN_STATUS (
837 ACPI_STATUS
838 AcpiInstallExceptionHandler (
839     ACPI_EXCEPTION_HANDLER  Handler))
840 
841 ACPI_EXTERNAL_RETURN_STATUS (
842 ACPI_STATUS
843 AcpiInstallInterfaceHandler (
844     ACPI_INTERFACE_HANDLER  Handler))
845 
846 
847 /*
848  * Global Lock interfaces
849  */
850 ACPI_HW_DEPENDENT_RETURN_STATUS (
851 ACPI_STATUS
852 AcpiAcquireGlobalLock (
853     UINT16                  Timeout,
854     UINT32                  *Handle))
855 
856 ACPI_HW_DEPENDENT_RETURN_STATUS (
857 ACPI_STATUS
858 AcpiReleaseGlobalLock (
859     UINT32                  Handle))
860 
861 
862 /*
863  * Interfaces to AML mutex objects
864  */
865 ACPI_EXTERNAL_RETURN_STATUS (
866 ACPI_STATUS
867 AcpiAcquireMutex (
868     ACPI_HANDLE             Handle,
869     ACPI_STRING             Pathname,
870     UINT16                  Timeout))
871 
872 ACPI_EXTERNAL_RETURN_STATUS (
873 ACPI_STATUS
874 AcpiReleaseMutex (
875     ACPI_HANDLE             Handle,
876     ACPI_STRING             Pathname))
877 
878 
879 /*
880  * Fixed Event interfaces
881  */
882 ACPI_HW_DEPENDENT_RETURN_STATUS (
883 ACPI_STATUS
884 AcpiEnableEvent (
885     UINT32                  Event,
886     UINT32                  Flags))
887 
888 ACPI_HW_DEPENDENT_RETURN_STATUS (
889 ACPI_STATUS
890 AcpiDisableEvent (
891     UINT32                  Event,
892     UINT32                  Flags))
893 
894 ACPI_HW_DEPENDENT_RETURN_STATUS (
895 ACPI_STATUS
896 AcpiClearEvent (
897     UINT32                  Event))
898 
899 ACPI_HW_DEPENDENT_RETURN_STATUS (
900 ACPI_STATUS
901 AcpiGetEventStatus (
902     UINT32                  Event,
903     ACPI_EVENT_STATUS       *EventStatus))
904 
905 
906 /*
907  * General Purpose Event (GPE) Interfaces
908  */
909 ACPI_HW_DEPENDENT_RETURN_STATUS (
910 ACPI_STATUS
911 AcpiUpdateAllGpes (
912     void))
913 
914 ACPI_HW_DEPENDENT_RETURN_STATUS (
915 ACPI_STATUS
916 AcpiEnableGpe (
917     ACPI_HANDLE             GpeDevice,
918     UINT32                  GpeNumber))
919 
920 ACPI_HW_DEPENDENT_RETURN_STATUS (
921 ACPI_STATUS
922 AcpiDisableGpe (
923     ACPI_HANDLE             GpeDevice,
924     UINT32                  GpeNumber))
925 
926 ACPI_HW_DEPENDENT_RETURN_STATUS (
927 ACPI_STATUS
928 AcpiClearGpe (
929     ACPI_HANDLE             GpeDevice,
930     UINT32                  GpeNumber))
931 
932 ACPI_HW_DEPENDENT_RETURN_STATUS (
933 ACPI_STATUS
934 AcpiSetGpe (
935     ACPI_HANDLE             GpeDevice,
936     UINT32                  GpeNumber,
937     UINT8                   Action))
938 
939 ACPI_HW_DEPENDENT_RETURN_STATUS (
940 ACPI_STATUS
941 AcpiFinishGpe (
942     ACPI_HANDLE             GpeDevice,
943     UINT32                  GpeNumber))
944 
945 ACPI_HW_DEPENDENT_RETURN_STATUS (
946 ACPI_STATUS
947 AcpiMaskGpe (
948     ACPI_HANDLE             GpeDevice,
949     UINT32                  GpeNumber,
950     BOOLEAN                 IsMasked))
951 
952 ACPI_HW_DEPENDENT_RETURN_STATUS (
953 ACPI_STATUS
954 AcpiMarkGpeForWake (
955     ACPI_HANDLE             GpeDevice,
956     UINT32                  GpeNumber))
957 
958 ACPI_HW_DEPENDENT_RETURN_STATUS (
959 ACPI_STATUS
960 AcpiSetupGpeForWake (
961     ACPI_HANDLE             ParentDevice,
962     ACPI_HANDLE             GpeDevice,
963     UINT32                  GpeNumber))
964 
965 ACPI_HW_DEPENDENT_RETURN_STATUS (
966 ACPI_STATUS
967 AcpiSetGpeWakeMask (
968     ACPI_HANDLE             GpeDevice,
969     UINT32                  GpeNumber,
970     UINT8                   Action))
971 
972 ACPI_HW_DEPENDENT_RETURN_STATUS (
973 ACPI_STATUS
974 AcpiGetGpeStatus (
975     ACPI_HANDLE             GpeDevice,
976     UINT32                  GpeNumber,
977     ACPI_EVENT_STATUS       *EventStatus))
978 
979 ACPI_HW_DEPENDENT_RETURN_STATUS (
980 ACPI_STATUS
981 AcpiDisableAllGpes (
982     void))
983 
984 ACPI_HW_DEPENDENT_RETURN_STATUS (
985 ACPI_STATUS
986 AcpiEnableAllRuntimeGpes (
987     void))
988 
989 ACPI_HW_DEPENDENT_RETURN_STATUS (
990 ACPI_STATUS
991 AcpiEnableAllWakeupGpes (
992     void))
993 
994 ACPI_HW_DEPENDENT_RETURN_STATUS (
995 ACPI_STATUS
996 AcpiGetGpeDevice (
997     UINT32                  GpeIndex,
998     ACPI_HANDLE             *GpeDevice))
999 
1000 ACPI_HW_DEPENDENT_RETURN_STATUS (
1001 ACPI_STATUS
1002 AcpiInstallGpeBlock (
1003     ACPI_HANDLE             GpeDevice,
1004     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
1005     UINT32                  RegisterCount,
1006     UINT32                  InterruptNumber))
1007 
1008 ACPI_HW_DEPENDENT_RETURN_STATUS (
1009 ACPI_STATUS
1010 AcpiRemoveGpeBlock (
1011     ACPI_HANDLE             GpeDevice))
1012 
1013 
1014 /*
1015  * Resource interfaces
1016  */
1017 typedef
1018 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
1019     ACPI_RESOURCE           *Resource,
1020     void                    *Context);
1021 
1022 ACPI_EXTERNAL_RETURN_STATUS (
1023 ACPI_STATUS
1024 AcpiGetVendorResource (
1025     ACPI_HANDLE             Device,
1026     char                    *Name,
1027     ACPI_VENDOR_UUID        *Uuid,
1028     ACPI_BUFFER             *RetBuffer))
1029 
1030 ACPI_EXTERNAL_RETURN_STATUS (
1031 ACPI_STATUS
1032 AcpiGetCurrentResources (
1033     ACPI_HANDLE             Device,
1034     ACPI_BUFFER             *RetBuffer))
1035 
1036 ACPI_EXTERNAL_RETURN_STATUS (
1037 ACPI_STATUS
1038 AcpiGetPossibleResources (
1039     ACPI_HANDLE             Device,
1040     ACPI_BUFFER             *RetBuffer))
1041 
1042 ACPI_EXTERNAL_RETURN_STATUS (
1043 ACPI_STATUS
1044 AcpiGetEventResources (
1045     ACPI_HANDLE             DeviceHandle,
1046     ACPI_BUFFER             *RetBuffer))
1047 
1048 ACPI_EXTERNAL_RETURN_STATUS (
1049 ACPI_STATUS
1050 AcpiWalkResourceBuffer (
1051     ACPI_BUFFER                 *Buffer,
1052     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1053     void                        *Context))
1054 
1055 ACPI_EXTERNAL_RETURN_STATUS (
1056 ACPI_STATUS
1057 AcpiWalkResources (
1058     ACPI_HANDLE                 Device,
1059     char                        *Name,
1060     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1061     void                        *Context))
1062 
1063 ACPI_EXTERNAL_RETURN_STATUS (
1064 ACPI_STATUS
1065 AcpiSetCurrentResources (
1066     ACPI_HANDLE             Device,
1067     ACPI_BUFFER             *InBuffer))
1068 
1069 ACPI_EXTERNAL_RETURN_STATUS (
1070 ACPI_STATUS
1071 AcpiGetIrqRoutingTable (
1072     ACPI_HANDLE             Device,
1073     ACPI_BUFFER             *RetBuffer))
1074 
1075 ACPI_EXTERNAL_RETURN_STATUS (
1076 ACPI_STATUS
1077 AcpiResourceToAddress64 (
1078     ACPI_RESOURCE           *Resource,
1079     ACPI_RESOURCE_ADDRESS64 *Out))
1080 
1081 ACPI_EXTERNAL_RETURN_STATUS (
1082 ACPI_STATUS
1083 AcpiBufferToResource (
1084     UINT8                   *AmlBuffer,
1085     UINT16                  AmlBufferLength,
1086     ACPI_RESOURCE           **ResourcePtr))
1087 
1088 
1089 /*
1090  * Hardware (ACPI device) interfaces
1091  */
1092 ACPI_EXTERNAL_RETURN_STATUS (
1093 ACPI_STATUS
1094 AcpiReset (
1095     void))
1096 
1097 ACPI_EXTERNAL_RETURN_STATUS (
1098 ACPI_STATUS
1099 AcpiRead (
1100     UINT64                  *Value,
1101     ACPI_GENERIC_ADDRESS    *Reg))
1102 
1103 ACPI_EXTERNAL_RETURN_STATUS (
1104 ACPI_STATUS
1105 AcpiWrite (
1106     UINT64                  Value,
1107     ACPI_GENERIC_ADDRESS    *Reg))
1108 
1109 ACPI_HW_DEPENDENT_RETURN_STATUS (
1110 ACPI_STATUS
1111 AcpiReadBitRegister (
1112     UINT32                  RegisterId,
1113     UINT32                  *ReturnValue))
1114 
1115 ACPI_HW_DEPENDENT_RETURN_STATUS (
1116 ACPI_STATUS
1117 AcpiWriteBitRegister (
1118     UINT32                  RegisterId,
1119     UINT32                  Value))
1120 
1121 
1122 /*
1123  * Sleep/Wake interfaces
1124  */
1125 ACPI_EXTERNAL_RETURN_STATUS (
1126 ACPI_STATUS
1127 AcpiGetSleepTypeData (
1128     UINT8                   SleepState,
1129     UINT8                   *Slp_TypA,
1130     UINT8                   *Slp_TypB))
1131 
1132 ACPI_EXTERNAL_RETURN_STATUS (
1133 ACPI_STATUS
1134 AcpiEnterSleepStatePrep (
1135     UINT8                   SleepState))
1136 
1137 ACPI_EXTERNAL_RETURN_STATUS (
1138 ACPI_STATUS
1139 AcpiEnterSleepState (
1140     UINT8                   SleepState))
1141 
1142 ACPI_HW_DEPENDENT_RETURN_STATUS (
1143 ACPI_STATUS
1144 AcpiEnterSleepStateS4bios (
1145     void))
1146 
1147 ACPI_EXTERNAL_RETURN_STATUS (
1148 ACPI_STATUS
1149 AcpiLeaveSleepStatePrep (
1150     UINT8                   SleepState))
1151 
1152 ACPI_EXTERNAL_RETURN_STATUS (
1153 ACPI_STATUS
1154 AcpiLeaveSleepState (
1155     UINT8                   SleepState))
1156 
1157 ACPI_HW_DEPENDENT_RETURN_STATUS (
1158 ACPI_STATUS
1159 AcpiSetFirmwareWakingVector (
1160     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
1161     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
1162 
1163 
1164 /*
1165  * ACPI Timer interfaces
1166  */
1167 ACPI_HW_DEPENDENT_RETURN_STATUS (
1168 ACPI_STATUS
1169 AcpiGetTimerResolution (
1170     UINT32                  *Resolution))
1171 
1172 ACPI_HW_DEPENDENT_RETURN_STATUS (
1173 ACPI_STATUS
1174 AcpiGetTimer (
1175     UINT32                  *Ticks))
1176 
1177 ACPI_HW_DEPENDENT_RETURN_STATUS (
1178 ACPI_STATUS
1179 AcpiGetTimerDuration (
1180     UINT32                  StartTicks,
1181     UINT32                  EndTicks,
1182     UINT32                  *TimeElapsed))
1183 
1184 
1185 /*
1186  * Error/Warning output
1187  */
1188 ACPI_MSG_DEPENDENT_RETURN_VOID (
1189 ACPI_PRINTF_LIKE(3)
1190 void ACPI_INTERNAL_VAR_XFACE
1191 AcpiError (
1192     const char              *ModuleName,
1193     UINT32                  LineNumber,
1194     const char              *Format,
1195     ...))
1196 
1197 ACPI_MSG_DEPENDENT_RETURN_VOID (
1198 ACPI_PRINTF_LIKE(4)
1199 void  ACPI_INTERNAL_VAR_XFACE
1200 AcpiException (
1201     const char              *ModuleName,
1202     UINT32                  LineNumber,
1203     ACPI_STATUS             Status,
1204     const char              *Format,
1205     ...))
1206 
1207 ACPI_MSG_DEPENDENT_RETURN_VOID (
1208 ACPI_PRINTF_LIKE(3)
1209 void ACPI_INTERNAL_VAR_XFACE
1210 AcpiWarning (
1211     const char              *ModuleName,
1212     UINT32                  LineNumber,
1213     const char              *Format,
1214     ...))
1215 
1216 ACPI_MSG_DEPENDENT_RETURN_VOID (
1217 ACPI_PRINTF_LIKE(1)
1218 void ACPI_INTERNAL_VAR_XFACE
1219 AcpiInfo (
1220     const char              *Format,
1221     ...))
1222 
1223 ACPI_MSG_DEPENDENT_RETURN_VOID (
1224 ACPI_PRINTF_LIKE(3)
1225 void ACPI_INTERNAL_VAR_XFACE
1226 AcpiBiosError (
1227     const char              *ModuleName,
1228     UINT32                  LineNumber,
1229     const char              *Format,
1230     ...))
1231 
1232 ACPI_MSG_DEPENDENT_RETURN_VOID (
1233 ACPI_PRINTF_LIKE(4)
1234 void  ACPI_INTERNAL_VAR_XFACE
1235 AcpiBiosException (
1236     const char              *ModuleName,
1237     UINT32                  LineNumber,
1238     ACPI_STATUS             Status,
1239     const char              *Format,
1240     ...))
1241 
1242 ACPI_MSG_DEPENDENT_RETURN_VOID (
1243 ACPI_PRINTF_LIKE(3)
1244 void ACPI_INTERNAL_VAR_XFACE
1245 AcpiBiosWarning (
1246     const char              *ModuleName,
1247     UINT32                  LineNumber,
1248     const char              *Format,
1249     ...))
1250 
1251 
1252 /*
1253  * Debug output
1254  */
1255 ACPI_DBG_DEPENDENT_RETURN_VOID (
1256 ACPI_PRINTF_LIKE(6)
1257 void ACPI_INTERNAL_VAR_XFACE
1258 AcpiDebugPrint (
1259     UINT32                  RequestedDebugLevel,
1260     UINT32                  LineNumber,
1261     const char              *FunctionName,
1262     const char              *ModuleName,
1263     UINT32                  ComponentId,
1264     const char              *Format,
1265     ...))
1266 
1267 ACPI_DBG_DEPENDENT_RETURN_VOID (
1268 ACPI_PRINTF_LIKE(6)
1269 void ACPI_INTERNAL_VAR_XFACE
1270 AcpiDebugPrintRaw (
1271     UINT32                  RequestedDebugLevel,
1272     UINT32                  LineNumber,
1273     const char              *FunctionName,
1274     const char              *ModuleName,
1275     UINT32                  ComponentId,
1276     const char              *Format,
1277     ...))
1278 
1279 ACPI_DBG_DEPENDENT_RETURN_VOID (
1280 void
1281 AcpiTracePoint (
1282     ACPI_TRACE_EVENT_TYPE   Type,
1283     BOOLEAN                 Begin,
1284     UINT8                   *Aml,
1285     char                    *Pathname))
1286 
1287 ACPI_STATUS
1288 AcpiInitializeDebugger (
1289     void);
1290 
1291 void
1292 AcpiTerminateDebugger (
1293     void);
1294 
1295 void
1296 AcpiRunDebugger (
1297     char                    *BatchBuffer);
1298 
1299 void
1300 AcpiSetDebuggerThreadId (
1301     ACPI_THREAD_ID          ThreadId);
1302 
1303 #endif /* __ACXFACE_H__ */
1304