acpixf.h revision 238381
1
2/******************************************************************************
3 *
4 * Name: acpixf.h - External interfaces to the ACPI subsystem
5 *
6 *****************************************************************************/
7
8/*
9 * Copyright (C) 2000 - 2012, Intel Corp.
10 * All rights reserved.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 *    notice, this list of conditions, and the following disclaimer,
17 *    without modification.
18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 *    substantially similar to the "NO WARRANTY" disclaimer below
20 *    ("Disclaimer") and any redistribution must be conditioned upon
21 *    including a substantially similar Disclaimer requirement for further
22 *    binary redistribution.
23 * 3. Neither the names of the above-listed copyright holders nor the names
24 *    of any contributors may be used to endorse or promote products derived
25 *    from this software without specific prior written permission.
26 *
27 * Alternatively, this software may be distributed under the terms of the
28 * GNU General Public License ("GPL") version 2 as published by the Free
29 * Software Foundation.
30 *
31 * NO WARRANTY
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
43 */
44
45
46#ifndef __ACXFACE_H__
47#define __ACXFACE_H__
48
49/* Current ACPICA subsystem version in YYYYMMDD format */
50
51#define ACPI_CA_VERSION                 0x20120711
52
53#include <contrib/dev/acpica/include/acconfig.h>
54#include <contrib/dev/acpica/include/actypes.h>
55#include <contrib/dev/acpica/include/actbl.h>
56
57/*
58 * Globals that are publically available
59 */
60extern UINT32               AcpiCurrentGpeCount;
61extern ACPI_TABLE_FADT      AcpiGbl_FADT;
62extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
63extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
64
65/* Runtime configuration of debug print levels */
66
67extern UINT32               AcpiDbgLevel;
68extern UINT32               AcpiDbgLayer;
69
70/* ACPICA runtime options */
71
72extern UINT8                AcpiGbl_EnableInterpreterSlack;
73extern UINT8                AcpiGbl_AllMethodsSerialized;
74extern UINT8                AcpiGbl_CreateOsiMethod;
75extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
76extern ACPI_NAME            AcpiGbl_TraceMethodName;
77extern UINT32               AcpiGbl_TraceFlags;
78extern UINT8                AcpiGbl_EnableAmlDebugObject;
79extern UINT8                AcpiGbl_CopyDsdtLocally;
80extern UINT8                AcpiGbl_TruncateIoAddresses;
81extern UINT8                AcpiGbl_DisableAutoRepair;
82
83
84/*
85 * Hardware-reduced prototypes. All interfaces that use these macros will
86 * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
87 * is set to TRUE.
88 */
89#if (!ACPI_REDUCED_HARDWARE)
90#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
91    Prototype;
92
93#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
94    Prototype;
95
96#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
97    Prototype;
98
99#else
100#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
101    static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
102
103#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
104    static ACPI_INLINE Prototype {return(AE_OK);}
105
106#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
107    static ACPI_INLINE Prototype {}
108
109#endif /* !ACPI_REDUCED_HARDWARE */
110
111
112/*
113 * Initialization
114 */
115ACPI_STATUS
116AcpiInitializeTables (
117    ACPI_TABLE_DESC         *InitialStorage,
118    UINT32                  InitialTableCount,
119    BOOLEAN                 AllowResize);
120
121ACPI_STATUS
122AcpiInitializeSubsystem (
123    void);
124
125ACPI_STATUS
126AcpiEnableSubsystem (
127    UINT32                  Flags);
128
129ACPI_STATUS
130AcpiInitializeObjects (
131    UINT32                  Flags);
132
133ACPI_STATUS
134AcpiTerminate (
135    void);
136
137
138/*
139 * Miscellaneous global interfaces
140 */
141ACPI_HW_DEPENDENT_RETURN_STATUS (
142ACPI_STATUS
143AcpiEnable (
144    void))
145
146ACPI_HW_DEPENDENT_RETURN_STATUS (
147ACPI_STATUS
148AcpiDisable (
149    void))
150
151ACPI_STATUS
152AcpiSubsystemStatus (
153    void);
154
155ACPI_STATUS
156AcpiGetSystemInfo (
157    ACPI_BUFFER             *RetBuffer);
158
159ACPI_STATUS
160AcpiGetStatistics (
161    ACPI_STATISTICS         *Stats);
162
163const char *
164AcpiFormatException (
165    ACPI_STATUS             Exception);
166
167ACPI_STATUS
168AcpiPurgeCachedObjects (
169    void);
170
171ACPI_STATUS
172AcpiInstallInterface (
173    ACPI_STRING             InterfaceName);
174
175ACPI_STATUS
176AcpiRemoveInterface (
177    ACPI_STRING             InterfaceName);
178
179UINT32
180AcpiCheckAddressRange (
181    ACPI_ADR_SPACE_TYPE     SpaceId,
182    ACPI_PHYSICAL_ADDRESS   Address,
183    ACPI_SIZE               Length,
184    BOOLEAN                 Warn);
185
186
187/*
188 * ACPI Memory management
189 */
190void *
191AcpiAllocate (
192    UINT32                  Size);
193
194void *
195AcpiCallocate (
196    UINT32                  Size);
197
198void
199AcpiFree (
200    void                    *Address);
201
202
203/*
204 * ACPI table load/unload interfaces
205 */
206ACPI_STATUS
207AcpiLoadTable (
208    ACPI_TABLE_HEADER       *Table);
209
210ACPI_STATUS
211AcpiUnloadParentTable (
212    ACPI_HANDLE             Object);
213
214ACPI_STATUS
215AcpiLoadTables (
216    void);
217
218
219/*
220 * ACPI table manipulation interfaces
221 */
222ACPI_STATUS
223AcpiReallocateRootTable (
224    void);
225
226ACPI_STATUS
227AcpiFindRootPointer (
228    ACPI_SIZE               *RsdpAddress);
229
230ACPI_STATUS
231AcpiGetTableHeader (
232    ACPI_STRING             Signature,
233    UINT32                  Instance,
234    ACPI_TABLE_HEADER       *OutTableHeader);
235
236ACPI_STATUS
237AcpiGetTable (
238    ACPI_STRING             Signature,
239    UINT32                  Instance,
240    ACPI_TABLE_HEADER       **OutTable);
241
242ACPI_STATUS
243AcpiGetTableByIndex (
244    UINT32                  TableIndex,
245    ACPI_TABLE_HEADER       **OutTable);
246
247ACPI_STATUS
248AcpiInstallTableHandler (
249    ACPI_TABLE_HANDLER      Handler,
250    void                    *Context);
251
252ACPI_STATUS
253AcpiRemoveTableHandler (
254    ACPI_TABLE_HANDLER      Handler);
255
256
257/*
258 * Namespace and name interfaces
259 */
260ACPI_STATUS
261AcpiWalkNamespace (
262    ACPI_OBJECT_TYPE        Type,
263    ACPI_HANDLE             StartObject,
264    UINT32                  MaxDepth,
265    ACPI_WALK_CALLBACK      PreOrderVisit,
266    ACPI_WALK_CALLBACK      PostOrderVisit,
267    void                    *Context,
268    void                    **ReturnValue);
269
270ACPI_STATUS
271AcpiGetDevices (
272    char                    *HID,
273    ACPI_WALK_CALLBACK      UserFunction,
274    void                    *Context,
275    void                    **ReturnValue);
276
277ACPI_STATUS
278AcpiGetName (
279    ACPI_HANDLE             Object,
280    UINT32                  NameType,
281    ACPI_BUFFER             *RetPathPtr);
282
283ACPI_STATUS
284AcpiGetHandle (
285    ACPI_HANDLE             Parent,
286    ACPI_STRING             Pathname,
287    ACPI_HANDLE             *RetHandle);
288
289ACPI_STATUS
290AcpiAttachData (
291    ACPI_HANDLE             Object,
292    ACPI_OBJECT_HANDLER     Handler,
293    void                    *Data);
294
295ACPI_STATUS
296AcpiDetachData (
297    ACPI_HANDLE             Object,
298    ACPI_OBJECT_HANDLER     Handler);
299
300ACPI_STATUS
301AcpiGetData (
302    ACPI_HANDLE             Object,
303    ACPI_OBJECT_HANDLER     Handler,
304    void                    **Data);
305
306ACPI_STATUS
307AcpiDebugTrace (
308    char                    *Name,
309    UINT32                  DebugLevel,
310    UINT32                  DebugLayer,
311    UINT32                  Flags);
312
313
314/*
315 * Object manipulation and enumeration
316 */
317ACPI_STATUS
318AcpiEvaluateObject (
319    ACPI_HANDLE             Object,
320    ACPI_STRING             Pathname,
321    ACPI_OBJECT_LIST        *ParameterObjects,
322    ACPI_BUFFER             *ReturnObjectBuffer);
323
324ACPI_STATUS
325AcpiEvaluateObjectTyped (
326    ACPI_HANDLE             Object,
327    ACPI_STRING             Pathname,
328    ACPI_OBJECT_LIST        *ExternalParams,
329    ACPI_BUFFER             *ReturnBuffer,
330    ACPI_OBJECT_TYPE        ReturnType);
331
332ACPI_STATUS
333AcpiGetObjectInfo (
334    ACPI_HANDLE             Object,
335    ACPI_DEVICE_INFO        **ReturnBuffer);
336
337ACPI_STATUS
338AcpiInstallMethod (
339    UINT8                   *Buffer);
340
341ACPI_STATUS
342AcpiGetNextObject (
343    ACPI_OBJECT_TYPE        Type,
344    ACPI_HANDLE             Parent,
345    ACPI_HANDLE             Child,
346    ACPI_HANDLE             *OutHandle);
347
348ACPI_STATUS
349AcpiGetType (
350    ACPI_HANDLE             Object,
351    ACPI_OBJECT_TYPE        *OutType);
352
353ACPI_STATUS
354AcpiGetParent (
355    ACPI_HANDLE             Object,
356    ACPI_HANDLE             *OutHandle);
357
358
359/*
360 * Handler interfaces
361 */
362ACPI_STATUS
363AcpiInstallInitializationHandler (
364    ACPI_INIT_HANDLER       Handler,
365    UINT32                  Function);
366
367ACPI_HW_DEPENDENT_RETURN_STATUS (
368ACPI_STATUS
369AcpiInstallGlobalEventHandler (
370    ACPI_GBL_EVENT_HANDLER  Handler,
371    void                    *Context))
372
373ACPI_HW_DEPENDENT_RETURN_STATUS (
374ACPI_STATUS
375AcpiInstallFixedEventHandler (
376    UINT32                  AcpiEvent,
377    ACPI_EVENT_HANDLER      Handler,
378    void                    *Context))
379
380ACPI_HW_DEPENDENT_RETURN_STATUS (
381ACPI_STATUS
382AcpiRemoveFixedEventHandler (
383    UINT32                  AcpiEvent,
384    ACPI_EVENT_HANDLER      Handler))
385
386ACPI_HW_DEPENDENT_RETURN_STATUS (
387ACPI_STATUS
388AcpiInstallGpeHandler (
389    ACPI_HANDLE             GpeDevice,
390    UINT32                  GpeNumber,
391    UINT32                  Type,
392    ACPI_GPE_HANDLER        Address,
393    void                    *Context))
394
395ACPI_HW_DEPENDENT_RETURN_STATUS (
396ACPI_STATUS
397AcpiRemoveGpeHandler (
398    ACPI_HANDLE             GpeDevice,
399    UINT32                  GpeNumber,
400    ACPI_GPE_HANDLER        Address))
401
402ACPI_STATUS
403AcpiInstallNotifyHandler (
404    ACPI_HANDLE             Device,
405    UINT32                  HandlerType,
406    ACPI_NOTIFY_HANDLER     Handler,
407    void                    *Context);
408
409ACPI_STATUS
410AcpiRemoveNotifyHandler (
411    ACPI_HANDLE             Device,
412    UINT32                  HandlerType,
413    ACPI_NOTIFY_HANDLER     Handler);
414
415ACPI_STATUS
416AcpiInstallAddressSpaceHandler (
417    ACPI_HANDLE             Device,
418    ACPI_ADR_SPACE_TYPE     SpaceId,
419    ACPI_ADR_SPACE_HANDLER  Handler,
420    ACPI_ADR_SPACE_SETUP    Setup,
421    void                    *Context);
422
423ACPI_STATUS
424AcpiRemoveAddressSpaceHandler (
425    ACPI_HANDLE             Device,
426    ACPI_ADR_SPACE_TYPE     SpaceId,
427    ACPI_ADR_SPACE_HANDLER  Handler);
428
429ACPI_STATUS
430AcpiInstallExceptionHandler (
431    ACPI_EXCEPTION_HANDLER  Handler);
432
433ACPI_STATUS
434AcpiInstallInterfaceHandler (
435    ACPI_INTERFACE_HANDLER  Handler);
436
437
438/*
439 * Global Lock interfaces
440 */
441ACPI_HW_DEPENDENT_RETURN_STATUS (
442ACPI_STATUS
443AcpiAcquireGlobalLock (
444    UINT16                  Timeout,
445    UINT32                  *Handle))
446
447ACPI_HW_DEPENDENT_RETURN_STATUS (
448ACPI_STATUS
449AcpiReleaseGlobalLock (
450    UINT32                  Handle))
451
452
453/*
454 * Interfaces to AML mutex objects
455 */
456ACPI_STATUS
457AcpiAcquireMutex (
458    ACPI_HANDLE             Handle,
459    ACPI_STRING             Pathname,
460    UINT16                  Timeout);
461
462ACPI_STATUS
463AcpiReleaseMutex (
464    ACPI_HANDLE             Handle,
465    ACPI_STRING             Pathname);
466
467
468/*
469 * Fixed Event interfaces
470 */
471ACPI_HW_DEPENDENT_RETURN_STATUS (
472ACPI_STATUS
473AcpiEnableEvent (
474    UINT32                  Event,
475    UINT32                  Flags))
476
477ACPI_HW_DEPENDENT_RETURN_STATUS (
478ACPI_STATUS
479AcpiDisableEvent (
480    UINT32                  Event,
481    UINT32                  Flags))
482
483ACPI_HW_DEPENDENT_RETURN_STATUS (
484ACPI_STATUS
485AcpiClearEvent (
486    UINT32                  Event))
487
488ACPI_HW_DEPENDENT_RETURN_STATUS (
489ACPI_STATUS
490AcpiGetEventStatus (
491    UINT32                  Event,
492    ACPI_EVENT_STATUS       *EventStatus))
493
494
495/*
496 * General Purpose Event (GPE) Interfaces
497 */
498ACPI_HW_DEPENDENT_RETURN_STATUS (
499ACPI_STATUS
500AcpiUpdateAllGpes (
501    void))
502
503ACPI_HW_DEPENDENT_RETURN_STATUS (
504ACPI_STATUS
505AcpiEnableGpe (
506    ACPI_HANDLE             GpeDevice,
507    UINT32                  GpeNumber))
508
509ACPI_HW_DEPENDENT_RETURN_STATUS (
510ACPI_STATUS
511AcpiDisableGpe (
512    ACPI_HANDLE             GpeDevice,
513    UINT32                  GpeNumber))
514
515ACPI_HW_DEPENDENT_RETURN_STATUS (
516ACPI_STATUS
517AcpiClearGpe (
518    ACPI_HANDLE             GpeDevice,
519    UINT32                  GpeNumber))
520
521ACPI_HW_DEPENDENT_RETURN_STATUS (
522ACPI_STATUS
523AcpiSetGpe (
524    ACPI_HANDLE             GpeDevice,
525    UINT32                  GpeNumber,
526    UINT8                   Action))
527
528ACPI_HW_DEPENDENT_RETURN_STATUS (
529ACPI_STATUS
530AcpiFinishGpe (
531    ACPI_HANDLE             GpeDevice,
532    UINT32                  GpeNumber))
533
534ACPI_HW_DEPENDENT_RETURN_STATUS (
535ACPI_STATUS
536AcpiSetupGpeForWake (
537    ACPI_HANDLE             ParentDevice,
538    ACPI_HANDLE             GpeDevice,
539    UINT32                  GpeNumber))
540
541ACPI_HW_DEPENDENT_RETURN_STATUS (
542ACPI_STATUS
543AcpiSetGpeWakeMask (
544    ACPI_HANDLE             GpeDevice,
545    UINT32                  GpeNumber,
546    UINT8                   Action))
547
548ACPI_HW_DEPENDENT_RETURN_STATUS (
549ACPI_STATUS
550AcpiGetGpeStatus (
551    ACPI_HANDLE             GpeDevice,
552    UINT32                  GpeNumber,
553    ACPI_EVENT_STATUS       *EventStatus))
554
555ACPI_HW_DEPENDENT_RETURN_STATUS (
556ACPI_STATUS
557AcpiDisableAllGpes (
558    void))
559
560ACPI_HW_DEPENDENT_RETURN_STATUS (
561ACPI_STATUS
562AcpiEnableAllRuntimeGpes (
563    void))
564
565ACPI_HW_DEPENDENT_RETURN_STATUS (
566ACPI_STATUS
567AcpiGetGpeDevice (
568    UINT32                  GpeIndex,
569    ACPI_HANDLE             *GpeDevice))
570
571ACPI_HW_DEPENDENT_RETURN_STATUS (
572ACPI_STATUS
573AcpiInstallGpeBlock (
574    ACPI_HANDLE             GpeDevice,
575    ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
576    UINT32                  RegisterCount,
577    UINT32                  InterruptNumber))
578
579ACPI_HW_DEPENDENT_RETURN_STATUS (
580ACPI_STATUS
581AcpiRemoveGpeBlock (
582    ACPI_HANDLE             GpeDevice))
583
584
585/*
586 * Resource interfaces
587 */
588typedef
589ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
590    ACPI_RESOURCE           *Resource,
591    void                    *Context);
592
593ACPI_STATUS
594AcpiGetVendorResource (
595    ACPI_HANDLE             Device,
596    char                    *Name,
597    ACPI_VENDOR_UUID        *Uuid,
598    ACPI_BUFFER             *RetBuffer);
599
600ACPI_STATUS
601AcpiGetCurrentResources (
602    ACPI_HANDLE             Device,
603    ACPI_BUFFER             *RetBuffer);
604
605ACPI_STATUS
606AcpiGetPossibleResources (
607    ACPI_HANDLE             Device,
608    ACPI_BUFFER             *RetBuffer);
609
610ACPI_STATUS
611AcpiGetEventResources (
612    ACPI_HANDLE             DeviceHandle,
613    ACPI_BUFFER             *RetBuffer);
614
615ACPI_STATUS
616AcpiWalkResources (
617    ACPI_HANDLE                 Device,
618    char                        *Name,
619    ACPI_WALK_RESOURCE_CALLBACK UserFunction,
620    void                        *Context);
621
622ACPI_STATUS
623AcpiSetCurrentResources (
624    ACPI_HANDLE             Device,
625    ACPI_BUFFER             *InBuffer);
626
627ACPI_STATUS
628AcpiGetIrqRoutingTable (
629    ACPI_HANDLE             Device,
630    ACPI_BUFFER             *RetBuffer);
631
632ACPI_STATUS
633AcpiResourceToAddress64 (
634    ACPI_RESOURCE           *Resource,
635    ACPI_RESOURCE_ADDRESS64 *Out);
636
637ACPI_STATUS
638AcpiBufferToResource (
639    UINT8                   *AmlBuffer,
640    UINT16                  AmlBufferLength,
641    ACPI_RESOURCE           **ResourcePtr);
642
643
644/*
645 * Hardware (ACPI device) interfaces
646 */
647ACPI_STATUS
648AcpiReset (
649    void);
650
651ACPI_STATUS
652AcpiRead (
653    UINT64                  *Value,
654    ACPI_GENERIC_ADDRESS    *Reg);
655
656ACPI_STATUS
657AcpiWrite (
658    UINT64                  Value,
659    ACPI_GENERIC_ADDRESS    *Reg);
660
661ACPI_HW_DEPENDENT_RETURN_STATUS (
662ACPI_STATUS
663AcpiReadBitRegister (
664    UINT32                  RegisterId,
665    UINT32                  *ReturnValue))
666
667ACPI_HW_DEPENDENT_RETURN_STATUS (
668ACPI_STATUS
669AcpiWriteBitRegister (
670    UINT32                  RegisterId,
671    UINT32                  Value))
672
673
674/*
675 * Sleep/Wake interfaces
676 */
677ACPI_STATUS
678AcpiGetSleepTypeData (
679    UINT8                   SleepState,
680    UINT8                   *Slp_TypA,
681    UINT8                   *Slp_TypB);
682
683ACPI_STATUS
684AcpiEnterSleepStatePrep (
685    UINT8                   SleepState);
686
687ACPI_STATUS
688AcpiEnterSleepState (
689    UINT8                   SleepState,
690    UINT8                   Flags);
691
692ACPI_HW_DEPENDENT_RETURN_STATUS (
693ACPI_STATUS
694AcpiEnterSleepStateS4bios (
695    void))
696
697ACPI_STATUS
698AcpiLeaveSleepStatePrep (
699    UINT8                   SleepState,
700    UINT8                   Flags);
701
702ACPI_STATUS
703AcpiLeaveSleepState (
704    UINT8                   SleepState);
705
706ACPI_HW_DEPENDENT_RETURN_STATUS (
707ACPI_STATUS
708AcpiSetFirmwareWakingVector (
709    UINT32                  PhysicalAddress))
710
711#if ACPI_MACHINE_WIDTH == 64
712ACPI_HW_DEPENDENT_RETURN_STATUS (
713ACPI_STATUS
714AcpiSetFirmwareWakingVector64 (
715    UINT64                  PhysicalAddress))
716#endif
717
718
719/*
720 * ACPI Timer interfaces
721 */
722ACPI_HW_DEPENDENT_RETURN_STATUS (
723ACPI_STATUS
724AcpiGetTimerResolution (
725    UINT32                  *Resolution))
726
727ACPI_HW_DEPENDENT_RETURN_STATUS (
728ACPI_STATUS
729AcpiGetTimer (
730    UINT32                  *Ticks))
731
732ACPI_HW_DEPENDENT_RETURN_STATUS (
733ACPI_STATUS
734AcpiGetTimerDuration (
735    UINT32                  StartTicks,
736    UINT32                  EndTicks,
737    UINT32                  *TimeElapsed))
738
739
740/*
741 * Error/Warning output
742 */
743void ACPI_INTERNAL_VAR_XFACE
744AcpiError (
745    const char              *ModuleName,
746    UINT32                  LineNumber,
747    const char              *Format,
748    ...) ACPI_PRINTF_LIKE(3);
749
750void  ACPI_INTERNAL_VAR_XFACE
751AcpiException (
752    const char              *ModuleName,
753    UINT32                  LineNumber,
754    ACPI_STATUS             Status,
755    const char              *Format,
756    ...) ACPI_PRINTF_LIKE(4);
757
758void ACPI_INTERNAL_VAR_XFACE
759AcpiWarning (
760    const char              *ModuleName,
761    UINT32                  LineNumber,
762    const char              *Format,
763    ...) ACPI_PRINTF_LIKE(3);
764
765void ACPI_INTERNAL_VAR_XFACE
766AcpiInfo (
767    const char              *ModuleName,
768    UINT32                  LineNumber,
769    const char              *Format,
770    ...) ACPI_PRINTF_LIKE(3);
771
772void ACPI_INTERNAL_VAR_XFACE
773AcpiBiosError (
774    const char              *ModuleName,
775    UINT32                  LineNumber,
776    const char              *Format,
777    ...) ACPI_PRINTF_LIKE(3);
778
779void ACPI_INTERNAL_VAR_XFACE
780AcpiBiosWarning (
781    const char              *ModuleName,
782    UINT32                  LineNumber,
783    const char              *Format,
784    ...) ACPI_PRINTF_LIKE(3);
785
786
787/*
788 * Debug output
789 */
790#ifdef ACPI_DEBUG_OUTPUT
791
792void ACPI_INTERNAL_VAR_XFACE
793AcpiDebugPrint (
794    UINT32                  RequestedDebugLevel,
795    UINT32                  LineNumber,
796    const char              *FunctionName,
797    const char              *ModuleName,
798    UINT32                  ComponentId,
799    const char              *Format,
800    ...) ACPI_PRINTF_LIKE(6);
801
802void ACPI_INTERNAL_VAR_XFACE
803AcpiDebugPrintRaw (
804    UINT32                  RequestedDebugLevel,
805    UINT32                  LineNumber,
806    const char              *FunctionName,
807    const char              *ModuleName,
808    UINT32                  ComponentId,
809    const char              *Format,
810    ...) ACPI_PRINTF_LIKE(6);
811#endif
812
813#endif /* __ACXFACE_H__ */
814