]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/dev/acpica/include/acpixf.h
MFhead_mfi r227068
[FreeBSD/FreeBSD.git] / sys / contrib / dev / acpica / include / acpixf.h
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                 0x20120320
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  */
60 extern UINT32               AcpiCurrentGpeCount;
61 extern ACPI_TABLE_FADT      AcpiGbl_FADT;
62 extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
63 extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
64
65 /* Runtime configuration of debug print levels */
66
67 extern UINT32               AcpiDbgLevel;
68 extern UINT32               AcpiDbgLayer;
69
70 /* ACPICA runtime options */
71
72 extern UINT8                AcpiGbl_EnableInterpreterSlack;
73 extern UINT8                AcpiGbl_AllMethodsSerialized;
74 extern UINT8                AcpiGbl_CreateOsiMethod;
75 extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
76 extern ACPI_NAME            AcpiGbl_TraceMethodName;
77 extern UINT32               AcpiGbl_TraceFlags;
78 extern UINT8                AcpiGbl_EnableAmlDebugObject;
79 extern UINT8                AcpiGbl_CopyDsdtLocally;
80 extern UINT8                AcpiGbl_TruncateIoAddresses;
81 extern 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  */
115 ACPI_STATUS
116 AcpiInitializeTables (
117     ACPI_TABLE_DESC         *InitialStorage,
118     UINT32                  InitialTableCount,
119     BOOLEAN                 AllowResize);
120
121 ACPI_STATUS
122 AcpiInitializeSubsystem (
123     void);
124
125 ACPI_STATUS
126 AcpiEnableSubsystem (
127     UINT32                  Flags);
128
129 ACPI_STATUS
130 AcpiInitializeObjects (
131     UINT32                  Flags);
132
133 ACPI_STATUS
134 AcpiTerminate (
135     void);
136
137
138 /*
139  * Miscellaneous global interfaces
140  */
141 ACPI_HW_DEPENDENT_RETURN_STATUS (
142 ACPI_STATUS
143 AcpiEnable (
144     void))
145
146 ACPI_HW_DEPENDENT_RETURN_STATUS (
147 ACPI_STATUS
148 AcpiDisable (
149     void))
150
151 ACPI_STATUS
152 AcpiSubsystemStatus (
153     void);
154
155 ACPI_STATUS
156 AcpiGetSystemInfo (
157     ACPI_BUFFER             *RetBuffer);
158
159 ACPI_STATUS
160 AcpiGetStatistics (
161     ACPI_STATISTICS         *Stats);
162
163 const char *
164 AcpiFormatException (
165     ACPI_STATUS             Exception);
166
167 ACPI_STATUS
168 AcpiPurgeCachedObjects (
169     void);
170
171 ACPI_STATUS
172 AcpiInstallInterface (
173     ACPI_STRING             InterfaceName);
174
175 ACPI_STATUS
176 AcpiRemoveInterface (
177     ACPI_STRING             InterfaceName);
178
179 UINT32
180 AcpiCheckAddressRange (
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  */
190 void *
191 AcpiAllocate (
192     UINT32                  Size);
193
194 void *
195 AcpiCallocate (
196     UINT32                  Size);
197
198 void
199 AcpiFree (
200     void                    *Address);
201
202
203 /*
204  * ACPI table manipulation interfaces
205  */
206 ACPI_STATUS
207 AcpiReallocateRootTable (
208     void);
209
210 ACPI_STATUS
211 AcpiFindRootPointer (
212     ACPI_SIZE               *RsdpAddress);
213
214 ACPI_STATUS
215 AcpiLoadTables (
216     void);
217
218 ACPI_STATUS
219 AcpiGetTableHeader (
220     ACPI_STRING             Signature,
221     UINT32                  Instance,
222     ACPI_TABLE_HEADER       *OutTableHeader);
223
224 ACPI_STATUS
225 AcpiGetTable (
226     ACPI_STRING             Signature,
227     UINT32                  Instance,
228     ACPI_TABLE_HEADER       **OutTable);
229
230 ACPI_STATUS
231 AcpiGetTableByIndex (
232     UINT32                  TableIndex,
233     ACPI_TABLE_HEADER       **OutTable);
234
235 ACPI_STATUS
236 AcpiInstallTableHandler (
237     ACPI_TABLE_HANDLER      Handler,
238     void                    *Context);
239
240 ACPI_STATUS
241 AcpiRemoveTableHandler (
242     ACPI_TABLE_HANDLER      Handler);
243
244
245 /*
246  * Namespace and name interfaces
247  */
248 ACPI_STATUS
249 AcpiWalkNamespace (
250     ACPI_OBJECT_TYPE        Type,
251     ACPI_HANDLE             StartObject,
252     UINT32                  MaxDepth,
253     ACPI_WALK_CALLBACK      PreOrderVisit,
254     ACPI_WALK_CALLBACK      PostOrderVisit,
255     void                    *Context,
256     void                    **ReturnValue);
257
258 ACPI_STATUS
259 AcpiGetDevices (
260     char                    *HID,
261     ACPI_WALK_CALLBACK      UserFunction,
262     void                    *Context,
263     void                    **ReturnValue);
264
265 ACPI_STATUS
266 AcpiGetName (
267     ACPI_HANDLE             Object,
268     UINT32                  NameType,
269     ACPI_BUFFER             *RetPathPtr);
270
271 ACPI_STATUS
272 AcpiGetHandle (
273     ACPI_HANDLE             Parent,
274     ACPI_STRING             Pathname,
275     ACPI_HANDLE             *RetHandle);
276
277 ACPI_STATUS
278 AcpiAttachData (
279     ACPI_HANDLE             Object,
280     ACPI_OBJECT_HANDLER     Handler,
281     void                    *Data);
282
283 ACPI_STATUS
284 AcpiDetachData (
285     ACPI_HANDLE             Object,
286     ACPI_OBJECT_HANDLER     Handler);
287
288 ACPI_STATUS
289 AcpiGetData (
290     ACPI_HANDLE             Object,
291     ACPI_OBJECT_HANDLER     Handler,
292     void                    **Data);
293
294 ACPI_STATUS
295 AcpiDebugTrace (
296     char                    *Name,
297     UINT32                  DebugLevel,
298     UINT32                  DebugLayer,
299     UINT32                  Flags);
300
301
302 /*
303  * Object manipulation and enumeration
304  */
305 ACPI_STATUS
306 AcpiEvaluateObject (
307     ACPI_HANDLE             Object,
308     ACPI_STRING             Pathname,
309     ACPI_OBJECT_LIST        *ParameterObjects,
310     ACPI_BUFFER             *ReturnObjectBuffer);
311
312 ACPI_STATUS
313 AcpiEvaluateObjectTyped (
314     ACPI_HANDLE             Object,
315     ACPI_STRING             Pathname,
316     ACPI_OBJECT_LIST        *ExternalParams,
317     ACPI_BUFFER             *ReturnBuffer,
318     ACPI_OBJECT_TYPE        ReturnType);
319
320 ACPI_STATUS
321 AcpiGetObjectInfo (
322     ACPI_HANDLE             Object,
323     ACPI_DEVICE_INFO        **ReturnBuffer);
324
325 ACPI_STATUS
326 AcpiInstallMethod (
327     UINT8                   *Buffer);
328
329 ACPI_STATUS
330 AcpiGetNextObject (
331     ACPI_OBJECT_TYPE        Type,
332     ACPI_HANDLE             Parent,
333     ACPI_HANDLE             Child,
334     ACPI_HANDLE             *OutHandle);
335
336 ACPI_STATUS
337 AcpiGetType (
338     ACPI_HANDLE             Object,
339     ACPI_OBJECT_TYPE        *OutType);
340
341 ACPI_STATUS
342 AcpiGetParent (
343     ACPI_HANDLE             Object,
344     ACPI_HANDLE             *OutHandle);
345
346
347 /*
348  * Handler interfaces
349  */
350 ACPI_STATUS
351 AcpiInstallInitializationHandler (
352     ACPI_INIT_HANDLER       Handler,
353     UINT32                  Function);
354
355 ACPI_HW_DEPENDENT_RETURN_STATUS (
356 ACPI_STATUS
357 AcpiInstallGlobalEventHandler (
358     ACPI_GBL_EVENT_HANDLER  Handler,
359     void                    *Context))
360
361 ACPI_HW_DEPENDENT_RETURN_STATUS (
362 ACPI_STATUS
363 AcpiInstallFixedEventHandler (
364     UINT32                  AcpiEvent,
365     ACPI_EVENT_HANDLER      Handler,
366     void                    *Context))
367
368 ACPI_HW_DEPENDENT_RETURN_STATUS (
369 ACPI_STATUS
370 AcpiRemoveFixedEventHandler (
371     UINT32                  AcpiEvent,
372     ACPI_EVENT_HANDLER      Handler))
373
374 ACPI_HW_DEPENDENT_RETURN_STATUS (
375 ACPI_STATUS
376 AcpiInstallGpeHandler (
377     ACPI_HANDLE             GpeDevice,
378     UINT32                  GpeNumber,
379     UINT32                  Type,
380     ACPI_GPE_HANDLER        Address,
381     void                    *Context))
382
383 ACPI_HW_DEPENDENT_RETURN_STATUS (
384 ACPI_STATUS
385 AcpiRemoveGpeHandler (
386     ACPI_HANDLE             GpeDevice,
387     UINT32                  GpeNumber,
388     ACPI_GPE_HANDLER        Address))
389
390 ACPI_STATUS
391 AcpiInstallNotifyHandler (
392     ACPI_HANDLE             Device,
393     UINT32                  HandlerType,
394     ACPI_NOTIFY_HANDLER     Handler,
395     void                    *Context);
396
397 ACPI_STATUS
398 AcpiRemoveNotifyHandler (
399     ACPI_HANDLE             Device,
400     UINT32                  HandlerType,
401     ACPI_NOTIFY_HANDLER     Handler);
402
403 ACPI_STATUS
404 AcpiInstallAddressSpaceHandler (
405     ACPI_HANDLE             Device,
406     ACPI_ADR_SPACE_TYPE     SpaceId,
407     ACPI_ADR_SPACE_HANDLER  Handler,
408     ACPI_ADR_SPACE_SETUP    Setup,
409     void                    *Context);
410
411 ACPI_STATUS
412 AcpiRemoveAddressSpaceHandler (
413     ACPI_HANDLE             Device,
414     ACPI_ADR_SPACE_TYPE     SpaceId,
415     ACPI_ADR_SPACE_HANDLER  Handler);
416
417 ACPI_STATUS
418 AcpiInstallExceptionHandler (
419     ACPI_EXCEPTION_HANDLER  Handler);
420
421 ACPI_STATUS
422 AcpiInstallInterfaceHandler (
423     ACPI_INTERFACE_HANDLER  Handler);
424
425
426 /*
427  * Global Lock interfaces
428  */
429 ACPI_HW_DEPENDENT_RETURN_STATUS (
430 ACPI_STATUS
431 AcpiAcquireGlobalLock (
432     UINT16                  Timeout,
433     UINT32                  *Handle))
434
435 ACPI_HW_DEPENDENT_RETURN_STATUS (
436 ACPI_STATUS
437 AcpiReleaseGlobalLock (
438     UINT32                  Handle))
439
440
441 /*
442  * Interfaces to AML mutex objects
443  */
444 ACPI_STATUS
445 AcpiAcquireMutex (
446     ACPI_HANDLE             Handle,
447     ACPI_STRING             Pathname,
448     UINT16                  Timeout);
449
450 ACPI_STATUS
451 AcpiReleaseMutex (
452     ACPI_HANDLE             Handle,
453     ACPI_STRING             Pathname);
454
455
456 /*
457  * Fixed Event interfaces
458  */
459 ACPI_HW_DEPENDENT_RETURN_STATUS (
460 ACPI_STATUS
461 AcpiEnableEvent (
462     UINT32                  Event,
463     UINT32                  Flags))
464
465 ACPI_HW_DEPENDENT_RETURN_STATUS (
466 ACPI_STATUS
467 AcpiDisableEvent (
468     UINT32                  Event,
469     UINT32                  Flags))
470
471 ACPI_HW_DEPENDENT_RETURN_STATUS (
472 ACPI_STATUS
473 AcpiClearEvent (
474     UINT32                  Event))
475
476 ACPI_HW_DEPENDENT_RETURN_STATUS (
477 ACPI_STATUS
478 AcpiGetEventStatus (
479     UINT32                  Event,
480     ACPI_EVENT_STATUS       *EventStatus))
481
482
483 /*
484  * General Purpose Event (GPE) Interfaces
485  */
486 ACPI_HW_DEPENDENT_RETURN_STATUS (
487 ACPI_STATUS
488 AcpiUpdateAllGpes (
489     void))
490
491 ACPI_HW_DEPENDENT_RETURN_STATUS (
492 ACPI_STATUS
493 AcpiEnableGpe (
494     ACPI_HANDLE             GpeDevice,
495     UINT32                  GpeNumber))
496
497 ACPI_HW_DEPENDENT_RETURN_STATUS (
498 ACPI_STATUS
499 AcpiDisableGpe (
500     ACPI_HANDLE             GpeDevice,
501     UINT32                  GpeNumber))
502
503 ACPI_HW_DEPENDENT_RETURN_STATUS (
504 ACPI_STATUS
505 AcpiClearGpe (
506     ACPI_HANDLE             GpeDevice,
507     UINT32                  GpeNumber))
508
509 ACPI_HW_DEPENDENT_RETURN_STATUS (
510 ACPI_STATUS
511 AcpiSetGpe (
512     ACPI_HANDLE             GpeDevice,
513     UINT32                  GpeNumber,
514     UINT8                   Action))
515
516 ACPI_HW_DEPENDENT_RETURN_STATUS (
517 ACPI_STATUS
518 AcpiFinishGpe (
519     ACPI_HANDLE             GpeDevice,
520     UINT32                  GpeNumber))
521
522 ACPI_HW_DEPENDENT_RETURN_STATUS (
523 ACPI_STATUS
524 AcpiSetupGpeForWake (
525     ACPI_HANDLE             ParentDevice,
526     ACPI_HANDLE             GpeDevice,
527     UINT32                  GpeNumber))
528
529 ACPI_HW_DEPENDENT_RETURN_STATUS (
530 ACPI_STATUS
531 AcpiSetGpeWakeMask (
532     ACPI_HANDLE             GpeDevice,
533     UINT32                  GpeNumber,
534     UINT8                   Action))
535
536 ACPI_HW_DEPENDENT_RETURN_STATUS (
537 ACPI_STATUS
538 AcpiGetGpeStatus (
539     ACPI_HANDLE             GpeDevice,
540     UINT32                  GpeNumber,
541     ACPI_EVENT_STATUS       *EventStatus))
542
543 ACPI_HW_DEPENDENT_RETURN_STATUS (
544 ACPI_STATUS
545 AcpiDisableAllGpes (
546     void))
547
548 ACPI_HW_DEPENDENT_RETURN_STATUS (
549 ACPI_STATUS
550 AcpiEnableAllRuntimeGpes (
551     void))
552
553 ACPI_HW_DEPENDENT_RETURN_STATUS (
554 ACPI_STATUS
555 AcpiGetGpeDevice (
556     UINT32                  GpeIndex,
557     ACPI_HANDLE             *GpeDevice))
558
559 ACPI_HW_DEPENDENT_RETURN_STATUS (
560 ACPI_STATUS
561 AcpiInstallGpeBlock (
562     ACPI_HANDLE             GpeDevice,
563     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
564     UINT32                  RegisterCount,
565     UINT32                  InterruptNumber))
566
567 ACPI_HW_DEPENDENT_RETURN_STATUS (
568 ACPI_STATUS
569 AcpiRemoveGpeBlock (
570     ACPI_HANDLE             GpeDevice))
571
572
573 /*
574  * Resource interfaces
575  */
576 typedef
577 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
578     ACPI_RESOURCE           *Resource,
579     void                    *Context);
580
581 ACPI_STATUS
582 AcpiGetVendorResource (
583     ACPI_HANDLE             Device,
584     char                    *Name,
585     ACPI_VENDOR_UUID        *Uuid,
586     ACPI_BUFFER             *RetBuffer);
587
588 ACPI_STATUS
589 AcpiGetCurrentResources (
590     ACPI_HANDLE             Device,
591     ACPI_BUFFER             *RetBuffer);
592
593 ACPI_STATUS
594 AcpiGetPossibleResources (
595     ACPI_HANDLE             Device,
596     ACPI_BUFFER             *RetBuffer);
597
598 ACPI_STATUS
599 AcpiGetEventResources (
600     ACPI_HANDLE             DeviceHandle,
601     ACPI_BUFFER             *RetBuffer);
602
603 ACPI_STATUS
604 AcpiWalkResources (
605     ACPI_HANDLE                 Device,
606     char                        *Name,
607     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
608     void                        *Context);
609
610 ACPI_STATUS
611 AcpiSetCurrentResources (
612     ACPI_HANDLE             Device,
613     ACPI_BUFFER             *InBuffer);
614
615 ACPI_STATUS
616 AcpiGetIrqRoutingTable (
617     ACPI_HANDLE             Device,
618     ACPI_BUFFER             *RetBuffer);
619
620 ACPI_STATUS
621 AcpiResourceToAddress64 (
622     ACPI_RESOURCE           *Resource,
623     ACPI_RESOURCE_ADDRESS64 *Out);
624
625 ACPI_STATUS
626 AcpiBufferToResource (
627     UINT8                   *AmlBuffer,
628     UINT16                  AmlBufferLength,
629     ACPI_RESOURCE           **ResourcePtr);
630
631
632 /*
633  * Hardware (ACPI device) interfaces
634  */
635 ACPI_STATUS
636 AcpiReset (
637     void);
638
639 ACPI_STATUS
640 AcpiRead (
641     UINT64                  *Value,
642     ACPI_GENERIC_ADDRESS    *Reg);
643
644 ACPI_STATUS
645 AcpiWrite (
646     UINT64                  Value,
647     ACPI_GENERIC_ADDRESS    *Reg);
648
649 ACPI_HW_DEPENDENT_RETURN_STATUS (
650 ACPI_STATUS
651 AcpiReadBitRegister (
652     UINT32                  RegisterId,
653     UINT32                  *ReturnValue))
654
655 ACPI_HW_DEPENDENT_RETURN_STATUS (
656 ACPI_STATUS
657 AcpiWriteBitRegister (
658     UINT32                  RegisterId,
659     UINT32                  Value))
660
661
662 /*
663  * Sleep/Wake interfaces
664  */
665 ACPI_STATUS
666 AcpiGetSleepTypeData (
667     UINT8                   SleepState,
668     UINT8                   *Slp_TypA,
669     UINT8                   *Slp_TypB);
670
671 ACPI_STATUS
672 AcpiEnterSleepStatePrep (
673     UINT8                   SleepState);
674
675 ACPI_STATUS
676 AcpiEnterSleepState (
677     UINT8                   SleepState,
678     UINT8                   Flags);
679
680 ACPI_HW_DEPENDENT_RETURN_STATUS (
681 ACPI_STATUS
682 AcpiEnterSleepStateS4bios (
683     void))
684
685 ACPI_STATUS
686 AcpiLeaveSleepStatePrep (
687     UINT8                   SleepState,
688     UINT8                   Flags);
689
690 ACPI_STATUS
691 AcpiLeaveSleepState (
692     UINT8                   SleepState);
693
694 ACPI_HW_DEPENDENT_RETURN_STATUS (
695 ACPI_STATUS
696 AcpiSetFirmwareWakingVector (
697     UINT32                  PhysicalAddress))
698
699 #if ACPI_MACHINE_WIDTH == 64
700 ACPI_HW_DEPENDENT_RETURN_STATUS (
701 ACPI_STATUS
702 AcpiSetFirmwareWakingVector64 (
703     UINT64                  PhysicalAddress))
704 #endif
705
706
707 /*
708  * ACPI Timer interfaces
709  */
710 ACPI_HW_DEPENDENT_RETURN_STATUS (
711 ACPI_STATUS
712 AcpiGetTimerResolution (
713     UINT32                  *Resolution))
714
715 ACPI_HW_DEPENDENT_RETURN_STATUS (
716 ACPI_STATUS
717 AcpiGetTimer (
718     UINT32                  *Ticks))
719
720 ACPI_HW_DEPENDENT_RETURN_STATUS (
721 ACPI_STATUS
722 AcpiGetTimerDuration (
723     UINT32                  StartTicks,
724     UINT32                  EndTicks,
725     UINT32                  *TimeElapsed))
726
727
728 /*
729  * Error/Warning output
730  */
731 void ACPI_INTERNAL_VAR_XFACE
732 AcpiError (
733     const char              *ModuleName,
734     UINT32                  LineNumber,
735     const char              *Format,
736     ...) ACPI_PRINTF_LIKE(3);
737
738 void  ACPI_INTERNAL_VAR_XFACE
739 AcpiException (
740     const char              *ModuleName,
741     UINT32                  LineNumber,
742     ACPI_STATUS             Status,
743     const char              *Format,
744     ...) ACPI_PRINTF_LIKE(4);
745
746 void ACPI_INTERNAL_VAR_XFACE
747 AcpiWarning (
748     const char              *ModuleName,
749     UINT32                  LineNumber,
750     const char              *Format,
751     ...) ACPI_PRINTF_LIKE(3);
752
753 void ACPI_INTERNAL_VAR_XFACE
754 AcpiInfo (
755     const char              *ModuleName,
756     UINT32                  LineNumber,
757     const char              *Format,
758     ...) ACPI_PRINTF_LIKE(3);
759
760
761 /*
762  * Debug output
763  */
764 #ifdef ACPI_DEBUG_OUTPUT
765
766 void ACPI_INTERNAL_VAR_XFACE
767 AcpiDebugPrint (
768     UINT32                  RequestedDebugLevel,
769     UINT32                  LineNumber,
770     const char              *FunctionName,
771     const char              *ModuleName,
772     UINT32                  ComponentId,
773     const char              *Format,
774     ...) ACPI_PRINTF_LIKE(6);
775
776 void ACPI_INTERNAL_VAR_XFACE
777 AcpiDebugPrintRaw (
778     UINT32                  RequestedDebugLevel,
779     UINT32                  LineNumber,
780     const char              *FunctionName,
781     const char              *ModuleName,
782     UINT32                  ComponentId,
783     const char              *Format,
784     ...) ACPI_PRINTF_LIKE(6);
785 #endif
786
787 #endif /* __ACXFACE_H__ */