acpixf.h revision 249112
1/******************************************************************************
2 *
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2013, 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
45#ifndef __ACXFACE_H__
46#define __ACXFACE_H__
47
48/* Current ACPICA subsystem version in YYYYMMDD format */
49
50#define ACPI_CA_VERSION                 0x20130328
51
52#include <contrib/dev/acpica/include/acconfig.h>
53#include <contrib/dev/acpica/include/actypes.h>
54#include <contrib/dev/acpica/include/actbl.h>
55#include <contrib/dev/acpica/include/acbuffer.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
186ACPI_STATUS
187AcpiDecodePldBuffer (
188    UINT8                   *InBuffer,
189    ACPI_SIZE               Length,
190    ACPI_PLD_INFO           **ReturnBuffer);
191
192/*
193 * ACPI Memory management
194 */
195void *
196AcpiAllocate (
197    UINT32                  Size);
198
199void *
200AcpiCallocate (
201    UINT32                  Size);
202
203void
204AcpiFree (
205    void                    *Address);
206
207
208/*
209 * ACPI table load/unload interfaces
210 */
211ACPI_STATUS
212AcpiLoadTable (
213    ACPI_TABLE_HEADER       *Table);
214
215ACPI_STATUS
216AcpiUnloadParentTable (
217    ACPI_HANDLE             Object);
218
219ACPI_STATUS
220AcpiLoadTables (
221    void);
222
223
224/*
225 * ACPI table manipulation interfaces
226 */
227ACPI_STATUS
228AcpiReallocateRootTable (
229    void);
230
231ACPI_STATUS
232AcpiFindRootPointer (
233    ACPI_SIZE               *RsdpAddress);
234
235ACPI_STATUS
236AcpiGetTableHeader (
237    ACPI_STRING             Signature,
238    UINT32                  Instance,
239    ACPI_TABLE_HEADER       *OutTableHeader);
240
241ACPI_STATUS
242AcpiGetTable (
243    ACPI_STRING             Signature,
244    UINT32                  Instance,
245    ACPI_TABLE_HEADER       **OutTable);
246
247ACPI_STATUS
248AcpiGetTableByIndex (
249    UINT32                  TableIndex,
250    ACPI_TABLE_HEADER       **OutTable);
251
252ACPI_STATUS
253AcpiInstallTableHandler (
254    ACPI_TABLE_HANDLER      Handler,
255    void                    *Context);
256
257ACPI_STATUS
258AcpiRemoveTableHandler (
259    ACPI_TABLE_HANDLER      Handler);
260
261
262/*
263 * Namespace and name interfaces
264 */
265ACPI_STATUS
266AcpiWalkNamespace (
267    ACPI_OBJECT_TYPE        Type,
268    ACPI_HANDLE             StartObject,
269    UINT32                  MaxDepth,
270    ACPI_WALK_CALLBACK      PreOrderVisit,
271    ACPI_WALK_CALLBACK      PostOrderVisit,
272    void                    *Context,
273    void                    **ReturnValue);
274
275ACPI_STATUS
276AcpiGetDevices (
277    char                    *HID,
278    ACPI_WALK_CALLBACK      UserFunction,
279    void                    *Context,
280    void                    **ReturnValue);
281
282ACPI_STATUS
283AcpiGetName (
284    ACPI_HANDLE             Object,
285    UINT32                  NameType,
286    ACPI_BUFFER             *RetPathPtr);
287
288ACPI_STATUS
289AcpiGetHandle (
290    ACPI_HANDLE             Parent,
291    ACPI_STRING             Pathname,
292    ACPI_HANDLE             *RetHandle);
293
294ACPI_STATUS
295AcpiAttachData (
296    ACPI_HANDLE             Object,
297    ACPI_OBJECT_HANDLER     Handler,
298    void                    *Data);
299
300ACPI_STATUS
301AcpiDetachData (
302    ACPI_HANDLE             Object,
303    ACPI_OBJECT_HANDLER     Handler);
304
305ACPI_STATUS
306AcpiGetData (
307    ACPI_HANDLE             Object,
308    ACPI_OBJECT_HANDLER     Handler,
309    void                    **Data);
310
311ACPI_STATUS
312AcpiDebugTrace (
313    char                    *Name,
314    UINT32                  DebugLevel,
315    UINT32                  DebugLayer,
316    UINT32                  Flags);
317
318
319/*
320 * Object manipulation and enumeration
321 */
322ACPI_STATUS
323AcpiEvaluateObject (
324    ACPI_HANDLE             Object,
325    ACPI_STRING             Pathname,
326    ACPI_OBJECT_LIST        *ParameterObjects,
327    ACPI_BUFFER             *ReturnObjectBuffer);
328
329ACPI_STATUS
330AcpiEvaluateObjectTyped (
331    ACPI_HANDLE             Object,
332    ACPI_STRING             Pathname,
333    ACPI_OBJECT_LIST        *ExternalParams,
334    ACPI_BUFFER             *ReturnBuffer,
335    ACPI_OBJECT_TYPE        ReturnType);
336
337ACPI_STATUS
338AcpiGetObjectInfo (
339    ACPI_HANDLE             Object,
340    ACPI_DEVICE_INFO        **ReturnBuffer);
341
342ACPI_STATUS
343AcpiInstallMethod (
344    UINT8                   *Buffer);
345
346ACPI_STATUS
347AcpiGetNextObject (
348    ACPI_OBJECT_TYPE        Type,
349    ACPI_HANDLE             Parent,
350    ACPI_HANDLE             Child,
351    ACPI_HANDLE             *OutHandle);
352
353ACPI_STATUS
354AcpiGetType (
355    ACPI_HANDLE             Object,
356    ACPI_OBJECT_TYPE        *OutType);
357
358ACPI_STATUS
359AcpiGetParent (
360    ACPI_HANDLE             Object,
361    ACPI_HANDLE             *OutHandle);
362
363
364/*
365 * Handler interfaces
366 */
367ACPI_STATUS
368AcpiInstallInitializationHandler (
369    ACPI_INIT_HANDLER       Handler,
370    UINT32                  Function);
371
372ACPI_HW_DEPENDENT_RETURN_STATUS (
373ACPI_STATUS
374AcpiInstallGlobalEventHandler (
375    ACPI_GBL_EVENT_HANDLER  Handler,
376    void                    *Context))
377
378ACPI_HW_DEPENDENT_RETURN_STATUS (
379ACPI_STATUS
380AcpiInstallFixedEventHandler (
381    UINT32                  AcpiEvent,
382    ACPI_EVENT_HANDLER      Handler,
383    void                    *Context))
384
385ACPI_HW_DEPENDENT_RETURN_STATUS (
386ACPI_STATUS
387AcpiRemoveFixedEventHandler (
388    UINT32                  AcpiEvent,
389    ACPI_EVENT_HANDLER      Handler))
390
391ACPI_HW_DEPENDENT_RETURN_STATUS (
392ACPI_STATUS
393AcpiInstallGpeHandler (
394    ACPI_HANDLE             GpeDevice,
395    UINT32                  GpeNumber,
396    UINT32                  Type,
397    ACPI_GPE_HANDLER        Address,
398    void                    *Context))
399
400ACPI_HW_DEPENDENT_RETURN_STATUS (
401ACPI_STATUS
402AcpiRemoveGpeHandler (
403    ACPI_HANDLE             GpeDevice,
404    UINT32                  GpeNumber,
405    ACPI_GPE_HANDLER        Address))
406
407ACPI_STATUS
408AcpiInstallNotifyHandler (
409    ACPI_HANDLE             Device,
410    UINT32                  HandlerType,
411    ACPI_NOTIFY_HANDLER     Handler,
412    void                    *Context);
413
414ACPI_STATUS
415AcpiRemoveNotifyHandler (
416    ACPI_HANDLE             Device,
417    UINT32                  HandlerType,
418    ACPI_NOTIFY_HANDLER     Handler);
419
420ACPI_STATUS
421AcpiInstallAddressSpaceHandler (
422    ACPI_HANDLE             Device,
423    ACPI_ADR_SPACE_TYPE     SpaceId,
424    ACPI_ADR_SPACE_HANDLER  Handler,
425    ACPI_ADR_SPACE_SETUP    Setup,
426    void                    *Context);
427
428ACPI_STATUS
429AcpiRemoveAddressSpaceHandler (
430    ACPI_HANDLE             Device,
431    ACPI_ADR_SPACE_TYPE     SpaceId,
432    ACPI_ADR_SPACE_HANDLER  Handler);
433
434ACPI_STATUS
435AcpiInstallExceptionHandler (
436    ACPI_EXCEPTION_HANDLER  Handler);
437
438ACPI_STATUS
439AcpiInstallInterfaceHandler (
440    ACPI_INTERFACE_HANDLER  Handler);
441
442
443/*
444 * Global Lock interfaces
445 */
446ACPI_HW_DEPENDENT_RETURN_STATUS (
447ACPI_STATUS
448AcpiAcquireGlobalLock (
449    UINT16                  Timeout,
450    UINT32                  *Handle))
451
452ACPI_HW_DEPENDENT_RETURN_STATUS (
453ACPI_STATUS
454AcpiReleaseGlobalLock (
455    UINT32                  Handle))
456
457
458/*
459 * Interfaces to AML mutex objects
460 */
461ACPI_STATUS
462AcpiAcquireMutex (
463    ACPI_HANDLE             Handle,
464    ACPI_STRING             Pathname,
465    UINT16                  Timeout);
466
467ACPI_STATUS
468AcpiReleaseMutex (
469    ACPI_HANDLE             Handle,
470    ACPI_STRING             Pathname);
471
472
473/*
474 * Fixed Event interfaces
475 */
476ACPI_HW_DEPENDENT_RETURN_STATUS (
477ACPI_STATUS
478AcpiEnableEvent (
479    UINT32                  Event,
480    UINT32                  Flags))
481
482ACPI_HW_DEPENDENT_RETURN_STATUS (
483ACPI_STATUS
484AcpiDisableEvent (
485    UINT32                  Event,
486    UINT32                  Flags))
487
488ACPI_HW_DEPENDENT_RETURN_STATUS (
489ACPI_STATUS
490AcpiClearEvent (
491    UINT32                  Event))
492
493ACPI_HW_DEPENDENT_RETURN_STATUS (
494ACPI_STATUS
495AcpiGetEventStatus (
496    UINT32                  Event,
497    ACPI_EVENT_STATUS       *EventStatus))
498
499
500/*
501 * General Purpose Event (GPE) Interfaces
502 */
503ACPI_HW_DEPENDENT_RETURN_STATUS (
504ACPI_STATUS
505AcpiUpdateAllGpes (
506    void))
507
508ACPI_HW_DEPENDENT_RETURN_STATUS (
509ACPI_STATUS
510AcpiEnableGpe (
511    ACPI_HANDLE             GpeDevice,
512    UINT32                  GpeNumber))
513
514ACPI_HW_DEPENDENT_RETURN_STATUS (
515ACPI_STATUS
516AcpiDisableGpe (
517    ACPI_HANDLE             GpeDevice,
518    UINT32                  GpeNumber))
519
520ACPI_HW_DEPENDENT_RETURN_STATUS (
521ACPI_STATUS
522AcpiClearGpe (
523    ACPI_HANDLE             GpeDevice,
524    UINT32                  GpeNumber))
525
526ACPI_HW_DEPENDENT_RETURN_STATUS (
527ACPI_STATUS
528AcpiSetGpe (
529    ACPI_HANDLE             GpeDevice,
530    UINT32                  GpeNumber,
531    UINT8                   Action))
532
533ACPI_HW_DEPENDENT_RETURN_STATUS (
534ACPI_STATUS
535AcpiFinishGpe (
536    ACPI_HANDLE             GpeDevice,
537    UINT32                  GpeNumber))
538
539ACPI_HW_DEPENDENT_RETURN_STATUS (
540ACPI_STATUS
541AcpiSetupGpeForWake (
542    ACPI_HANDLE             ParentDevice,
543    ACPI_HANDLE             GpeDevice,
544    UINT32                  GpeNumber))
545
546ACPI_HW_DEPENDENT_RETURN_STATUS (
547ACPI_STATUS
548AcpiSetGpeWakeMask (
549    ACPI_HANDLE             GpeDevice,
550    UINT32                  GpeNumber,
551    UINT8                   Action))
552
553ACPI_HW_DEPENDENT_RETURN_STATUS (
554ACPI_STATUS
555AcpiGetGpeStatus (
556    ACPI_HANDLE             GpeDevice,
557    UINT32                  GpeNumber,
558    ACPI_EVENT_STATUS       *EventStatus))
559
560ACPI_HW_DEPENDENT_RETURN_STATUS (
561ACPI_STATUS
562AcpiDisableAllGpes (
563    void))
564
565ACPI_HW_DEPENDENT_RETURN_STATUS (
566ACPI_STATUS
567AcpiEnableAllRuntimeGpes (
568    void))
569
570ACPI_HW_DEPENDENT_RETURN_STATUS (
571ACPI_STATUS
572AcpiGetGpeDevice (
573    UINT32                  GpeIndex,
574    ACPI_HANDLE             *GpeDevice))
575
576ACPI_HW_DEPENDENT_RETURN_STATUS (
577ACPI_STATUS
578AcpiInstallGpeBlock (
579    ACPI_HANDLE             GpeDevice,
580    ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
581    UINT32                  RegisterCount,
582    UINT32                  InterruptNumber))
583
584ACPI_HW_DEPENDENT_RETURN_STATUS (
585ACPI_STATUS
586AcpiRemoveGpeBlock (
587    ACPI_HANDLE             GpeDevice))
588
589
590/*
591 * Resource interfaces
592 */
593typedef
594ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
595    ACPI_RESOURCE           *Resource,
596    void                    *Context);
597
598ACPI_STATUS
599AcpiGetVendorResource (
600    ACPI_HANDLE             Device,
601    char                    *Name,
602    ACPI_VENDOR_UUID        *Uuid,
603    ACPI_BUFFER             *RetBuffer);
604
605ACPI_STATUS
606AcpiGetCurrentResources (
607    ACPI_HANDLE             Device,
608    ACPI_BUFFER             *RetBuffer);
609
610ACPI_STATUS
611AcpiGetPossibleResources (
612    ACPI_HANDLE             Device,
613    ACPI_BUFFER             *RetBuffer);
614
615ACPI_STATUS
616AcpiGetEventResources (
617    ACPI_HANDLE             DeviceHandle,
618    ACPI_BUFFER             *RetBuffer);
619
620ACPI_STATUS
621AcpiWalkResourceBuffer (
622    ACPI_BUFFER                 *Buffer,
623    ACPI_WALK_RESOURCE_CALLBACK UserFunction,
624    void                        *Context);
625
626ACPI_STATUS
627AcpiWalkResources (
628    ACPI_HANDLE                 Device,
629    char                        *Name,
630    ACPI_WALK_RESOURCE_CALLBACK UserFunction,
631    void                        *Context);
632
633ACPI_STATUS
634AcpiSetCurrentResources (
635    ACPI_HANDLE             Device,
636    ACPI_BUFFER             *InBuffer);
637
638ACPI_STATUS
639AcpiGetIrqRoutingTable (
640    ACPI_HANDLE             Device,
641    ACPI_BUFFER             *RetBuffer);
642
643ACPI_STATUS
644AcpiResourceToAddress64 (
645    ACPI_RESOURCE           *Resource,
646    ACPI_RESOURCE_ADDRESS64 *Out);
647
648ACPI_STATUS
649AcpiBufferToResource (
650    UINT8                   *AmlBuffer,
651    UINT16                  AmlBufferLength,
652    ACPI_RESOURCE           **ResourcePtr);
653
654
655/*
656 * Hardware (ACPI device) interfaces
657 */
658ACPI_STATUS
659AcpiReset (
660    void);
661
662ACPI_STATUS
663AcpiRead (
664    UINT64                  *Value,
665    ACPI_GENERIC_ADDRESS    *Reg);
666
667ACPI_STATUS
668AcpiWrite (
669    UINT64                  Value,
670    ACPI_GENERIC_ADDRESS    *Reg);
671
672ACPI_HW_DEPENDENT_RETURN_STATUS (
673ACPI_STATUS
674AcpiReadBitRegister (
675    UINT32                  RegisterId,
676    UINT32                  *ReturnValue))
677
678ACPI_HW_DEPENDENT_RETURN_STATUS (
679ACPI_STATUS
680AcpiWriteBitRegister (
681    UINT32                  RegisterId,
682    UINT32                  Value))
683
684
685/*
686 * Sleep/Wake interfaces
687 */
688ACPI_STATUS
689AcpiGetSleepTypeData (
690    UINT8                   SleepState,
691    UINT8                   *Slp_TypA,
692    UINT8                   *Slp_TypB);
693
694ACPI_STATUS
695AcpiEnterSleepStatePrep (
696    UINT8                   SleepState);
697
698ACPI_STATUS
699AcpiEnterSleepState (
700    UINT8                   SleepState);
701
702ACPI_HW_DEPENDENT_RETURN_STATUS (
703ACPI_STATUS
704AcpiEnterSleepStateS4bios (
705    void))
706
707ACPI_STATUS
708AcpiLeaveSleepStatePrep (
709    UINT8                   SleepState);
710
711ACPI_STATUS
712AcpiLeaveSleepState (
713    UINT8                   SleepState);
714
715ACPI_HW_DEPENDENT_RETURN_STATUS (
716ACPI_STATUS
717AcpiSetFirmwareWakingVector (
718    UINT32                  PhysicalAddress))
719
720#if ACPI_MACHINE_WIDTH == 64
721ACPI_HW_DEPENDENT_RETURN_STATUS (
722ACPI_STATUS
723AcpiSetFirmwareWakingVector64 (
724    UINT64                  PhysicalAddress))
725#endif
726
727
728/*
729 * ACPI Timer interfaces
730 */
731ACPI_HW_DEPENDENT_RETURN_STATUS (
732ACPI_STATUS
733AcpiGetTimerResolution (
734    UINT32                  *Resolution))
735
736ACPI_HW_DEPENDENT_RETURN_STATUS (
737ACPI_STATUS
738AcpiGetTimer (
739    UINT32                  *Ticks))
740
741ACPI_HW_DEPENDENT_RETURN_STATUS (
742ACPI_STATUS
743AcpiGetTimerDuration (
744    UINT32                  StartTicks,
745    UINT32                  EndTicks,
746    UINT32                  *TimeElapsed))
747
748
749/*
750 * Error/Warning output
751 */
752void ACPI_INTERNAL_VAR_XFACE
753AcpiError (
754    const char              *ModuleName,
755    UINT32                  LineNumber,
756    const char              *Format,
757    ...) ACPI_PRINTF_LIKE(3);
758
759void  ACPI_INTERNAL_VAR_XFACE
760AcpiException (
761    const char              *ModuleName,
762    UINT32                  LineNumber,
763    ACPI_STATUS             Status,
764    const char              *Format,
765    ...) ACPI_PRINTF_LIKE(4);
766
767void ACPI_INTERNAL_VAR_XFACE
768AcpiWarning (
769    const char              *ModuleName,
770    UINT32                  LineNumber,
771    const char              *Format,
772    ...) ACPI_PRINTF_LIKE(3);
773
774void ACPI_INTERNAL_VAR_XFACE
775AcpiInfo (
776    const char              *ModuleName,
777    UINT32                  LineNumber,
778    const char              *Format,
779    ...) ACPI_PRINTF_LIKE(3);
780
781void ACPI_INTERNAL_VAR_XFACE
782AcpiBiosError (
783    const char              *ModuleName,
784    UINT32                  LineNumber,
785    const char              *Format,
786    ...) ACPI_PRINTF_LIKE(3);
787
788void ACPI_INTERNAL_VAR_XFACE
789AcpiBiosWarning (
790    const char              *ModuleName,
791    UINT32                  LineNumber,
792    const char              *Format,
793    ...) ACPI_PRINTF_LIKE(3);
794
795
796/*
797 * Debug output
798 */
799#ifdef ACPI_DEBUG_OUTPUT
800
801void ACPI_INTERNAL_VAR_XFACE
802AcpiDebugPrint (
803    UINT32                  RequestedDebugLevel,
804    UINT32                  LineNumber,
805    const char              *FunctionName,
806    const char              *ModuleName,
807    UINT32                  ComponentId,
808    const char              *Format,
809    ...) ACPI_PRINTF_LIKE(6);
810
811void ACPI_INTERNAL_VAR_XFACE
812AcpiDebugPrintRaw (
813    UINT32                  RequestedDebugLevel,
814    UINT32                  LineNumber,
815    const char              *FunctionName,
816    const char              *ModuleName,
817    UINT32                  ComponentId,
818    const char              *Format,
819    ...) ACPI_PRINTF_LIKE(6);
820#endif
821
822#endif /* __ACXFACE_H__ */
823