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