Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. /******************************************************************************
  3.  *
  4.  * Name: acpixf.h - External interfaces to the ACPI subsystem
  5.  *
  6.  *****************************************************************************/
  7.  
  8. /******************************************************************************
  9.  *
  10.  * 1. Copyright Notice
  11.  *
  12.  * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
  13.  * All rights reserved.
  14.  *
  15.  * 2. License
  16.  *
  17.  * 2.1. This is your license from Intel Corp. under its intellectual property
  18.  * rights.  You may have additional license terms from the party that provided
  19.  * you this software, covering your right to use that party's intellectual
  20.  * property rights.
  21.  *
  22.  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
  23.  * copy of the source code appearing in this file ("Covered Code") an
  24.  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
  25.  * base code distributed originally by Intel ("Original Intel Code") to copy,
  26.  * make derivatives, distribute, use and display any portion of the Covered
  27.  * Code in any form, with the right to sublicense such rights; and
  28.  *
  29.  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
  30.  * license (with the right to sublicense), under only those claims of Intel
  31.  * patents that are infringed by the Original Intel Code, to make, use, sell,
  32.  * offer to sell, and import the Covered Code and derivative works thereof
  33.  * solely to the minimum extent necessary to exercise the above copyright
  34.  * license, and in no event shall the patent license extend to any additions
  35.  * to or modifications of the Original Intel Code.  No other license or right
  36.  * is granted directly or by implication, estoppel or otherwise;
  37.  *
  38.  * The above copyright and patent license is granted only if the following
  39.  * conditions are met:
  40.  *
  41.  * 3. Conditions
  42.  *
  43.  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
  44.  * Redistribution of source code of any substantial portion of the Covered
  45.  * Code or modification with rights to further distribute source must include
  46.  * the above Copyright Notice, the above License, this list of Conditions,
  47.  * and the following Disclaimer and Export Compliance provision.  In addition,
  48.  * Licensee must cause all Covered Code to which Licensee contributes to
  49.  * contain a file documenting the changes Licensee made to create that Covered
  50.  * Code and the date of any change.  Licensee must include in that file the
  51.  * documentation of any changes made by any predecessor Licensee.  Licensee
  52.  * must include a prominent statement that the modification is derived,
  53.  * directly or indirectly, from Original Intel Code.
  54.  *
  55.  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
  56.  * Redistribution of source code of any substantial portion of the Covered
  57.  * Code or modification without rights to further distribute source must
  58.  * include the following Disclaimer and Export Compliance provision in the
  59.  * documentation and/or other materials provided with distribution.  In
  60.  * addition, Licensee may not authorize further sublicense of source of any
  61.  * portion of the Covered Code, and must include terms to the effect that the
  62.  * license from Licensee to its licensee is limited to the intellectual
  63.  * property embodied in the software Licensee provides to its licensee, and
  64.  * not to intellectual property embodied in modifications its licensee may
  65.  * make.
  66.  *
  67.  * 3.3. Redistribution of Executable. Redistribution in executable form of any
  68.  * substantial portion of the Covered Code or modification must reproduce the
  69.  * above Copyright Notice, and the following Disclaimer and Export Compliance
  70.  * provision in the documentation and/or other materials provided with the
  71.  * distribution.
  72.  *
  73.  * 3.4. Intel retains all right, title, and interest in and to the Original
  74.  * Intel Code.
  75.  *
  76.  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
  77.  * Intel shall be used in advertising or otherwise to promote the sale, use or
  78.  * other dealings in products derived from or relating to the Covered Code
  79.  * without prior written authorization from Intel.
  80.  *
  81.  * 4. Disclaimer and Export Compliance
  82.  *
  83.  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
  84.  * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
  85.  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
  86.  * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
  87.  * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
  88.  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
  89.  * PARTICULAR PURPOSE.
  90.  *
  91.  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
  92.  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
  93.  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
  94.  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
  95.  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
  96.  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
  97.  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
  98.  * LIMITED REMEDY.
  99.  *
  100.  * 4.3. Licensee shall not export, either directly or indirectly, any of this
  101.  * software or system incorporating such software without first obtaining any
  102.  * required license or other approval from the U. S. Department of Commerce or
  103.  * any other agency or department of the United States Government.  In the
  104.  * event Licensee exports any such software from the United States or
  105.  * re-exports any such software from a foreign destination, Licensee shall
  106.  * ensure that the distribution and export/re-export of the software is in
  107.  * compliance with all laws, regulations, orders, or other restrictions of the
  108.  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
  109.  * any of its subsidiaries will export/re-export any technical data, process,
  110.  * software, or service, directly or indirectly, to any country for which the
  111.  * United States government or any agency thereof requires an export license,
  112.  * other governmental approval, or letter of assurance, without first obtaining
  113.  * such license, approval or letter.
  114.  *
  115.  *****************************************************************************/
  116.  
  117.  
  118. #ifndef __ACXFACE_H__
  119. #define __ACXFACE_H__
  120.  
  121. /* Current ACPICA subsystem version in YYYYMMDD format */
  122.  
  123. #define ACPI_CA_VERSION                 0x20100528
  124.  
  125. #include "actypes.h"
  126. #include "actbl.h"
  127.  
  128. /*
  129.  * Globals that are publically available
  130.  */
  131. extern UINT32               AcpiCurrentGpeCount;
  132. extern ACPI_TABLE_FADT      AcpiGbl_FADT;
  133.  
  134. /* Runtime configuration of debug print levels */
  135.  
  136. extern UINT32               AcpiDbgLevel;
  137. extern UINT32               AcpiDbgLayer;
  138.  
  139. /* ACPICA runtime options */
  140.  
  141. extern UINT8                AcpiGbl_EnableInterpreterSlack;
  142. extern UINT8                AcpiGbl_AllMethodsSerialized;
  143. extern UINT8                AcpiGbl_CreateOsiMethod;
  144. extern UINT8                AcpiGbl_LeaveWakeGpesDisabled;
  145. extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
  146. extern ACPI_NAME            AcpiGbl_TraceMethodName;
  147. extern UINT32               AcpiGbl_TraceFlags;
  148. extern UINT8                AcpiGbl_EnableAmlDebugObject;
  149. extern UINT8                AcpiGbl_CopyDsdtLocally;
  150. extern UINT8                AcpiGbl_TruncateIoAddresses;
  151.  
  152.  
  153. /*
  154.  * Global interfaces
  155.  */
  156. ACPI_STATUS
  157. AcpiInitializeTables (
  158.     ACPI_TABLE_DESC         *InitialStorage,
  159.     UINT32                  InitialTableCount,
  160.     BOOLEAN                 AllowResize);
  161.  
  162. ACPI_STATUS
  163. AcpiInitializeSubsystem (
  164.     void);
  165.  
  166. ACPI_STATUS
  167. AcpiEnableSubsystem (
  168.     UINT32                  Flags);
  169.  
  170. ACPI_STATUS
  171. AcpiInitializeObjects (
  172.     UINT32                  Flags);
  173.  
  174. ACPI_STATUS
  175. AcpiTerminate (
  176.     void);
  177.  
  178. ACPI_STATUS
  179. AcpiSubsystemStatus (
  180.     void);
  181.  
  182. ACPI_STATUS
  183. AcpiEnable (
  184.     void);
  185.  
  186. ACPI_STATUS
  187. AcpiDisable (
  188.     void);
  189.  
  190. ACPI_STATUS
  191. AcpiGetSystemInfo (
  192.     ACPI_BUFFER             *RetBuffer);
  193.  
  194. ACPI_STATUS
  195. AcpiGetStatistics (
  196.     ACPI_STATISTICS         *Stats);
  197.  
  198. const char *
  199. AcpiFormatException (
  200.     ACPI_STATUS             Exception);
  201.  
  202. ACPI_STATUS
  203. AcpiPurgeCachedObjects (
  204.     void);
  205.  
  206.  
  207. /*
  208.  * ACPI Memory managment
  209.  */
  210. void *
  211. AcpiAllocate (
  212.     UINT32                  Size);
  213.  
  214. void *
  215. AcpiCallocate (
  216.     UINT32                  Size);
  217.  
  218. void
  219. AcpiFree (
  220.     void                    *Address);
  221.  
  222.  
  223. /*
  224.  * ACPI table manipulation interfaces
  225.  */
  226. ACPI_STATUS
  227. AcpiReallocateRootTable (
  228.     void);
  229.  
  230. ACPI_STATUS
  231. AcpiFindRootPointer (
  232.     ACPI_SIZE               *RsdpAddress);
  233.  
  234. ACPI_STATUS
  235. AcpiLoadTables (
  236.     void);
  237.  
  238. ACPI_STATUS
  239. AcpiGetTableHeader (
  240.     ACPI_STRING             Signature,
  241.     UINT32                  Instance,
  242.     ACPI_TABLE_HEADER       *OutTableHeader);
  243.  
  244. ACPI_STATUS
  245. AcpiGetTable (
  246.     ACPI_STRING             Signature,
  247.     UINT32                  Instance,
  248.     ACPI_TABLE_HEADER       **OutTable);
  249.  
  250. ACPI_STATUS
  251. AcpiGetTableByIndex (
  252.     UINT32                  TableIndex,
  253.     ACPI_TABLE_HEADER       **OutTable);
  254.  
  255. ACPI_STATUS
  256. AcpiInstallTableHandler (
  257.     ACPI_TABLE_HANDLER      Handler,
  258.     void                    *Context);
  259.  
  260. ACPI_STATUS
  261. AcpiRemoveTableHandler (
  262.     ACPI_TABLE_HANDLER      Handler);
  263.  
  264.  
  265. /*
  266.  * Namespace and name interfaces
  267.  */
  268. ACPI_STATUS
  269. AcpiWalkNamespace (
  270.     ACPI_OBJECT_TYPE        Type,
  271.     ACPI_HANDLE             StartObject,
  272.     UINT32                  MaxDepth,
  273.     ACPI_WALK_CALLBACK      PreOrderVisit,
  274.     ACPI_WALK_CALLBACK      PostOrderVisit,
  275.     void                    *Context,
  276.     void                    **ReturnValue);
  277.  
  278. ACPI_STATUS
  279. AcpiGetDevices (
  280.     char                    *HID,
  281.     ACPI_WALK_CALLBACK      UserFunction,
  282.     void                    *Context,
  283.     void                    **ReturnValue);
  284.  
  285. ACPI_STATUS
  286. AcpiGetName (
  287.     ACPI_HANDLE             Object,
  288.     UINT32                  NameType,
  289.     ACPI_BUFFER             *RetPathPtr);
  290.  
  291. ACPI_STATUS
  292. AcpiGetHandle (
  293.     ACPI_HANDLE             Parent,
  294.     ACPI_STRING             Pathname,
  295.     ACPI_HANDLE             *RetHandle);
  296.  
  297. ACPI_STATUS
  298. AcpiAttachData (
  299.     ACPI_HANDLE             Object,
  300.     ACPI_OBJECT_HANDLER     Handler,
  301.     void                    *Data);
  302.  
  303. ACPI_STATUS
  304. AcpiDetachData (
  305.     ACPI_HANDLE             Object,
  306.     ACPI_OBJECT_HANDLER     Handler);
  307.  
  308. ACPI_STATUS
  309. AcpiGetData (
  310.     ACPI_HANDLE             Object,
  311.     ACPI_OBJECT_HANDLER     Handler,
  312.     void                    **Data);
  313.  
  314. ACPI_STATUS
  315. AcpiDebugTrace (
  316.     char                    *Name,
  317.     UINT32                  DebugLevel,
  318.     UINT32                  DebugLayer,
  319.     UINT32                  Flags);
  320.  
  321.  
  322. /*
  323.  * Object manipulation and enumeration
  324.  */
  325. ACPI_STATUS
  326. AcpiEvaluateObject (
  327.     ACPI_HANDLE             Object,
  328.     ACPI_STRING             Pathname,
  329.     ACPI_OBJECT_LIST        *ParameterObjects,
  330.     ACPI_BUFFER             *ReturnObjectBuffer);
  331.  
  332. ACPI_STATUS
  333. AcpiEvaluateObjectTyped (
  334.     ACPI_HANDLE             Object,
  335.     ACPI_STRING             Pathname,
  336.     ACPI_OBJECT_LIST        *ExternalParams,
  337.     ACPI_BUFFER             *ReturnBuffer,
  338.     ACPI_OBJECT_TYPE        ReturnType);
  339.  
  340. ACPI_STATUS
  341. AcpiGetObjectInfo (
  342.     ACPI_HANDLE             Object,
  343.     ACPI_DEVICE_INFO        **ReturnBuffer);
  344.  
  345. ACPI_STATUS
  346. AcpiInstallMethod (
  347.     UINT8                   *Buffer);
  348.  
  349. ACPI_STATUS
  350. AcpiGetNextObject (
  351.     ACPI_OBJECT_TYPE        Type,
  352.     ACPI_HANDLE             Parent,
  353.     ACPI_HANDLE             Child,
  354.     ACPI_HANDLE             *OutHandle);
  355.  
  356. ACPI_STATUS
  357. AcpiGetType (
  358.     ACPI_HANDLE             Object,
  359.     ACPI_OBJECT_TYPE        *OutType);
  360.  
  361. ACPI_STATUS
  362. AcpiGetParent (
  363.     ACPI_HANDLE             Object,
  364.     ACPI_HANDLE             *OutHandle);
  365.  
  366.  
  367. /*
  368.  * Handler interfaces
  369.  */
  370. ACPI_STATUS
  371. AcpiInstallInitializationHandler (
  372.     ACPI_INIT_HANDLER       Handler,
  373.     UINT32                  Function);
  374.  
  375. ACPI_STATUS
  376. AcpiInstallFixedEventHandler (
  377.     UINT32                  AcpiEvent,
  378.     ACPI_EVENT_HANDLER      Handler,
  379.     void                    *Context);
  380.  
  381. ACPI_STATUS
  382. AcpiRemoveFixedEventHandler (
  383.     UINT32                  AcpiEvent,
  384.     ACPI_EVENT_HANDLER      Handler);
  385.  
  386. ACPI_STATUS
  387. AcpiInstallNotifyHandler (
  388.     ACPI_HANDLE             Device,
  389.     UINT32                  HandlerType,
  390.     ACPI_NOTIFY_HANDLER     Handler,
  391.     void                    *Context);
  392.  
  393. ACPI_STATUS
  394. AcpiRemoveNotifyHandler (
  395.     ACPI_HANDLE             Device,
  396.     UINT32                  HandlerType,
  397.     ACPI_NOTIFY_HANDLER     Handler);
  398.  
  399. ACPI_STATUS
  400. AcpiInstallAddressSpaceHandler (
  401.     ACPI_HANDLE             Device,
  402.     ACPI_ADR_SPACE_TYPE     SpaceId,
  403.     ACPI_ADR_SPACE_HANDLER  Handler,
  404.     ACPI_ADR_SPACE_SETUP    Setup,
  405.     void                    *Context);
  406.  
  407. ACPI_STATUS
  408. AcpiRemoveAddressSpaceHandler (
  409.     ACPI_HANDLE             Device,
  410.     ACPI_ADR_SPACE_TYPE     SpaceId,
  411.     ACPI_ADR_SPACE_HANDLER  Handler);
  412.  
  413. ACPI_STATUS
  414. AcpiInstallGpeHandler (
  415.     ACPI_HANDLE             GpeDevice,
  416.     UINT32                  GpeNumber,
  417.     UINT32                  Type,
  418.     ACPI_EVENT_HANDLER      Address,
  419.     void                    *Context);
  420.  
  421. ACPI_STATUS
  422. AcpiRemoveGpeHandler (
  423.     ACPI_HANDLE             GpeDevice,
  424.     UINT32                  GpeNumber,
  425.     ACPI_EVENT_HANDLER      Address);
  426.  
  427. ACPI_STATUS
  428. AcpiInstallExceptionHandler (
  429.     ACPI_EXCEPTION_HANDLER  Handler);
  430.  
  431.  
  432. /*
  433.  * Event interfaces
  434.  */
  435. ACPI_STATUS
  436. AcpiAcquireGlobalLock (
  437.     UINT16                  Timeout,
  438.     UINT32                  *Handle);
  439.  
  440. ACPI_STATUS
  441. AcpiReleaseGlobalLock (
  442.     UINT32                  Handle);
  443.  
  444. ACPI_STATUS
  445. AcpiEnableEvent (
  446.     UINT32                  Event,
  447.     UINT32                  Flags);
  448.  
  449. ACPI_STATUS
  450. AcpiDisableEvent (
  451.     UINT32                  Event,
  452.     UINT32                  Flags);
  453.  
  454. ACPI_STATUS
  455. AcpiClearEvent (
  456.     UINT32                  Event);
  457.  
  458. ACPI_STATUS
  459. AcpiGetEventStatus (
  460.     UINT32                  Event,
  461.     ACPI_EVENT_STATUS       *EventStatus);
  462.  
  463.  
  464. /*
  465.  * GPE Interfaces
  466.  */
  467. ACPI_STATUS
  468. AcpiSetGpe (
  469.     ACPI_HANDLE             GpeDevice,
  470.     UINT32                  GpeNumber,
  471.     UINT8                   Action);
  472.  
  473. ACPI_STATUS
  474. AcpiEnableGpe (
  475.     ACPI_HANDLE             GpeDevice,
  476.     UINT32                  GpeNumber,
  477.     UINT8                   GpeType);
  478.  
  479. ACPI_STATUS
  480. AcpiDisableGpe (
  481.     ACPI_HANDLE             GpeDevice,
  482.     UINT32                  GpeNumber,
  483.     UINT8                   GpeType);
  484.  
  485. ACPI_STATUS
  486. AcpiClearGpe (
  487.     ACPI_HANDLE             GpeDevice,
  488.     UINT32                  GpeNumber);
  489.  
  490. ACPI_STATUS
  491. AcpiGetGpeStatus (
  492.     ACPI_HANDLE             GpeDevice,
  493.     UINT32                  GpeNumber,
  494.     ACPI_EVENT_STATUS       *EventStatus);
  495.  
  496. ACPI_STATUS
  497. AcpiDisableAllGpes (
  498.     void);
  499.  
  500. ACPI_STATUS
  501. AcpiEnableAllRuntimeGpes (
  502.     void);
  503.  
  504. ACPI_STATUS
  505. AcpiGetGpeDevice (
  506.     UINT32                  GpeIndex,
  507.     ACPI_HANDLE             *GpeDevice);
  508.  
  509. ACPI_STATUS
  510. AcpiInstallGpeBlock (
  511.     ACPI_HANDLE             GpeDevice,
  512.     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
  513.     UINT32                  RegisterCount,
  514.     UINT32                  InterruptNumber);
  515.  
  516. ACPI_STATUS
  517. AcpiRemoveGpeBlock (
  518.     ACPI_HANDLE             GpeDevice);
  519.  
  520.  
  521. /*
  522.  * Resource interfaces
  523.  */
  524. typedef
  525. ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
  526.     ACPI_RESOURCE           *Resource,
  527.     void                    *Context);
  528.  
  529. ACPI_STATUS
  530. AcpiGetVendorResource (
  531.     ACPI_HANDLE             Device,
  532.     char                    *Name,
  533.     ACPI_VENDOR_UUID        *Uuid,
  534.     ACPI_BUFFER             *RetBuffer);
  535.  
  536. ACPI_STATUS
  537. AcpiGetCurrentResources (
  538.     ACPI_HANDLE             Device,
  539.     ACPI_BUFFER             *RetBuffer);
  540.  
  541. ACPI_STATUS
  542. AcpiGetPossibleResources (
  543.     ACPI_HANDLE             Device,
  544.     ACPI_BUFFER             *RetBuffer);
  545.  
  546. ACPI_STATUS
  547. AcpiWalkResources (
  548.     ACPI_HANDLE                 Device,
  549.     char                        *Name,
  550.     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
  551.     void                        *Context);
  552.  
  553. ACPI_STATUS
  554. AcpiSetCurrentResources (
  555.     ACPI_HANDLE             Device,
  556.     ACPI_BUFFER             *InBuffer);
  557.  
  558. ACPI_STATUS
  559. AcpiGetIrqRoutingTable (
  560.     ACPI_HANDLE             Device,
  561.     ACPI_BUFFER             *RetBuffer);
  562.  
  563. ACPI_STATUS
  564. AcpiResourceToAddress64 (
  565.     ACPI_RESOURCE           *Resource,
  566.     ACPI_RESOURCE_ADDRESS64 *Out);
  567.  
  568.  
  569. /*
  570.  * Hardware (ACPI device) interfaces
  571.  */
  572. ACPI_STATUS
  573. AcpiReset (
  574.     void);
  575.  
  576. ACPI_STATUS
  577. AcpiRead (
  578.     UINT64                  *Value,
  579.     ACPI_GENERIC_ADDRESS    *Reg);
  580.  
  581. ACPI_STATUS
  582. AcpiWrite (
  583.     UINT64                  Value,
  584.     ACPI_GENERIC_ADDRESS    *Reg);
  585.  
  586. ACPI_STATUS
  587. AcpiReadBitRegister (
  588.     UINT32                  RegisterId,
  589.     UINT32                  *ReturnValue);
  590.  
  591. ACPI_STATUS
  592. AcpiWriteBitRegister (
  593.     UINT32                  RegisterId,
  594.     UINT32                  Value);
  595.  
  596. ACPI_STATUS
  597. AcpiGetSleepTypeData (
  598.     UINT8                   SleepState,
  599.     UINT8                   *Slp_TypA,
  600.     UINT8                   *Slp_TypB);
  601.  
  602. ACPI_STATUS
  603. AcpiEnterSleepStatePrep (
  604.     UINT8                   SleepState);
  605.  
  606. ACPI_STATUS
  607. AcpiEnterSleepState (
  608.     UINT8                   SleepState);
  609.  
  610. ACPI_STATUS
  611. AcpiEnterSleepStateS4bios (
  612.     void);
  613.  
  614. ACPI_STATUS
  615. AcpiLeaveSleepState (
  616.     UINT8                   SleepState)
  617.     ;
  618. ACPI_STATUS
  619. AcpiSetFirmwareWakingVector (
  620.     UINT32                  PhysicalAddress);
  621.  
  622. #if ACPI_MACHINE_WIDTH == 64
  623. ACPI_STATUS
  624. AcpiSetFirmwareWakingVector64 (
  625.     UINT64                  PhysicalAddress);
  626. #endif
  627.  
  628.  
  629. /*
  630.  * Error/Warning output
  631.  */
  632. void ACPI_INTERNAL_VAR_XFACE
  633. AcpiError (
  634.     const char              *ModuleName,
  635.     UINT32                  LineNumber,
  636.     const char              *Format,
  637.     ...) ACPI_PRINTF_LIKE(3);
  638.  
  639. void  ACPI_INTERNAL_VAR_XFACE
  640. AcpiException (
  641.     const char              *ModuleName,
  642.     UINT32                  LineNumber,
  643.     ACPI_STATUS             Status,
  644.     const char              *Format,
  645.     ...) ACPI_PRINTF_LIKE(4);
  646.  
  647. void ACPI_INTERNAL_VAR_XFACE
  648. AcpiWarning (
  649.     const char              *ModuleName,
  650.     UINT32                  LineNumber,
  651.     const char              *Format,
  652.     ...) ACPI_PRINTF_LIKE(3);
  653.  
  654. void ACPI_INTERNAL_VAR_XFACE
  655. AcpiInfo (
  656.     const char              *ModuleName,
  657.     UINT32                  LineNumber,
  658.     const char              *Format,
  659.     ...) ACPI_PRINTF_LIKE(3);
  660.  
  661.  
  662. /*
  663.  * Debug output
  664.  */
  665. #ifdef ACPI_DEBUG_OUTPUT
  666.  
  667. void ACPI_INTERNAL_VAR_XFACE
  668. AcpiDebugPrint (
  669.     UINT32                  RequestedDebugLevel,
  670.     UINT32                  LineNumber,
  671.     const char              *FunctionName,
  672.     const char              *ModuleName,
  673.     UINT32                  ComponentId,
  674.     const char              *Format,
  675.     ...) ACPI_PRINTF_LIKE(6);
  676.  
  677. void ACPI_INTERNAL_VAR_XFACE
  678. AcpiDebugPrintRaw (
  679.     UINT32                  RequestedDebugLevel,
  680.     UINT32                  LineNumber,
  681.     const char              *FunctionName,
  682.     const char              *ModuleName,
  683.     UINT32                  ComponentId,
  684.     const char              *Format,
  685.     ...) ACPI_PRINTF_LIKE(6);
  686. #endif
  687.  
  688. #endif /* __ACXFACE_H__ */
  689.