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