Home | History | Annotate | Line # | Download | only in include
acpixf.h revision 1.14
      1 /******************************************************************************
      2  *
      3  * Name: acpixf.h - External interfaces to the ACPI subsystem
      4  *
      5  *****************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2017, 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 #ifndef __ACXFACE_H__
     45 #define __ACXFACE_H__
     46 
     47 /* Current ACPICA subsystem version in YYYYMMDD format */
     48 
     49 #define ACPI_CA_VERSION                 0x20170119
     50 
     51 #include "acconfig.h"
     52 #include "actypes.h"
     53 #include "actbl.h"
     54 #include "acbuffer.h"
     55 
     56 
     57 /*****************************************************************************
     58  *
     59  * Macros used for ACPICA globals and configuration
     60  *
     61  ****************************************************************************/
     62 
     63 /*
     64  * Ensure that global variables are defined and initialized only once.
     65  *
     66  * The use of these macros allows for a single list of globals (here)
     67  * in order to simplify maintenance of the code.
     68  */
     69 #ifdef DEFINE_ACPI_GLOBALS
     70 #define ACPI_GLOBAL(type,name) \
     71     extern type name; \
     72     type name
     73 
     74 #define ACPI_INIT_GLOBAL(type,name,value) \
     75     type name=value
     76 
     77 #else
     78 #ifndef ACPI_GLOBAL
     79 #define ACPI_GLOBAL(type,name) \
     80     extern type name
     81 #endif
     82 
     83 #ifndef ACPI_INIT_GLOBAL
     84 #define ACPI_INIT_GLOBAL(type,name,value) \
     85     extern type name
     86 #endif
     87 #endif
     88 
     89 /*
     90  * These macros configure the various ACPICA interfaces. They are
     91  * useful for generating stub inline functions for features that are
     92  * configured out of the current kernel or ACPICA application.
     93  */
     94 #ifndef ACPI_EXTERNAL_RETURN_STATUS
     95 #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
     96     Prototype;
     97 #endif
     98 
     99 #ifndef ACPI_EXTERNAL_RETURN_OK
    100 #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
    101     Prototype;
    102 #endif
    103 
    104 #ifndef ACPI_EXTERNAL_RETURN_VOID
    105 #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
    106     Prototype;
    107 #endif
    108 
    109 #ifndef ACPI_EXTERNAL_RETURN_UINT32
    110 #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
    111     Prototype;
    112 #endif
    113 
    114 #ifndef ACPI_EXTERNAL_RETURN_PTR
    115 #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
    116     Prototype;
    117 #endif
    118 
    119 
    120 /*****************************************************************************
    121  *
    122  * Public globals and runtime configuration options
    123  *
    124  ****************************************************************************/
    125 
    126 /*
    127  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
    128  * interpreter strictly follows the ACPI specification. Setting to TRUE
    129  * allows the interpreter to ignore certain errors and/or bad AML constructs.
    130  *
    131  * Currently, these features are enabled by this flag:
    132  *
    133  * 1) Allow "implicit return" of last value in a control method
    134  * 2) Allow access beyond the end of an operation region
    135  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
    136  * 4) Allow ANY object type to be a source operand for the Store() operator
    137  * 5) Allow unresolved references (invalid target name) in package objects
    138  * 6) Enable warning messages for behavior that is not ACPI spec compliant
    139  */
    140 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
    141 
    142 /*
    143  * Automatically serialize all methods that create named objects? Default
    144  * is TRUE, meaning that all NonSerialized methods are scanned once at
    145  * table load time to determine those that create named objects. Methods
    146  * that create named objects are marked Serialized in order to prevent
    147  * possible run-time problems if they are entered by more than one thread.
    148  */
    149 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
    150 
    151 /*
    152  * Create the predefined _OSI method in the namespace? Default is TRUE
    153  * because ACPICA is fully compatible with other ACPI implementations.
    154  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
    155  */
    156 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
    157 
    158 /*
    159  * Optionally use default values for the ACPI register widths. Set this to
    160  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
    161  */
    162 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
    163 
    164 /*
    165  * Whether or not to verify the table checksum before installation. Set
    166  * this to TRUE to verify the table checksum before install it to the table
    167  * manager. Note that enabling this option causes errors to happen in some
    168  * OSPMs during early initialization stages. Default behavior is to do such
    169  * verification.
    170  */
    171 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_VerifyTableChecksum, TRUE);
    172 
    173 /*
    174  * Optionally enable output from the AML Debug Object.
    175  */
    176 ACPI_INIT_GLOBAL (_Bool,            AcpiGbl_EnableAmlDebugObject, FALSE);
    177 
    178 /*
    179  * Optionally copy the entire DSDT to local memory (instead of simply
    180  * mapping it.) There are some BIOSs that corrupt or replace the original
    181  * DSDT, creating the need for this option. Default is FALSE, do not copy
    182  * the DSDT.
    183  */
    184 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
    185 
    186 /*
    187  * Optionally ignore an XSDT if present and use the RSDT instead.
    188  * Although the ACPI specification requires that an XSDT be used instead
    189  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
    190  * some machines. Default behavior is to use the XSDT if present.
    191  */
    192 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
    193 
    194 /*
    195  * Optionally support group module level code.
    196  */
    197 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_GroupModuleLevelCode, FALSE);
    198 
    199 /*
    200  * Optionally support module level code by parsing the entire table as
    201  * a TermList. Default is FALSE, do not execute entire table until some
    202  * lock order issues are fixed.
    203  */
    204 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_ParseTableAsTermList, FALSE);
    205 
    206 /*
    207  * Optionally use 32-bit FADT addresses if and when there is a conflict
    208  * (address mismatch) between the 32-bit and 64-bit versions of the
    209  * address. Although ACPICA adheres to the ACPI specification which
    210  * requires the use of the corresponding 64-bit address if it is non-zero,
    211  * some machines have been found to have a corrupted non-zero 64-bit
    212  * address. Default is FALSE, do not favor the 32-bit addresses.
    213  */
    214 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
    215 
    216 /*
    217  * Optionally use 32-bit FACS table addresses.
    218  * It is reported that some platforms fail to resume from system suspending
    219  * if 64-bit FACS table address is selected:
    220  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
    221  * Default is TRUE, favor the 32-bit addresses.
    222  */
    223 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
    224 
    225 /*
    226  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
    227  * with other ACPI implementations. NOTE: During ACPICA initialization,
    228  * this value is set to TRUE if any Windows OSI strings have been
    229  * requested by the BIOS.
    230  */
    231 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
    232 
    233 /*
    234  * Disable runtime checking and repair of values returned by control methods.
    235  * Use only if the repair is causing a problem on a particular machine.
    236  */
    237 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
    238 
    239 /*
    240  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
    241  * This can be useful for debugging ACPI problems on some machines.
    242  */
    243 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
    244 
    245 /*
    246  * Optionally enable runtime namespace override.
    247  */
    248 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
    249 
    250 /*
    251  * We keep track of the latest version of Windows that has been requested by
    252  * the BIOS. ACPI 5.0.
    253  */
    254 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
    255 
    256 /*
    257  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
    258  * that the ACPI hardware is no longer required. A flag in the FADT indicates
    259  * a reduced HW machine, and that flag is duplicated here for convenience.
    260  */
    261 ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
    262 
    263 /*
    264  * Maximum number of While() loop iterations before forced method abort.
    265  * This mechanism is intended to prevent infinite loops during interpreter
    266  * execution within a host kernel.
    267  */
    268 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_COUNT);
    269 
    270 /*
    271  * This mechanism is used to trace a specified AML method. The method is
    272  * traced each time it is executed.
    273  */
    274 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
    275 ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
    276 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
    277 ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
    278 
    279 /*
    280  * Runtime configuration of debug output control masks. We want the debug
    281  * switches statically initialized so they are already set when the debugger
    282  * is entered.
    283  */
    284 #ifdef ACPI_DEBUG_OUTPUT
    285 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
    286 #else
    287 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
    288 #endif
    289 ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
    290 
    291 /* Optionally enable timer output with Debug Object output */
    292 
    293 ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
    294 
    295 /*
    296  * Debugger command handshake globals. Host OSes need to access these
    297  * variables to implement their own command handshake mechanism.
    298  */
    299 #ifdef ACPI_DEBUGGER
    300 ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_MethodExecuting, FALSE);
    301 ACPI_GLOBAL (char,                  AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
    302 #endif
    303 
    304 /*
    305  * Other miscellaneous globals
    306  */
    307 ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
    308 ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
    309 ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
    310 
    311 
    312 /*****************************************************************************
    313  *
    314  * ACPICA public interface configuration.
    315  *
    316  * Interfaces that are configured out of the ACPICA build are replaced
    317  * by inlined stubs by default.
    318  *
    319  ****************************************************************************/
    320 
    321 /*
    322  * Hardware-reduced prototypes (default: Not hardware reduced).
    323  *
    324  * All ACPICA hardware-related interfaces that use these macros will be
    325  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
    326  * is set to TRUE.
    327  *
    328  * Note: This static build option for reduced hardware is intended to
    329  * reduce ACPICA code size if desired or necessary. However, even if this
    330  * option is not specified, the runtime behavior of ACPICA is dependent
    331  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
    332  * the flag will enable similar behavior -- ACPICA will not attempt
    333  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
    334  */
    335 #if (!ACPI_REDUCED_HARDWARE)
    336 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    337     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
    338 
    339 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    340     ACPI_EXTERNAL_RETURN_OK(Prototype)
    341 
    342 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    343     ACPI_EXTERNAL_RETURN_VOID(Prototype)
    344 
    345 #else
    346 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
    347     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
    348 
    349 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
    350     static ACPI_INLINE Prototype {return(AE_OK);}
    351 
    352 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
    353     static ACPI_INLINE Prototype {return;}
    354 
    355 #endif /* !ACPI_REDUCED_HARDWARE */
    356 
    357 
    358 /*
    359  * Error message prototypes (default: error messages enabled).
    360  *
    361  * All interfaces related to error and warning messages
    362  * will be configured out of the ACPICA build if the
    363  * ACPI_NO_ERROR_MESSAGE flag is defined.
    364  */
    365 #ifndef ACPI_NO_ERROR_MESSAGES
    366 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    367     Prototype;
    368 
    369 #else
    370 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
    371     static ACPI_INLINE Prototype {return;}
    372 
    373 #endif /* ACPI_NO_ERROR_MESSAGES */
    374 
    375 
    376 /*
    377  * Debugging output prototypes (default: no debug output).
    378  *
    379  * All interfaces related to debug output messages
    380  * will be configured out of the ACPICA build unless the
    381  * ACPI_DEBUG_OUTPUT flag is defined.
    382  */
    383 #ifdef ACPI_DEBUG_OUTPUT
    384 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    385     Prototype;
    386 
    387 #else
    388 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
    389     static ACPI_INLINE Prototype {return;}
    390 
    391 #endif /* ACPI_DEBUG_OUTPUT */
    392 
    393 
    394 /*
    395  * Application prototypes
    396  *
    397  * All interfaces used by application will be configured
    398  * out of the ACPICA build unless the ACPI_APPLICATION
    399  * flag is defined.
    400  */
    401 #ifdef ACPI_APPLICATION
    402 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    403     Prototype;
    404 
    405 #else
    406 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
    407     static ACPI_INLINE Prototype {return;}
    408 
    409 #endif /* ACPI_APPLICATION */
    410 
    411 
    412 /*
    413  * Debugger prototypes
    414  *
    415  * All interfaces used by debugger will be configured
    416  * out of the ACPICA build unless the ACPI_DEBUGGER
    417  * flag is defined.
    418  */
    419 #ifdef ACPI_DEBUGGER
    420 #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
    421     ACPI_EXTERNAL_RETURN_OK(Prototype)
    422 
    423 #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
    424     ACPI_EXTERNAL_RETURN_VOID(Prototype)
    425 
    426 #else
    427 #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
    428     static ACPI_INLINE Prototype {return(AE_OK);}
    429 
    430 #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
    431     static ACPI_INLINE Prototype {return;}
    432 
    433 #endif /* ACPI_DEBUGGER */
    434 
    435 
    436 /*****************************************************************************
    437  *
    438  * ACPICA public interface prototypes
    439  *
    440  ****************************************************************************/
    441 
    442 /*
    443  * Initialization
    444  */
    445 ACPI_EXTERNAL_RETURN_STATUS (
    446 ACPI_STATUS ACPI_INIT_FUNCTION
    447 AcpiInitializeTables (
    448     ACPI_TABLE_DESC         *InitialStorage,
    449     UINT32                  InitialTableCount,
    450     BOOLEAN                 AllowResize))
    451 
    452 ACPI_EXTERNAL_RETURN_STATUS (
    453 ACPI_STATUS ACPI_INIT_FUNCTION
    454 AcpiInitializeSubsystem (
    455     void))
    456 
    457 ACPI_EXTERNAL_RETURN_STATUS (
    458 ACPI_STATUS ACPI_INIT_FUNCTION
    459 AcpiEnableSubsystem (
    460     UINT32                  Flags))
    461 
    462 ACPI_EXTERNAL_RETURN_STATUS (
    463 ACPI_STATUS ACPI_INIT_FUNCTION
    464 AcpiInitializeObjects (
    465     UINT32                  Flags))
    466 
    467 ACPI_EXTERNAL_RETURN_STATUS (
    468 ACPI_STATUS ACPI_INIT_FUNCTION
    469 AcpiTerminate (
    470     void))
    471 
    472 
    473 /*
    474  * Miscellaneous global interfaces
    475  */
    476 ACPI_HW_DEPENDENT_RETURN_STATUS (
    477 ACPI_STATUS
    478 AcpiEnable (
    479     void))
    480 
    481 ACPI_HW_DEPENDENT_RETURN_STATUS (
    482 ACPI_STATUS
    483 AcpiDisable (
    484     void))
    485 
    486 ACPI_EXTERNAL_RETURN_STATUS (
    487 ACPI_STATUS
    488 AcpiSubsystemStatus (
    489     void))
    490 
    491 ACPI_EXTERNAL_RETURN_STATUS (
    492 ACPI_STATUS
    493 AcpiGetSystemInfo (
    494     ACPI_BUFFER             *RetBuffer))
    495 
    496 ACPI_EXTERNAL_RETURN_STATUS (
    497 ACPI_STATUS
    498 AcpiGetStatistics (
    499     ACPI_STATISTICS         *Stats))
    500 
    501 ACPI_EXTERNAL_RETURN_PTR (
    502 const char *
    503 AcpiFormatException (
    504     ACPI_STATUS             Exception))
    505 
    506 ACPI_EXTERNAL_RETURN_STATUS (
    507 ACPI_STATUS
    508 AcpiPurgeCachedObjects (
    509     void))
    510 
    511 ACPI_EXTERNAL_RETURN_STATUS (
    512 ACPI_STATUS
    513 AcpiInstallInterface (
    514     ACPI_STRING             InterfaceName))
    515 
    516 ACPI_EXTERNAL_RETURN_STATUS (
    517 ACPI_STATUS
    518 AcpiRemoveInterface (
    519     ACPI_STRING             InterfaceName))
    520 
    521 ACPI_EXTERNAL_RETURN_STATUS (
    522 ACPI_STATUS
    523 AcpiUpdateInterfaces (
    524     UINT8                   Action))
    525 
    526 ACPI_EXTERNAL_RETURN_UINT32 (
    527 UINT32
    528 AcpiCheckAddressRange (
    529     ACPI_ADR_SPACE_TYPE     SpaceId,
    530     ACPI_PHYSICAL_ADDRESS   Address,
    531     ACPI_SIZE               Length,
    532     BOOLEAN                 Warn))
    533 
    534 ACPI_EXTERNAL_RETURN_STATUS (
    535 ACPI_STATUS
    536 AcpiDecodePldBuffer (
    537     UINT8                   *InBuffer,
    538     ACPI_SIZE               Length,
    539     ACPI_PLD_INFO           **ReturnBuffer))
    540 
    541 
    542 /*
    543  * ACPI table load/unload interfaces
    544  */
    545 ACPI_EXTERNAL_RETURN_STATUS (
    546 ACPI_STATUS ACPI_INIT_FUNCTION
    547 AcpiInstallTable (
    548     ACPI_PHYSICAL_ADDRESS   Address,
    549     BOOLEAN                 Physical))
    550 
    551 ACPI_EXTERNAL_RETURN_STATUS (
    552 ACPI_STATUS
    553 AcpiLoadTable (
    554     ACPI_TABLE_HEADER       *Table))
    555 
    556 ACPI_EXTERNAL_RETURN_STATUS (
    557 ACPI_STATUS
    558 AcpiUnloadParentTable (
    559     ACPI_HANDLE             Object))
    560 
    561 ACPI_EXTERNAL_RETURN_STATUS (
    562 ACPI_STATUS ACPI_INIT_FUNCTION
    563 AcpiLoadTables (
    564     void))
    565 
    566 
    567 /*
    568  * ACPI table manipulation interfaces
    569  */
    570 ACPI_EXTERNAL_RETURN_STATUS (
    571 ACPI_STATUS ACPI_INIT_FUNCTION
    572 AcpiReallocateRootTable (
    573     void))
    574 
    575 ACPI_EXTERNAL_RETURN_STATUS (
    576 ACPI_STATUS ACPI_INIT_FUNCTION
    577 AcpiFindRootPointer (
    578     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
    579 
    580 ACPI_EXTERNAL_RETURN_STATUS (
    581 ACPI_STATUS
    582 AcpiGetTableHeader (
    583     ACPI_CONST_STRING       Signature,
    584     UINT32                  Instance,
    585     ACPI_TABLE_HEADER       *OutTableHeader))
    586 
    587 ACPI_EXTERNAL_RETURN_STATUS (
    588 ACPI_STATUS
    589 AcpiGetTable (
    590     ACPI_CONST_STRING       Signature,
    591     UINT32                  Instance,
    592     ACPI_TABLE_HEADER       **OutTable))
    593 
    594 ACPI_EXTERNAL_RETURN_VOID (
    595 void
    596 AcpiPutTable (
    597     ACPI_TABLE_HEADER       *Table))
    598 
    599 ACPI_EXTERNAL_RETURN_STATUS (
    600 ACPI_STATUS
    601 AcpiGetTableByIndex (
    602     UINT32                  TableIndex,
    603     ACPI_TABLE_HEADER       **OutTable))
    604 
    605 ACPI_EXTERNAL_RETURN_STATUS (
    606 ACPI_STATUS
    607 AcpiInstallTableHandler (
    608     ACPI_TABLE_HANDLER      Handler,
    609     void                    *Context))
    610 
    611 ACPI_EXTERNAL_RETURN_STATUS (
    612 ACPI_STATUS
    613 AcpiRemoveTableHandler (
    614     ACPI_TABLE_HANDLER      Handler))
    615 
    616 
    617 /*
    618  * Namespace and name interfaces
    619  */
    620 ACPI_EXTERNAL_RETURN_STATUS (
    621 ACPI_STATUS
    622 AcpiWalkNamespace (
    623     ACPI_OBJECT_TYPE        Type,
    624     ACPI_HANDLE             StartObject,
    625     UINT32                  MaxDepth,
    626     ACPI_WALK_CALLBACK      DescendingCallback,
    627     ACPI_WALK_CALLBACK      AscendingCallback,
    628     void                    *Context,
    629     void                    **ReturnValue))
    630 
    631 ACPI_EXTERNAL_RETURN_STATUS (
    632 ACPI_STATUS
    633 AcpiGetDevices (
    634     char                    *HID,
    635     ACPI_WALK_CALLBACK      UserFunction,
    636     void                    *Context,
    637     void                    **ReturnValue))
    638 
    639 ACPI_EXTERNAL_RETURN_STATUS (
    640 ACPI_STATUS
    641 AcpiGetName (
    642     ACPI_HANDLE             Object,
    643     UINT32                  NameType,
    644     ACPI_BUFFER             *RetPathPtr))
    645 
    646 ACPI_EXTERNAL_RETURN_STATUS (
    647 ACPI_STATUS
    648 AcpiGetHandle (
    649     ACPI_HANDLE             Parent,
    650     ACPI_CONST_STRING       Pathname,
    651     ACPI_HANDLE             *RetHandle))
    652 
    653 ACPI_EXTERNAL_RETURN_STATUS (
    654 ACPI_STATUS
    655 AcpiAttachData (
    656     ACPI_HANDLE             Object,
    657     ACPI_OBJECT_HANDLER     Handler,
    658     void                    *Data))
    659 
    660 ACPI_EXTERNAL_RETURN_STATUS (
    661 ACPI_STATUS
    662 AcpiDetachData (
    663     ACPI_HANDLE             Object,
    664     ACPI_OBJECT_HANDLER     Handler))
    665 
    666 ACPI_EXTERNAL_RETURN_STATUS (
    667 ACPI_STATUS
    668 AcpiGetData (
    669     ACPI_HANDLE             Object,
    670     ACPI_OBJECT_HANDLER     Handler,
    671     void                    **Data))
    672 
    673 ACPI_EXTERNAL_RETURN_STATUS (
    674 ACPI_STATUS
    675 AcpiDebugTrace (
    676     const char              *Name,
    677     UINT32                  DebugLevel,
    678     UINT32                  DebugLayer,
    679     UINT32                  Flags))
    680 
    681 
    682 /*
    683  * Object manipulation and enumeration
    684  */
    685 ACPI_EXTERNAL_RETURN_STATUS (
    686 ACPI_STATUS
    687 AcpiEvaluateObject (
    688     ACPI_HANDLE             Object,
    689     ACPI_CONST_STRING       Pathname,
    690     ACPI_OBJECT_LIST        *ParameterObjects,
    691     ACPI_BUFFER             *ReturnObjectBuffer))
    692 
    693 ACPI_EXTERNAL_RETURN_STATUS (
    694 ACPI_STATUS
    695 AcpiEvaluateObjectTyped (
    696     ACPI_HANDLE             Object,
    697     ACPI_CONST_STRING       Pathname,
    698     ACPI_OBJECT_LIST        *ExternalParams,
    699     ACPI_BUFFER             *ReturnBuffer,
    700     ACPI_OBJECT_TYPE        ReturnType))
    701 
    702 ACPI_EXTERNAL_RETURN_STATUS (
    703 ACPI_STATUS
    704 AcpiGetObjectInfo (
    705     ACPI_HANDLE             Object,
    706     ACPI_DEVICE_INFO        **ReturnBuffer))
    707 
    708 ACPI_EXTERNAL_RETURN_STATUS (
    709 ACPI_STATUS
    710 AcpiInstallMethod (
    711     UINT8                   *Buffer))
    712 
    713 ACPI_EXTERNAL_RETURN_STATUS (
    714 ACPI_STATUS
    715 AcpiGetNextObject (
    716     ACPI_OBJECT_TYPE        Type,
    717     ACPI_HANDLE             Parent,
    718     ACPI_HANDLE             Child,
    719     ACPI_HANDLE             *OutHandle))
    720 
    721 ACPI_EXTERNAL_RETURN_STATUS (
    722 ACPI_STATUS
    723 AcpiGetType (
    724     ACPI_HANDLE             Object,
    725     ACPI_OBJECT_TYPE        *OutType))
    726 
    727 ACPI_EXTERNAL_RETURN_STATUS (
    728 ACPI_STATUS
    729 AcpiGetParent (
    730     ACPI_HANDLE             Object,
    731     ACPI_HANDLE             *OutHandle))
    732 
    733 
    734 /*
    735  * Handler interfaces
    736  */
    737 ACPI_EXTERNAL_RETURN_STATUS (
    738 ACPI_STATUS
    739 AcpiInstallInitializationHandler (
    740     ACPI_INIT_HANDLER       Handler,
    741     UINT32                  Function))
    742 
    743 ACPI_HW_DEPENDENT_RETURN_STATUS (
    744 ACPI_STATUS
    745 AcpiInstallSciHandler (
    746     ACPI_SCI_HANDLER        Address,
    747     void                    *Context))
    748 
    749 ACPI_HW_DEPENDENT_RETURN_STATUS (
    750 ACPI_STATUS
    751 AcpiRemoveSciHandler (
    752     ACPI_SCI_HANDLER        Address))
    753 
    754 ACPI_HW_DEPENDENT_RETURN_STATUS (
    755 ACPI_STATUS
    756 AcpiInstallGlobalEventHandler (
    757     ACPI_GBL_EVENT_HANDLER  Handler,
    758     void                    *Context))
    759 
    760 ACPI_HW_DEPENDENT_RETURN_STATUS (
    761 ACPI_STATUS
    762 AcpiInstallFixedEventHandler (
    763     UINT32                  AcpiEvent,
    764     ACPI_EVENT_HANDLER      Handler,
    765     void                    *Context))
    766 
    767 ACPI_HW_DEPENDENT_RETURN_STATUS (
    768 ACPI_STATUS
    769 AcpiRemoveFixedEventHandler (
    770     UINT32                  AcpiEvent,
    771     ACPI_EVENT_HANDLER      Handler))
    772 
    773 ACPI_HW_DEPENDENT_RETURN_STATUS (
    774 ACPI_STATUS
    775 AcpiInstallGpeHandler (
    776     ACPI_HANDLE             GpeDevice,
    777     UINT32                  GpeNumber,
    778     UINT32                  Type,
    779     ACPI_GPE_HANDLER        Address,
    780     void                    *Context))
    781 
    782 ACPI_HW_DEPENDENT_RETURN_STATUS (
    783 ACPI_STATUS
    784 AcpiInstallGpeRawHandler (
    785     ACPI_HANDLE             GpeDevice,
    786     UINT32                  GpeNumber,
    787     UINT32                  Type,
    788     ACPI_GPE_HANDLER        Address,
    789     void                    *Context))
    790 
    791 ACPI_HW_DEPENDENT_RETURN_STATUS (
    792 ACPI_STATUS
    793 AcpiRemoveGpeHandler (
    794     ACPI_HANDLE             GpeDevice,
    795     UINT32                  GpeNumber,
    796     ACPI_GPE_HANDLER        Address))
    797 
    798 ACPI_EXTERNAL_RETURN_STATUS (
    799 ACPI_STATUS
    800 AcpiInstallNotifyHandler (
    801     ACPI_HANDLE             Device,
    802     UINT32                  HandlerType,
    803     ACPI_NOTIFY_HANDLER     Handler,
    804     void                    *Context))
    805 
    806 ACPI_EXTERNAL_RETURN_STATUS (
    807 ACPI_STATUS
    808 AcpiRemoveNotifyHandler (
    809     ACPI_HANDLE             Device,
    810     UINT32                  HandlerType,
    811     ACPI_NOTIFY_HANDLER     Handler))
    812 
    813 ACPI_EXTERNAL_RETURN_STATUS (
    814 ACPI_STATUS
    815 AcpiInstallAddressSpaceHandler (
    816     ACPI_HANDLE             Device,
    817     ACPI_ADR_SPACE_TYPE     SpaceId,
    818     ACPI_ADR_SPACE_HANDLER  Handler,
    819     ACPI_ADR_SPACE_SETUP    Setup,
    820     void                    *Context))
    821 
    822 ACPI_EXTERNAL_RETURN_STATUS (
    823 ACPI_STATUS
    824 AcpiRemoveAddressSpaceHandler (
    825     ACPI_HANDLE             Device,
    826     ACPI_ADR_SPACE_TYPE     SpaceId,
    827     ACPI_ADR_SPACE_HANDLER  Handler))
    828 
    829 ACPI_EXTERNAL_RETURN_STATUS (
    830 ACPI_STATUS
    831 AcpiInstallExceptionHandler (
    832     ACPI_EXCEPTION_HANDLER  Handler))
    833 
    834 ACPI_EXTERNAL_RETURN_STATUS (
    835 ACPI_STATUS
    836 AcpiInstallInterfaceHandler (
    837     ACPI_INTERFACE_HANDLER  Handler))
    838 
    839 
    840 /*
    841  * Global Lock interfaces
    842  */
    843 ACPI_HW_DEPENDENT_RETURN_STATUS (
    844 ACPI_STATUS
    845 AcpiAcquireGlobalLock (
    846     UINT16                  Timeout,
    847     UINT32                  *Handle))
    848 
    849 ACPI_HW_DEPENDENT_RETURN_STATUS (
    850 ACPI_STATUS
    851 AcpiReleaseGlobalLock (
    852     UINT32                  Handle))
    853 
    854 
    855 /*
    856  * Interfaces to AML mutex objects
    857  */
    858 ACPI_EXTERNAL_RETURN_STATUS (
    859 ACPI_STATUS
    860 AcpiAcquireMutex (
    861     ACPI_HANDLE             Handle,
    862     ACPI_STRING             Pathname,
    863     UINT16                  Timeout))
    864 
    865 ACPI_EXTERNAL_RETURN_STATUS (
    866 ACPI_STATUS
    867 AcpiReleaseMutex (
    868     ACPI_HANDLE             Handle,
    869     ACPI_STRING             Pathname))
    870 
    871 
    872 /*
    873  * Fixed Event interfaces
    874  */
    875 ACPI_HW_DEPENDENT_RETURN_STATUS (
    876 ACPI_STATUS
    877 AcpiEnableEvent (
    878     UINT32                  Event,
    879     UINT32                  Flags))
    880 
    881 ACPI_HW_DEPENDENT_RETURN_STATUS (
    882 ACPI_STATUS
    883 AcpiDisableEvent (
    884     UINT32                  Event,
    885     UINT32                  Flags))
    886 
    887 ACPI_HW_DEPENDENT_RETURN_STATUS (
    888 ACPI_STATUS
    889 AcpiClearEvent (
    890     UINT32                  Event))
    891 
    892 ACPI_HW_DEPENDENT_RETURN_STATUS (
    893 ACPI_STATUS
    894 AcpiGetEventStatus (
    895     UINT32                  Event,
    896     ACPI_EVENT_STATUS       *EventStatus))
    897 
    898 
    899 /*
    900  * General Purpose Event (GPE) Interfaces
    901  */
    902 ACPI_HW_DEPENDENT_RETURN_STATUS (
    903 ACPI_STATUS
    904 AcpiUpdateAllGpes (
    905     void))
    906 
    907 ACPI_HW_DEPENDENT_RETURN_STATUS (
    908 ACPI_STATUS
    909 AcpiEnableGpe (
    910     ACPI_HANDLE             GpeDevice,
    911     UINT32                  GpeNumber))
    912 
    913 ACPI_HW_DEPENDENT_RETURN_STATUS (
    914 ACPI_STATUS
    915 AcpiDisableGpe (
    916     ACPI_HANDLE             GpeDevice,
    917     UINT32                  GpeNumber))
    918 
    919 ACPI_HW_DEPENDENT_RETURN_STATUS (
    920 ACPI_STATUS
    921 AcpiClearGpe (
    922     ACPI_HANDLE             GpeDevice,
    923     UINT32                  GpeNumber))
    924 
    925 ACPI_HW_DEPENDENT_RETURN_STATUS (
    926 ACPI_STATUS
    927 AcpiSetGpe (
    928     ACPI_HANDLE             GpeDevice,
    929     UINT32                  GpeNumber,
    930     UINT8                   Action))
    931 
    932 ACPI_HW_DEPENDENT_RETURN_STATUS (
    933 ACPI_STATUS
    934 AcpiFinishGpe (
    935     ACPI_HANDLE             GpeDevice,
    936     UINT32                  GpeNumber))
    937 
    938 ACPI_HW_DEPENDENT_RETURN_STATUS (
    939 ACPI_STATUS
    940 AcpiMaskGpe (
    941     ACPI_HANDLE             GpeDevice,
    942     UINT32                  GpeNumber,
    943     BOOLEAN                 IsMasked))
    944 
    945 ACPI_HW_DEPENDENT_RETURN_STATUS (
    946 ACPI_STATUS
    947 AcpiMarkGpeForWake (
    948     ACPI_HANDLE             GpeDevice,
    949     UINT32                  GpeNumber))
    950 
    951 ACPI_HW_DEPENDENT_RETURN_STATUS (
    952 ACPI_STATUS
    953 AcpiSetupGpeForWake (
    954     ACPI_HANDLE             ParentDevice,
    955     ACPI_HANDLE             GpeDevice,
    956     UINT32                  GpeNumber))
    957 
    958 ACPI_HW_DEPENDENT_RETURN_STATUS (
    959 ACPI_STATUS
    960 AcpiSetGpeWakeMask (
    961     ACPI_HANDLE             GpeDevice,
    962     UINT32                  GpeNumber,
    963     UINT8                   Action))
    964 
    965 ACPI_HW_DEPENDENT_RETURN_STATUS (
    966 ACPI_STATUS
    967 AcpiGetGpeStatus (
    968     ACPI_HANDLE             GpeDevice,
    969     UINT32                  GpeNumber,
    970     ACPI_EVENT_STATUS       *EventStatus))
    971 
    972 ACPI_HW_DEPENDENT_RETURN_STATUS (
    973 ACPI_STATUS
    974 AcpiDisableAllGpes (
    975     void))
    976 
    977 ACPI_HW_DEPENDENT_RETURN_STATUS (
    978 ACPI_STATUS
    979 AcpiEnableAllRuntimeGpes (
    980     void))
    981 
    982 ACPI_HW_DEPENDENT_RETURN_STATUS (
    983 ACPI_STATUS
    984 AcpiEnableAllWakeupGpes (
    985     void))
    986 
    987 ACPI_HW_DEPENDENT_RETURN_STATUS (
    988 ACPI_STATUS
    989 AcpiGetGpeDevice (
    990     UINT32                  GpeIndex,
    991     ACPI_HANDLE             *GpeDevice))
    992 
    993 ACPI_HW_DEPENDENT_RETURN_STATUS (
    994 ACPI_STATUS
    995 AcpiInstallGpeBlock (
    996     ACPI_HANDLE             GpeDevice,
    997     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
    998     UINT32                  RegisterCount,
    999     UINT32                  InterruptNumber))
   1000 
   1001 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1002 ACPI_STATUS
   1003 AcpiRemoveGpeBlock (
   1004     ACPI_HANDLE             GpeDevice))
   1005 
   1006 
   1007 /*
   1008  * Resource interfaces
   1009  */
   1010 typedef
   1011 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
   1012     ACPI_RESOURCE           *Resource,
   1013     void                    *Context);
   1014 
   1015 ACPI_EXTERNAL_RETURN_STATUS (
   1016 ACPI_STATUS
   1017 AcpiGetVendorResource (
   1018     ACPI_HANDLE             Device,
   1019     char                    *Name,
   1020     ACPI_VENDOR_UUID        *Uuid,
   1021     ACPI_BUFFER             *RetBuffer))
   1022 
   1023 ACPI_EXTERNAL_RETURN_STATUS (
   1024 ACPI_STATUS
   1025 AcpiGetCurrentResources (
   1026     ACPI_HANDLE             Device,
   1027     ACPI_BUFFER             *RetBuffer))
   1028 
   1029 ACPI_EXTERNAL_RETURN_STATUS (
   1030 ACPI_STATUS
   1031 AcpiGetPossibleResources (
   1032     ACPI_HANDLE             Device,
   1033     ACPI_BUFFER             *RetBuffer))
   1034 
   1035 ACPI_EXTERNAL_RETURN_STATUS (
   1036 ACPI_STATUS
   1037 AcpiGetEventResources (
   1038     ACPI_HANDLE             DeviceHandle,
   1039     ACPI_BUFFER             *RetBuffer))
   1040 
   1041 ACPI_EXTERNAL_RETURN_STATUS (
   1042 ACPI_STATUS
   1043 AcpiWalkResourceBuffer (
   1044     ACPI_BUFFER                 *Buffer,
   1045     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
   1046     void                        *Context))
   1047 
   1048 ACPI_EXTERNAL_RETURN_STATUS (
   1049 ACPI_STATUS
   1050 AcpiWalkResources (
   1051     ACPI_HANDLE                 Device,
   1052     const char                  *Name,
   1053     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
   1054     void                        *Context))
   1055 
   1056 ACPI_EXTERNAL_RETURN_STATUS (
   1057 ACPI_STATUS
   1058 AcpiSetCurrentResources (
   1059     ACPI_HANDLE             Device,
   1060     ACPI_BUFFER             *InBuffer))
   1061 
   1062 ACPI_EXTERNAL_RETURN_STATUS (
   1063 ACPI_STATUS
   1064 AcpiGetIrqRoutingTable (
   1065     ACPI_HANDLE             Device,
   1066     ACPI_BUFFER             *RetBuffer))
   1067 
   1068 ACPI_EXTERNAL_RETURN_STATUS (
   1069 ACPI_STATUS
   1070 AcpiResourceToAddress64 (
   1071     ACPI_RESOURCE           *Resource,
   1072     ACPI_RESOURCE_ADDRESS64 *Out))
   1073 
   1074 ACPI_EXTERNAL_RETURN_STATUS (
   1075 ACPI_STATUS
   1076 AcpiBufferToResource (
   1077     UINT8                   *AmlBuffer,
   1078     UINT16                  AmlBufferLength,
   1079     ACPI_RESOURCE           **ResourcePtr))
   1080 
   1081 
   1082 /*
   1083  * Hardware (ACPI device) interfaces
   1084  */
   1085 ACPI_EXTERNAL_RETURN_STATUS (
   1086 ACPI_STATUS
   1087 AcpiReset (
   1088     void))
   1089 
   1090 ACPI_EXTERNAL_RETURN_STATUS (
   1091 ACPI_STATUS
   1092 AcpiRead (
   1093     UINT64                  *Value,
   1094     ACPI_GENERIC_ADDRESS    *Reg))
   1095 
   1096 ACPI_EXTERNAL_RETURN_STATUS (
   1097 ACPI_STATUS
   1098 AcpiWrite (
   1099     UINT64                  Value,
   1100     ACPI_GENERIC_ADDRESS    *Reg))
   1101 
   1102 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1103 ACPI_STATUS
   1104 AcpiReadBitRegister (
   1105     UINT32                  RegisterId,
   1106     UINT32                  *ReturnValue))
   1107 
   1108 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1109 ACPI_STATUS
   1110 AcpiWriteBitRegister (
   1111     UINT32                  RegisterId,
   1112     UINT32                  Value))
   1113 
   1114 
   1115 /*
   1116  * Sleep/Wake interfaces
   1117  */
   1118 ACPI_EXTERNAL_RETURN_STATUS (
   1119 ACPI_STATUS
   1120 AcpiGetSleepTypeData (
   1121     UINT8                   SleepState,
   1122     UINT8                   *Slp_TypA,
   1123     UINT8                   *Slp_TypB))
   1124 
   1125 ACPI_EXTERNAL_RETURN_STATUS (
   1126 ACPI_STATUS
   1127 AcpiEnterSleepStatePrep (
   1128     UINT8                   SleepState))
   1129 
   1130 ACPI_EXTERNAL_RETURN_STATUS (
   1131 ACPI_STATUS
   1132 AcpiEnterSleepState (
   1133     UINT8                   SleepState))
   1134 
   1135 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1136 ACPI_STATUS
   1137 AcpiEnterSleepStateS4bios (
   1138     void))
   1139 
   1140 ACPI_EXTERNAL_RETURN_STATUS (
   1141 ACPI_STATUS
   1142 AcpiLeaveSleepStatePrep (
   1143     UINT8                   SleepState))
   1144 
   1145 ACPI_EXTERNAL_RETURN_STATUS (
   1146 ACPI_STATUS
   1147 AcpiLeaveSleepState (
   1148     UINT8                   SleepState))
   1149 
   1150 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1151 ACPI_STATUS
   1152 AcpiSetFirmwareWakingVector (
   1153     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
   1154     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
   1155 
   1156 
   1157 /*
   1158  * ACPI Timer interfaces
   1159  */
   1160 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1161 ACPI_STATUS
   1162 AcpiGetTimerResolution (
   1163     UINT32                  *Resolution))
   1164 
   1165 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1166 ACPI_STATUS
   1167 AcpiGetTimer (
   1168     UINT32                  *Ticks))
   1169 
   1170 ACPI_HW_DEPENDENT_RETURN_STATUS (
   1171 ACPI_STATUS
   1172 AcpiGetTimerDuration (
   1173     UINT32                  StartTicks,
   1174     UINT32                  EndTicks,
   1175     UINT32                  *TimeElapsed))
   1176 
   1177 
   1178 /*
   1179  * Error/Warning output
   1180  */
   1181 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1182 ACPI_PRINTF_LIKE(3)
   1183 void ACPI_INTERNAL_VAR_XFACE
   1184 AcpiError (
   1185     const char              *ModuleName,
   1186     UINT32                  LineNumber,
   1187     const char              *Format,
   1188     ...))
   1189 
   1190 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1191 ACPI_PRINTF_LIKE(4)
   1192 void  ACPI_INTERNAL_VAR_XFACE
   1193 AcpiException (
   1194     const char              *ModuleName,
   1195     UINT32                  LineNumber,
   1196     ACPI_STATUS             Status,
   1197     const char              *Format,
   1198     ...))
   1199 
   1200 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1201 ACPI_PRINTF_LIKE(3)
   1202 void ACPI_INTERNAL_VAR_XFACE
   1203 AcpiWarning (
   1204     const char              *ModuleName,
   1205     UINT32                  LineNumber,
   1206     const char              *Format,
   1207     ...))
   1208 
   1209 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1210 ACPI_PRINTF_LIKE(1)
   1211 void ACPI_INTERNAL_VAR_XFACE
   1212 AcpiInfo (
   1213     const char              *Format,
   1214     ...))
   1215 
   1216 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1217 ACPI_PRINTF_LIKE(3)
   1218 void ACPI_INTERNAL_VAR_XFACE
   1219 AcpiBiosError (
   1220     const char              *ModuleName,
   1221     UINT32                  LineNumber,
   1222     const char              *Format,
   1223     ...))
   1224 
   1225 ACPI_MSG_DEPENDENT_RETURN_VOID (
   1226 ACPI_PRINTF_LIKE(3)
   1227 void ACPI_INTERNAL_VAR_XFACE
   1228 AcpiBiosWarning (
   1229     const char              *ModuleName,
   1230     UINT32                  LineNumber,
   1231     const char              *Format,
   1232     ...))
   1233 
   1234 
   1235 /*
   1236  * Debug output
   1237  */
   1238 ACPI_DBG_DEPENDENT_RETURN_VOID (
   1239 ACPI_PRINTF_LIKE(6)
   1240 void ACPI_INTERNAL_VAR_XFACE
   1241 AcpiDebugPrint (
   1242     UINT32                  RequestedDebugLevel,
   1243     UINT32                  LineNumber,
   1244     const char              *FunctionName,
   1245     const char              *ModuleName,
   1246     UINT32                  ComponentId,
   1247     const char              *Format,
   1248     ...))
   1249 
   1250 ACPI_DBG_DEPENDENT_RETURN_VOID (
   1251 ACPI_PRINTF_LIKE(6)
   1252 void ACPI_INTERNAL_VAR_XFACE
   1253 AcpiDebugPrintRaw (
   1254     UINT32                  RequestedDebugLevel,
   1255     UINT32                  LineNumber,
   1256     const char              *FunctionName,
   1257     const char              *ModuleName,
   1258     UINT32                  ComponentId,
   1259     const char              *Format,
   1260     ...))
   1261 
   1262 ACPI_DBG_DEPENDENT_RETURN_VOID (
   1263 void
   1264 AcpiTracePoint (
   1265     ACPI_TRACE_EVENT_TYPE   Type,
   1266     BOOLEAN                 Begin,
   1267     UINT8                   *Aml,
   1268     char                    *Pathname))
   1269 
   1270 ACPI_STATUS
   1271 AcpiInitializeDebugger (
   1272     void);
   1273 
   1274 void
   1275 AcpiTerminateDebugger (
   1276     void);
   1277 
   1278 void
   1279 AcpiRunDebugger (
   1280     char                    *BatchBuffer);
   1281 
   1282 void
   1283 AcpiSetDebuggerThreadId (
   1284     ACPI_THREAD_ID          ThreadId);
   1285 
   1286 #endif /* __ACXFACE_H__ */
   1287