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