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