Home | History | Annotate | Line # | Download | only in compiler
aslcompiler.h revision 1.1.1.3.2.1
      1          1.1  jruoho /******************************************************************************
      2          1.1  jruoho  *
      3          1.1  jruoho  * Module Name: aslcompiler.h - common include file for iASL
      4          1.1  jruoho  *
      5          1.1  jruoho  *****************************************************************************/
      6          1.1  jruoho 
      7      1.1.1.2  jruoho /*
      8  1.1.1.3.2.1    yamt  * Copyright (C) 2000 - 2013, Intel Corp.
      9          1.1  jruoho  * All rights reserved.
     10          1.1  jruoho  *
     11      1.1.1.2  jruoho  * Redistribution and use in source and binary forms, with or without
     12      1.1.1.2  jruoho  * modification, are permitted provided that the following conditions
     13      1.1.1.2  jruoho  * are met:
     14      1.1.1.2  jruoho  * 1. Redistributions of source code must retain the above copyright
     15      1.1.1.2  jruoho  *    notice, this list of conditions, and the following disclaimer,
     16      1.1.1.2  jruoho  *    without modification.
     17      1.1.1.2  jruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18      1.1.1.2  jruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
     19      1.1.1.2  jruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
     20      1.1.1.2  jruoho  *    including a substantially similar Disclaimer requirement for further
     21      1.1.1.2  jruoho  *    binary redistribution.
     22      1.1.1.2  jruoho  * 3. Neither the names of the above-listed copyright holders nor the names
     23      1.1.1.2  jruoho  *    of any contributors may be used to endorse or promote products derived
     24      1.1.1.2  jruoho  *    from this software without specific prior written permission.
     25          1.1  jruoho  *
     26      1.1.1.2  jruoho  * Alternatively, this software may be distributed under the terms of the
     27      1.1.1.2  jruoho  * GNU General Public License ("GPL") version 2 as published by the Free
     28      1.1.1.2  jruoho  * Software Foundation.
     29          1.1  jruoho  *
     30      1.1.1.2  jruoho  * NO WARRANTY
     31      1.1.1.2  jruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32      1.1.1.2  jruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33      1.1.1.2  jruoho  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34      1.1.1.2  jruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35      1.1.1.2  jruoho  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36      1.1.1.2  jruoho  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37      1.1.1.2  jruoho  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38      1.1.1.2  jruoho  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39      1.1.1.2  jruoho  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40      1.1.1.2  jruoho  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41      1.1.1.2  jruoho  * POSSIBILITY OF SUCH DAMAGES.
     42      1.1.1.2  jruoho  */
     43          1.1  jruoho 
     44          1.1  jruoho 
     45          1.1  jruoho #ifndef __ASLCOMPILER_H
     46          1.1  jruoho #define __ASLCOMPILER_H
     47          1.1  jruoho 
     48      1.1.1.2  jruoho #include "acpi.h"
     49      1.1.1.2  jruoho #include "accommon.h"
     50      1.1.1.2  jruoho #include "amlresrc.h"
     51      1.1.1.2  jruoho #include "acdebug.h"
     52          1.1  jruoho 
     53          1.1  jruoho /* Microsoft-specific */
     54          1.1  jruoho 
     55          1.1  jruoho #if (defined WIN32 || defined WIN64)
     56          1.1  jruoho 
     57          1.1  jruoho /* warn : used #pragma pack */
     58          1.1  jruoho #pragma warning(disable:4103)
     59          1.1  jruoho 
     60          1.1  jruoho /* warn : named type definition in parentheses */
     61          1.1  jruoho #pragma warning(disable:4115)
     62          1.1  jruoho #endif
     63          1.1  jruoho 
     64          1.1  jruoho #include <stdio.h>
     65          1.1  jruoho #include <stdlib.h>
     66          1.1  jruoho #include <stdarg.h>
     67          1.1  jruoho #include <string.h>
     68          1.1  jruoho #include <errno.h>
     69          1.1  jruoho #include <ctype.h>
     70          1.1  jruoho 
     71          1.1  jruoho /* Compiler headers */
     72          1.1  jruoho 
     73          1.1  jruoho #include "asldefine.h"
     74          1.1  jruoho #include "asltypes.h"
     75      1.1.1.2  jruoho #include "aslmessages.h"
     76          1.1  jruoho #include "aslglobal.h"
     77  1.1.1.3.2.1    yamt #include "preprocess.h"
     78          1.1  jruoho 
     79          1.1  jruoho 
     80          1.1  jruoho /*******************************************************************************
     81          1.1  jruoho  *
     82          1.1  jruoho  * Compiler prototypes
     83          1.1  jruoho  *
     84          1.1  jruoho  ******************************************************************************/
     85          1.1  jruoho 
     86          1.1  jruoho /*
     87  1.1.1.3.2.1    yamt  * Main ASL parser - generated from flex/bison, lex/yacc, etc.
     88          1.1  jruoho  */
     89          1.1  jruoho ACPI_PARSE_OBJECT *
     90          1.1  jruoho AslDoError (
     91          1.1  jruoho     void);
     92          1.1  jruoho 
     93          1.1  jruoho int
     94          1.1  jruoho AslCompilerlex(
     95          1.1  jruoho     void);
     96          1.1  jruoho 
     97          1.1  jruoho void
     98  1.1.1.3.2.1    yamt AslResetCurrentLineBuffer (
     99          1.1  jruoho     void);
    100          1.1  jruoho 
    101          1.1  jruoho void
    102  1.1.1.3.2.1    yamt AslInsertLineBuffer (
    103          1.1  jruoho     int                     SourceChar);
    104          1.1  jruoho 
    105          1.1  jruoho int
    106          1.1  jruoho AslPopInputFileStack (
    107          1.1  jruoho     void);
    108          1.1  jruoho 
    109          1.1  jruoho void
    110          1.1  jruoho AslPushInputFileStack (
    111          1.1  jruoho     FILE                    *InputFile,
    112          1.1  jruoho     char                    *Filename);
    113          1.1  jruoho 
    114          1.1  jruoho /*
    115      1.1.1.2  jruoho  * aslstartup - entered from main()
    116          1.1  jruoho  */
    117      1.1.1.2  jruoho void
    118      1.1.1.2  jruoho AslInitializeGlobals (
    119      1.1.1.2  jruoho     void);
    120      1.1.1.2  jruoho 
    121      1.1.1.2  jruoho typedef
    122      1.1.1.2  jruoho ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
    123      1.1.1.2  jruoho     char *);
    124      1.1.1.2  jruoho 
    125          1.1  jruoho ACPI_STATUS
    126          1.1  jruoho AslDoOneFile (
    127          1.1  jruoho     char                    *Filename);
    128          1.1  jruoho 
    129  1.1.1.3.2.1    yamt ACPI_STATUS
    130  1.1.1.3.2.1    yamt AslCheckForErrorExit (
    131  1.1.1.3.2.1    yamt     void);
    132  1.1.1.3.2.1    yamt 
    133  1.1.1.3.2.1    yamt 
    134          1.1  jruoho /*
    135          1.1  jruoho  * aslcompile - compile mainline
    136          1.1  jruoho  */
    137          1.1  jruoho void
    138          1.1  jruoho AslCompilerSignon (
    139          1.1  jruoho     UINT32                  FileId);
    140          1.1  jruoho 
    141          1.1  jruoho void
    142          1.1  jruoho AslCompilerFileHeader (
    143          1.1  jruoho     UINT32                  FileId);
    144          1.1  jruoho 
    145          1.1  jruoho int
    146          1.1  jruoho CmDoCompile (
    147          1.1  jruoho     void);
    148          1.1  jruoho 
    149          1.1  jruoho void
    150          1.1  jruoho CmDoOutputFiles (
    151          1.1  jruoho     void);
    152          1.1  jruoho 
    153          1.1  jruoho void
    154          1.1  jruoho CmCleanupAndExit (
    155          1.1  jruoho     void);
    156          1.1  jruoho 
    157          1.1  jruoho ACPI_STATUS
    158  1.1.1.3.2.1    yamt FlCheckForAcpiTable (
    159  1.1.1.3.2.1    yamt     FILE                    *Handle);
    160  1.1.1.3.2.1    yamt 
    161  1.1.1.3.2.1    yamt ACPI_STATUS
    162          1.1  jruoho FlCheckForAscii (
    163  1.1.1.3.2.1    yamt     FILE                    *Handle,
    164  1.1.1.3.2.1    yamt     char                    *Filename,
    165  1.1.1.3.2.1    yamt     BOOLEAN                 DisplayErrors);
    166          1.1  jruoho 
    167          1.1  jruoho 
    168          1.1  jruoho /*
    169      1.1.1.2  jruoho  * aslwalks - semantic analysis and parse tree walks
    170          1.1  jruoho  */
    171          1.1  jruoho ACPI_STATUS
    172          1.1  jruoho AnOtherSemanticAnalysisWalkBegin (
    173          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    174          1.1  jruoho     UINT32                  Level,
    175          1.1  jruoho     void                    *Context);
    176          1.1  jruoho 
    177          1.1  jruoho ACPI_STATUS
    178          1.1  jruoho AnOtherSemanticAnalysisWalkEnd (
    179          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    180          1.1  jruoho     UINT32                  Level,
    181          1.1  jruoho     void                    *Context);
    182          1.1  jruoho 
    183          1.1  jruoho ACPI_STATUS
    184          1.1  jruoho AnOperandTypecheckWalkEnd (
    185          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    186          1.1  jruoho     UINT32                  Level,
    187          1.1  jruoho     void                    *Context);
    188          1.1  jruoho 
    189          1.1  jruoho ACPI_STATUS
    190  1.1.1.3.2.1    yamt AnMethodTypingWalkEnd (
    191          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    192          1.1  jruoho     UINT32                  Level,
    193          1.1  jruoho     void                    *Context);
    194          1.1  jruoho 
    195  1.1.1.3.2.1    yamt 
    196  1.1.1.3.2.1    yamt /*
    197  1.1.1.3.2.1    yamt  * aslmethod - Control method analysis walk
    198  1.1.1.3.2.1    yamt  */
    199          1.1  jruoho ACPI_STATUS
    200  1.1.1.3.2.1    yamt MtMethodAnalysisWalkBegin (
    201          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    202          1.1  jruoho     UINT32                  Level,
    203          1.1  jruoho     void                    *Context);
    204          1.1  jruoho 
    205          1.1  jruoho ACPI_STATUS
    206  1.1.1.3.2.1    yamt MtMethodAnalysisWalkEnd (
    207          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    208          1.1  jruoho     UINT32                  Level,
    209          1.1  jruoho     void                    *Context);
    210          1.1  jruoho 
    211      1.1.1.2  jruoho 
    212      1.1.1.2  jruoho /*
    213      1.1.1.2  jruoho  * aslbtypes - bitfield data types
    214      1.1.1.2  jruoho  */
    215      1.1.1.2  jruoho UINT32
    216      1.1.1.2  jruoho AnMapObjTypeToBtype (
    217      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    218      1.1.1.2  jruoho 
    219      1.1.1.2  jruoho UINT32
    220      1.1.1.2  jruoho AnMapArgTypeToBtype (
    221      1.1.1.2  jruoho     UINT32                  ArgType);
    222      1.1.1.2  jruoho 
    223      1.1.1.2  jruoho UINT32
    224      1.1.1.2  jruoho AnGetBtype (
    225      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    226      1.1.1.2  jruoho 
    227      1.1.1.2  jruoho void
    228      1.1.1.2  jruoho AnFormatBtype (
    229      1.1.1.2  jruoho     char                    *Buffer,
    230      1.1.1.2  jruoho     UINT32                  Btype);
    231      1.1.1.2  jruoho 
    232      1.1.1.2  jruoho 
    233      1.1.1.2  jruoho /*
    234      1.1.1.2  jruoho  * aslanalyze - Support functions for parse tree walks
    235      1.1.1.2  jruoho  */
    236      1.1.1.2  jruoho void
    237      1.1.1.2  jruoho AnCheckId (
    238          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    239      1.1.1.2  jruoho     ACPI_NAME               Type);
    240      1.1.1.2  jruoho 
    241      1.1.1.2  jruoho /* Values for Type argument above */
    242      1.1.1.2  jruoho 
    243      1.1.1.2  jruoho #define ASL_TYPE_HID        0
    244      1.1.1.2  jruoho #define ASL_TYPE_CID        1
    245      1.1.1.2  jruoho 
    246      1.1.1.2  jruoho BOOLEAN
    247      1.1.1.2  jruoho AnIsInternalMethod (
    248      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    249      1.1.1.2  jruoho 
    250      1.1.1.2  jruoho UINT32
    251      1.1.1.2  jruoho AnGetInternalMethodReturnType (
    252      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    253      1.1.1.2  jruoho 
    254      1.1.1.2  jruoho BOOLEAN
    255      1.1.1.2  jruoho AnLastStatementIsReturn (
    256      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    257      1.1.1.2  jruoho 
    258      1.1.1.2  jruoho void
    259      1.1.1.2  jruoho AnCheckMethodReturnValue (
    260      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op,
    261      1.1.1.2  jruoho     const ACPI_OPCODE_INFO  *OpInfo,
    262      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *ArgOp,
    263      1.1.1.2  jruoho     UINT32                  RequiredBtypes,
    264      1.1.1.2  jruoho     UINT32                  ThisNodeBtype);
    265      1.1.1.2  jruoho 
    266      1.1.1.2  jruoho BOOLEAN
    267      1.1.1.2  jruoho AnIsResultUsed (
    268      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    269      1.1.1.2  jruoho 
    270      1.1.1.2  jruoho void
    271      1.1.1.2  jruoho ApCheckForGpeNameConflict (
    272      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    273          1.1  jruoho 
    274      1.1.1.3  jruoho void
    275      1.1.1.3  jruoho ApCheckRegMethod (
    276      1.1.1.3  jruoho     ACPI_PARSE_OBJECT       *Op);
    277      1.1.1.3  jruoho 
    278          1.1  jruoho 
    279          1.1  jruoho /*
    280          1.1  jruoho  * aslerror - error handling/reporting
    281          1.1  jruoho  */
    282          1.1  jruoho void
    283          1.1  jruoho AslError (
    284          1.1  jruoho     UINT8                   Level,
    285          1.1  jruoho     UINT8                   MessageId,
    286          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    287          1.1  jruoho     char                    *ExtraMessage);
    288          1.1  jruoho 
    289  1.1.1.3.2.1    yamt ACPI_STATUS
    290  1.1.1.3.2.1    yamt AslDisableException (
    291  1.1.1.3.2.1    yamt     char                    *MessageIdString);
    292  1.1.1.3.2.1    yamt 
    293  1.1.1.3.2.1    yamt BOOLEAN
    294  1.1.1.3.2.1    yamt AslIsExceptionDisabled (
    295  1.1.1.3.2.1    yamt     UINT8                   Level,
    296  1.1.1.3.2.1    yamt     UINT8                   MessageId);
    297  1.1.1.3.2.1    yamt 
    298          1.1  jruoho void
    299          1.1  jruoho AslCoreSubsystemError (
    300          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    301          1.1  jruoho     ACPI_STATUS             Status,
    302          1.1  jruoho     char                    *ExtraMessage,
    303          1.1  jruoho     BOOLEAN                 Abort);
    304          1.1  jruoho 
    305          1.1  jruoho int
    306          1.1  jruoho AslCompilererror(
    307      1.1.1.3  jruoho     const char              *s);
    308          1.1  jruoho 
    309          1.1  jruoho void
    310          1.1  jruoho AslCommonError (
    311          1.1  jruoho     UINT8                   Level,
    312          1.1  jruoho     UINT8                   MessageId,
    313          1.1  jruoho     UINT32                  CurrentLineNumber,
    314          1.1  jruoho     UINT32                  LogicalLineNumber,
    315          1.1  jruoho     UINT32                  LogicalByteOffset,
    316          1.1  jruoho     UINT32                  Column,
    317          1.1  jruoho     char                    *Filename,
    318          1.1  jruoho     char                    *ExtraMessage);
    319          1.1  jruoho 
    320          1.1  jruoho void
    321  1.1.1.3.2.1    yamt AslCommonError2 (
    322  1.1.1.3.2.1    yamt     UINT8                   Level,
    323  1.1.1.3.2.1    yamt     UINT8                   MessageId,
    324  1.1.1.3.2.1    yamt     UINT32                  LineNumber,
    325  1.1.1.3.2.1    yamt     UINT32                  Column,
    326  1.1.1.3.2.1    yamt     char                    *SourceLine,
    327  1.1.1.3.2.1    yamt     char                    *Filename,
    328  1.1.1.3.2.1    yamt     char                    *ExtraMessage);
    329  1.1.1.3.2.1    yamt 
    330  1.1.1.3.2.1    yamt void
    331          1.1  jruoho AePrintException (
    332          1.1  jruoho     UINT32                  FileId,
    333          1.1  jruoho     ASL_ERROR_MSG           *Enode,
    334          1.1  jruoho     char                    *Header);
    335          1.1  jruoho 
    336          1.1  jruoho void
    337          1.1  jruoho AePrintErrorLog (
    338          1.1  jruoho     UINT32                  FileId);
    339          1.1  jruoho 
    340          1.1  jruoho void
    341          1.1  jruoho AeClearErrorLog (
    342          1.1  jruoho     void);
    343          1.1  jruoho 
    344          1.1  jruoho ACPI_PHYSICAL_ADDRESS
    345          1.1  jruoho AeLocalGetRootPointer (
    346          1.1  jruoho     void);
    347          1.1  jruoho 
    348          1.1  jruoho 
    349          1.1  jruoho /*
    350          1.1  jruoho  * asllisting - generate all "listing" type files
    351          1.1  jruoho  */
    352          1.1  jruoho void
    353          1.1  jruoho LsDoListings (
    354          1.1  jruoho     void);
    355          1.1  jruoho 
    356          1.1  jruoho void
    357          1.1  jruoho LsWriteNodeToAsmListing (
    358          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    359          1.1  jruoho 
    360          1.1  jruoho void
    361          1.1  jruoho LsWriteNode (
    362          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    363          1.1  jruoho     UINT32                  FileId);
    364          1.1  jruoho 
    365          1.1  jruoho void
    366  1.1.1.3.2.1    yamt LsDumpParseTree (
    367          1.1  jruoho     void);
    368          1.1  jruoho 
    369  1.1.1.3.2.1    yamt 
    370  1.1.1.3.2.1    yamt /*
    371  1.1.1.3.2.1    yamt  * asllistsup - Listing file support utilities
    372  1.1.1.3.2.1    yamt  */
    373          1.1  jruoho void
    374  1.1.1.3.2.1    yamt LsDumpAscii (
    375  1.1.1.3.2.1    yamt     UINT32                  FileId,
    376  1.1.1.3.2.1    yamt     UINT32                  Count,
    377  1.1.1.3.2.1    yamt     UINT8                   *Buffer);
    378  1.1.1.3.2.1    yamt 
    379  1.1.1.3.2.1    yamt void
    380  1.1.1.3.2.1    yamt LsDumpAsciiInComment (
    381  1.1.1.3.2.1    yamt     UINT32                  FileId,
    382  1.1.1.3.2.1    yamt     UINT32                  Count,
    383  1.1.1.3.2.1    yamt     UINT8                   *Buffer);
    384  1.1.1.3.2.1    yamt 
    385  1.1.1.3.2.1    yamt void
    386  1.1.1.3.2.1    yamt LsCheckException (
    387  1.1.1.3.2.1    yamt     UINT32                  LineNumber,
    388  1.1.1.3.2.1    yamt     UINT32                  FileId);
    389  1.1.1.3.2.1    yamt 
    390  1.1.1.3.2.1    yamt void
    391  1.1.1.3.2.1    yamt LsFlushListingBuffer (
    392  1.1.1.3.2.1    yamt     UINT32                  FileId);
    393  1.1.1.3.2.1    yamt 
    394  1.1.1.3.2.1    yamt void
    395  1.1.1.3.2.1    yamt LsWriteListingHexBytes (
    396  1.1.1.3.2.1    yamt     UINT8                   *Buffer,
    397  1.1.1.3.2.1    yamt     UINT32                  Length,
    398  1.1.1.3.2.1    yamt     UINT32                  FileId);
    399  1.1.1.3.2.1    yamt 
    400  1.1.1.3.2.1    yamt void
    401  1.1.1.3.2.1    yamt LsWriteSourceLines (
    402  1.1.1.3.2.1    yamt     UINT32                  ToLineNumber,
    403  1.1.1.3.2.1    yamt     UINT32                  ToLogicalLineNumber,
    404  1.1.1.3.2.1    yamt     UINT32                  FileId);
    405  1.1.1.3.2.1    yamt 
    406  1.1.1.3.2.1    yamt UINT32
    407  1.1.1.3.2.1    yamt LsWriteOneSourceLine (
    408  1.1.1.3.2.1    yamt     UINT32                  FileId);
    409  1.1.1.3.2.1    yamt 
    410  1.1.1.3.2.1    yamt void
    411  1.1.1.3.2.1    yamt LsPushNode (
    412  1.1.1.3.2.1    yamt     char                    *Filename);
    413  1.1.1.3.2.1    yamt 
    414  1.1.1.3.2.1    yamt ASL_LISTING_NODE *
    415  1.1.1.3.2.1    yamt LsPopNode (
    416  1.1.1.3.2.1    yamt     void);
    417  1.1.1.3.2.1    yamt 
    418  1.1.1.3.2.1    yamt 
    419  1.1.1.3.2.1    yamt /*
    420  1.1.1.3.2.1    yamt  * aslhex - generate all "hex" output files (C, ASM, ASL)
    421  1.1.1.3.2.1    yamt  */
    422  1.1.1.3.2.1    yamt void
    423  1.1.1.3.2.1    yamt HxDoHexOutput (
    424          1.1  jruoho     void);
    425          1.1  jruoho 
    426  1.1.1.3.2.1    yamt 
    427          1.1  jruoho /*
    428          1.1  jruoho  * aslfold - constant folding
    429          1.1  jruoho  */
    430          1.1  jruoho ACPI_STATUS
    431          1.1  jruoho OpcAmlConstantWalk (
    432          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    433          1.1  jruoho     UINT32                  Level,
    434          1.1  jruoho     void                    *Context);
    435          1.1  jruoho 
    436          1.1  jruoho 
    437          1.1  jruoho /*
    438  1.1.1.3.2.1    yamt  * asloffset - generate C offset file for BIOS support
    439  1.1.1.3.2.1    yamt  */
    440  1.1.1.3.2.1    yamt ACPI_STATUS
    441  1.1.1.3.2.1    yamt LsAmlOffsetWalk (
    442  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
    443  1.1.1.3.2.1    yamt     UINT32                  Level,
    444  1.1.1.3.2.1    yamt     void                    *Context);
    445  1.1.1.3.2.1    yamt 
    446  1.1.1.3.2.1    yamt void
    447  1.1.1.3.2.1    yamt LsDoOffsetTableHeader (
    448  1.1.1.3.2.1    yamt     UINT32                  FileId);
    449  1.1.1.3.2.1    yamt 
    450  1.1.1.3.2.1    yamt void
    451  1.1.1.3.2.1    yamt LsDoOffsetTableFooter (
    452  1.1.1.3.2.1    yamt     UINT32                  FileId);
    453  1.1.1.3.2.1    yamt 
    454  1.1.1.3.2.1    yamt 
    455  1.1.1.3.2.1    yamt /*
    456          1.1  jruoho  * aslopcodes - generate AML opcodes
    457          1.1  jruoho  */
    458          1.1  jruoho ACPI_STATUS
    459          1.1  jruoho OpcAmlOpcodeWalk (
    460          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    461          1.1  jruoho     UINT32                  Level,
    462          1.1  jruoho     void                    *Context);
    463          1.1  jruoho 
    464          1.1  jruoho ACPI_STATUS
    465          1.1  jruoho OpcAmlOpcodeUpdateWalk (
    466          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    467          1.1  jruoho     UINT32                  Level,
    468          1.1  jruoho     void                    *Context);
    469          1.1  jruoho 
    470          1.1  jruoho void
    471          1.1  jruoho OpcGenerateAmlOpcode (
    472          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    473          1.1  jruoho 
    474          1.1  jruoho UINT32
    475          1.1  jruoho OpcSetOptimalIntegerSize (
    476          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    477          1.1  jruoho 
    478          1.1  jruoho void
    479          1.1  jruoho OpcGetIntegerWidth (
    480          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    481          1.1  jruoho 
    482          1.1  jruoho 
    483          1.1  jruoho /*
    484          1.1  jruoho  * asloperands - generate AML operands for the AML opcodes
    485          1.1  jruoho  */
    486          1.1  jruoho ACPI_PARSE_OBJECT  *
    487          1.1  jruoho UtGetArg (
    488          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    489          1.1  jruoho     UINT32                  Argn);
    490          1.1  jruoho 
    491          1.1  jruoho void
    492          1.1  jruoho OpnGenerateAmlOperands (
    493          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    494          1.1  jruoho 
    495          1.1  jruoho void
    496          1.1  jruoho OpnDoPackage (
    497          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    498          1.1  jruoho 
    499          1.1  jruoho 
    500          1.1  jruoho /*
    501          1.1  jruoho  * aslopt - optmization
    502          1.1  jruoho  */
    503          1.1  jruoho void
    504          1.1  jruoho OptOptimizeNamePath (
    505          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    506          1.1  jruoho     UINT32                  Flags,
    507          1.1  jruoho     ACPI_WALK_STATE         *WalkState,
    508          1.1  jruoho     char                    *AmlNameString,
    509          1.1  jruoho     ACPI_NAMESPACE_NODE     *TargetNode);
    510          1.1  jruoho 
    511          1.1  jruoho 
    512          1.1  jruoho /*
    513          1.1  jruoho  * aslcodegen - code generation
    514          1.1  jruoho  */
    515          1.1  jruoho void
    516          1.1  jruoho CgGenerateAmlOutput (
    517          1.1  jruoho     void);
    518          1.1  jruoho 
    519          1.1  jruoho 
    520          1.1  jruoho /*
    521          1.1  jruoho  * aslfile
    522          1.1  jruoho  */
    523          1.1  jruoho void
    524          1.1  jruoho FlOpenFile (
    525          1.1  jruoho     UINT32                  FileId,
    526          1.1  jruoho     char                    *Filename,
    527          1.1  jruoho     char                    *Mode);
    528          1.1  jruoho 
    529          1.1  jruoho 
    530          1.1  jruoho /*
    531          1.1  jruoho  * asllength - calculate/adjust AML package lengths
    532          1.1  jruoho  */
    533          1.1  jruoho ACPI_STATUS
    534          1.1  jruoho LnPackageLengthWalk (
    535          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    536          1.1  jruoho     UINT32                  Level,
    537          1.1  jruoho     void                    *Context);
    538          1.1  jruoho 
    539          1.1  jruoho ACPI_STATUS
    540          1.1  jruoho LnInitLengthsWalk (
    541          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    542          1.1  jruoho     UINT32                  Level,
    543          1.1  jruoho     void                    *Context);
    544          1.1  jruoho 
    545          1.1  jruoho void
    546          1.1  jruoho CgGenerateAmlLengths (
    547          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    548          1.1  jruoho 
    549          1.1  jruoho 
    550          1.1  jruoho /*
    551          1.1  jruoho  * aslmap - opcode mappings and reserved method names
    552          1.1  jruoho  */
    553          1.1  jruoho ACPI_OBJECT_TYPE
    554          1.1  jruoho AslMapNamedOpcodeToDataType (
    555          1.1  jruoho     UINT16                  Opcode);
    556          1.1  jruoho 
    557          1.1  jruoho 
    558          1.1  jruoho /*
    559          1.1  jruoho  * aslpredef - ACPI predefined names support
    560          1.1  jruoho  */
    561      1.1.1.3  jruoho BOOLEAN
    562          1.1  jruoho ApCheckForPredefinedMethod (
    563          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    564          1.1  jruoho     ASL_METHOD_INFO         *MethodInfo);
    565          1.1  jruoho 
    566          1.1  jruoho void
    567          1.1  jruoho ApCheckPredefinedReturnValue (
    568          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    569          1.1  jruoho     ASL_METHOD_INFO         *MethodInfo);
    570          1.1  jruoho 
    571          1.1  jruoho UINT32
    572          1.1  jruoho ApCheckForPredefinedName (
    573          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    574          1.1  jruoho     char                    *Name);
    575          1.1  jruoho 
    576          1.1  jruoho void
    577          1.1  jruoho ApCheckForPredefinedObject (
    578          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    579          1.1  jruoho     char                    *Name);
    580          1.1  jruoho 
    581  1.1.1.3.2.1    yamt ACPI_STATUS
    582  1.1.1.3.2.1    yamt ApCheckObjectType (
    583  1.1.1.3.2.1    yamt     const char              *PredefinedName,
    584  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
    585  1.1.1.3.2.1    yamt     UINT32                  ExpectedBtypes,
    586  1.1.1.3.2.1    yamt     UINT32                  PackageIndex);
    587  1.1.1.3.2.1    yamt 
    588          1.1  jruoho void
    589          1.1  jruoho ApDisplayReservedNames (
    590          1.1  jruoho     void);
    591          1.1  jruoho 
    592          1.1  jruoho 
    593          1.1  jruoho /*
    594  1.1.1.3.2.1    yamt  * aslprepkg - ACPI predefined names support for packages
    595  1.1.1.3.2.1    yamt  */
    596  1.1.1.3.2.1    yamt void
    597  1.1.1.3.2.1    yamt ApCheckPackage (
    598  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT           *ParentOp,
    599  1.1.1.3.2.1    yamt     const ACPI_PREDEFINED_INFO  *Predefined);
    600  1.1.1.3.2.1    yamt 
    601  1.1.1.3.2.1    yamt 
    602  1.1.1.3.2.1    yamt /*
    603          1.1  jruoho  * asltransform - parse tree transformations
    604          1.1  jruoho  */
    605          1.1  jruoho ACPI_STATUS
    606          1.1  jruoho TrAmlTransformWalk (
    607          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    608          1.1  jruoho     UINT32                  Level,
    609          1.1  jruoho     void                    *Context);
    610          1.1  jruoho 
    611          1.1  jruoho 
    612          1.1  jruoho /*
    613          1.1  jruoho  * asltree - parse tree support
    614          1.1  jruoho  */
    615          1.1  jruoho ACPI_STATUS
    616          1.1  jruoho TrWalkParseTree (
    617          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    618          1.1  jruoho     UINT32                  Visitation,
    619          1.1  jruoho     ASL_WALK_CALLBACK       DescendingCallback,
    620          1.1  jruoho     ASL_WALK_CALLBACK       AscendingCallback,
    621          1.1  jruoho     void                    *Context);
    622          1.1  jruoho 
    623          1.1  jruoho /* Values for "Visitation" parameter above */
    624          1.1  jruoho 
    625          1.1  jruoho #define ASL_WALK_VISIT_DOWNWARD     0x01
    626          1.1  jruoho #define ASL_WALK_VISIT_UPWARD       0x02
    627          1.1  jruoho #define ASL_WALK_VISIT_TWICE        (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
    628          1.1  jruoho 
    629          1.1  jruoho 
    630          1.1  jruoho ACPI_PARSE_OBJECT *
    631          1.1  jruoho TrAllocateNode (
    632          1.1  jruoho     UINT32                  ParseOpcode);
    633          1.1  jruoho 
    634          1.1  jruoho void
    635          1.1  jruoho TrReleaseNode (
    636          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    637          1.1  jruoho 
    638          1.1  jruoho ACPI_PARSE_OBJECT *
    639          1.1  jruoho TrUpdateNode (
    640          1.1  jruoho     UINT32                  ParseOpcode,
    641          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    642          1.1  jruoho 
    643          1.1  jruoho ACPI_PARSE_OBJECT *
    644          1.1  jruoho TrCreateNode (
    645          1.1  jruoho     UINT32                  ParseOpcode,
    646          1.1  jruoho     UINT32                  NumChildren,
    647          1.1  jruoho     ...);
    648          1.1  jruoho 
    649          1.1  jruoho ACPI_PARSE_OBJECT *
    650          1.1  jruoho TrCreateLeafNode (
    651          1.1  jruoho     UINT32                  ParseOpcode);
    652          1.1  jruoho 
    653          1.1  jruoho ACPI_PARSE_OBJECT *
    654          1.1  jruoho TrCreateValuedLeafNode (
    655          1.1  jruoho     UINT32                  ParseOpcode,
    656          1.1  jruoho     UINT64                  Value);
    657          1.1  jruoho 
    658          1.1  jruoho ACPI_PARSE_OBJECT *
    659      1.1.1.2  jruoho TrCreateConstantLeafNode (
    660      1.1.1.2  jruoho     UINT32                  ParseOpcode);
    661      1.1.1.2  jruoho 
    662      1.1.1.2  jruoho ACPI_PARSE_OBJECT *
    663          1.1  jruoho TrLinkChildren (
    664          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    665          1.1  jruoho     UINT32                  NumChildren,
    666          1.1  jruoho     ...);
    667          1.1  jruoho 
    668          1.1  jruoho void
    669          1.1  jruoho TrSetEndLineNumber (
    670          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    671          1.1  jruoho 
    672          1.1  jruoho void
    673          1.1  jruoho TrWalkTree (
    674          1.1  jruoho     void);
    675          1.1  jruoho 
    676          1.1  jruoho ACPI_PARSE_OBJECT *
    677          1.1  jruoho TrLinkPeerNode (
    678          1.1  jruoho     ACPI_PARSE_OBJECT       *Op1,
    679          1.1  jruoho     ACPI_PARSE_OBJECT       *Op2);
    680          1.1  jruoho 
    681          1.1  jruoho ACPI_PARSE_OBJECT *
    682          1.1  jruoho TrLinkChildNode (
    683          1.1  jruoho     ACPI_PARSE_OBJECT       *Op1,
    684          1.1  jruoho     ACPI_PARSE_OBJECT       *Op2);
    685          1.1  jruoho 
    686          1.1  jruoho ACPI_PARSE_OBJECT *
    687          1.1  jruoho TrSetNodeFlags (
    688          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    689          1.1  jruoho     UINT32                  Flags);
    690          1.1  jruoho 
    691          1.1  jruoho ACPI_PARSE_OBJECT *
    692  1.1.1.3.2.1    yamt TrSetNodeAmlLength (
    693  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
    694  1.1.1.3.2.1    yamt     UINT32                  Length);
    695  1.1.1.3.2.1    yamt 
    696  1.1.1.3.2.1    yamt ACPI_PARSE_OBJECT *
    697          1.1  jruoho TrLinkPeerNodes (
    698          1.1  jruoho     UINT32                  NumPeers,
    699          1.1  jruoho     ...);
    700          1.1  jruoho 
    701          1.1  jruoho 
    702          1.1  jruoho /*
    703          1.1  jruoho  * aslfiles - File I/O support
    704          1.1  jruoho  */
    705          1.1  jruoho void
    706          1.1  jruoho AslAbort (
    707          1.1  jruoho     void);
    708          1.1  jruoho 
    709          1.1  jruoho void
    710          1.1  jruoho FlAddIncludeDirectory (
    711          1.1  jruoho     char                    *Dir);
    712          1.1  jruoho 
    713  1.1.1.3.2.1    yamt char *
    714  1.1.1.3.2.1    yamt FlMergePathnames (
    715  1.1.1.3.2.1    yamt     char                    *PrefixDir,
    716  1.1.1.3.2.1    yamt     char                    *FilePathname);
    717  1.1.1.3.2.1    yamt 
    718          1.1  jruoho void
    719          1.1  jruoho FlOpenIncludeFile (
    720          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    721          1.1  jruoho 
    722          1.1  jruoho void
    723          1.1  jruoho FlFileError (
    724          1.1  jruoho     UINT32                  FileId,
    725          1.1  jruoho     UINT8                   ErrorId);
    726          1.1  jruoho 
    727          1.1  jruoho UINT32
    728          1.1  jruoho FlGetFileSize (
    729          1.1  jruoho     UINT32                  FileId);
    730          1.1  jruoho 
    731          1.1  jruoho ACPI_STATUS
    732          1.1  jruoho FlReadFile (
    733          1.1  jruoho     UINT32                  FileId,
    734          1.1  jruoho     void                    *Buffer,
    735          1.1  jruoho     UINT32                  Length);
    736          1.1  jruoho 
    737          1.1  jruoho void
    738          1.1  jruoho FlWriteFile (
    739          1.1  jruoho     UINT32                  FileId,
    740          1.1  jruoho     void                    *Buffer,
    741          1.1  jruoho     UINT32                  Length);
    742          1.1  jruoho 
    743          1.1  jruoho void
    744          1.1  jruoho FlSeekFile (
    745          1.1  jruoho     UINT32                  FileId,
    746          1.1  jruoho     long                    Offset);
    747          1.1  jruoho 
    748          1.1  jruoho void
    749          1.1  jruoho FlCloseFile (
    750          1.1  jruoho     UINT32                  FileId);
    751          1.1  jruoho 
    752          1.1  jruoho void
    753          1.1  jruoho FlPrintFile (
    754          1.1  jruoho     UINT32                  FileId,
    755          1.1  jruoho     char                    *Format,
    756          1.1  jruoho     ...);
    757          1.1  jruoho 
    758          1.1  jruoho void
    759  1.1.1.3.2.1    yamt FlDeleteFile (
    760  1.1.1.3.2.1    yamt     UINT32                  FileId);
    761  1.1.1.3.2.1    yamt 
    762  1.1.1.3.2.1    yamt void
    763          1.1  jruoho FlSetLineNumber (
    764  1.1.1.3.2.1    yamt     UINT32                  LineNumber);
    765  1.1.1.3.2.1    yamt 
    766  1.1.1.3.2.1    yamt void
    767  1.1.1.3.2.1    yamt FlSetFilename (
    768  1.1.1.3.2.1    yamt     char                    *Filename);
    769          1.1  jruoho 
    770          1.1  jruoho ACPI_STATUS
    771          1.1  jruoho FlOpenInputFile (
    772          1.1  jruoho     char                    *InputFilename);
    773          1.1  jruoho 
    774          1.1  jruoho ACPI_STATUS
    775          1.1  jruoho FlOpenAmlOutputFile (
    776          1.1  jruoho     char                    *InputFilename);
    777          1.1  jruoho 
    778          1.1  jruoho ACPI_STATUS
    779          1.1  jruoho FlOpenMiscOutputFiles (
    780          1.1  jruoho     char                    *InputFilename);
    781          1.1  jruoho 
    782          1.1  jruoho 
    783          1.1  jruoho /*
    784          1.1  jruoho  * asload - load namespace in prep for cross reference
    785          1.1  jruoho  */
    786          1.1  jruoho ACPI_STATUS
    787          1.1  jruoho LdLoadNamespace (
    788          1.1  jruoho     ACPI_PARSE_OBJECT       *RootOp);
    789          1.1  jruoho 
    790          1.1  jruoho 
    791          1.1  jruoho /*
    792  1.1.1.3.2.1    yamt  * asllookup - namespace lookup functions
    793          1.1  jruoho  */
    794  1.1.1.3.2.1    yamt void
    795  1.1.1.3.2.1    yamt LkFindUnreferencedObjects (
    796          1.1  jruoho     void);
    797          1.1  jruoho 
    798  1.1.1.3.2.1    yamt /*
    799  1.1.1.3.2.1    yamt  * aslmain - startup
    800  1.1.1.3.2.1    yamt  */
    801          1.1  jruoho void
    802  1.1.1.3.2.1    yamt Usage (
    803          1.1  jruoho     void);
    804          1.1  jruoho 
    805  1.1.1.3.2.1    yamt void
    806  1.1.1.3.2.1    yamt AslFilenameHelp (
    807  1.1.1.3.2.1    yamt     void);
    808  1.1.1.3.2.1    yamt 
    809  1.1.1.3.2.1    yamt 
    810  1.1.1.3.2.1    yamt /*
    811  1.1.1.3.2.1    yamt  * aslnamesp - namespace output file generation
    812  1.1.1.3.2.1    yamt  */
    813          1.1  jruoho ACPI_STATUS
    814  1.1.1.3.2.1    yamt NsDisplayNamespace (
    815          1.1  jruoho     void);
    816          1.1  jruoho 
    817      1.1.1.2  jruoho void
    818  1.1.1.3.2.1    yamt NsSetupNamespaceListing (
    819      1.1.1.2  jruoho     void                    *Handle);
    820      1.1.1.2  jruoho 
    821  1.1.1.3.2.1    yamt /*
    822  1.1.1.3.2.1    yamt  * asloptions - command line processing
    823  1.1.1.3.2.1    yamt  */
    824  1.1.1.3.2.1    yamt int
    825  1.1.1.3.2.1    yamt AslCommandLine (
    826  1.1.1.3.2.1    yamt     int                     argc,
    827  1.1.1.3.2.1    yamt     char                    **argv);
    828  1.1.1.3.2.1    yamt 
    829  1.1.1.3.2.1    yamt /*
    830  1.1.1.3.2.1    yamt  * aslxref - namespace cross reference
    831  1.1.1.3.2.1    yamt  */
    832  1.1.1.3.2.1    yamt ACPI_STATUS
    833  1.1.1.3.2.1    yamt XfCrossReferenceNamespace (
    834  1.1.1.3.2.1    yamt     void);
    835  1.1.1.3.2.1    yamt 
    836          1.1  jruoho 
    837          1.1  jruoho /*
    838          1.1  jruoho  * aslutils - common compiler utilites
    839          1.1  jruoho  */
    840          1.1  jruoho void
    841          1.1  jruoho DbgPrint (
    842          1.1  jruoho     UINT32                  Type,
    843          1.1  jruoho     char                    *Format,
    844          1.1  jruoho     ...);
    845          1.1  jruoho 
    846          1.1  jruoho /* Type values for above */
    847          1.1  jruoho 
    848          1.1  jruoho #define ASL_DEBUG_OUTPUT    0
    849          1.1  jruoho #define ASL_PARSE_OUTPUT    1
    850          1.1  jruoho #define ASL_TREE_OUTPUT     2
    851          1.1  jruoho 
    852          1.1  jruoho void
    853      1.1.1.2  jruoho UtDisplaySupportedTables (
    854      1.1.1.2  jruoho     void);
    855      1.1.1.2  jruoho 
    856      1.1.1.2  jruoho void
    857          1.1  jruoho UtDisplayConstantOpcodes (
    858          1.1  jruoho     void);
    859          1.1  jruoho 
    860          1.1  jruoho UINT8
    861          1.1  jruoho UtBeginEvent (
    862          1.1  jruoho     char                    *Name);
    863          1.1  jruoho 
    864          1.1  jruoho void
    865          1.1  jruoho UtEndEvent (
    866          1.1  jruoho     UINT8                   Event);
    867          1.1  jruoho 
    868          1.1  jruoho void *
    869          1.1  jruoho UtLocalCalloc (
    870          1.1  jruoho     UINT32                  Size);
    871          1.1  jruoho 
    872          1.1  jruoho void
    873          1.1  jruoho UtPrintFormattedName (
    874          1.1  jruoho     UINT16                  ParseOpcode,
    875          1.1  jruoho     UINT32                  Level);
    876          1.1  jruoho 
    877          1.1  jruoho void
    878          1.1  jruoho UtDisplaySummary (
    879          1.1  jruoho     UINT32                  FileId);
    880          1.1  jruoho 
    881          1.1  jruoho UINT8
    882          1.1  jruoho UtHexCharToValue (
    883          1.1  jruoho     int                     HexChar);
    884          1.1  jruoho 
    885          1.1  jruoho void
    886          1.1  jruoho UtConvertByteToHex (
    887          1.1  jruoho     UINT8                   RawByte,
    888          1.1  jruoho     UINT8                   *Buffer);
    889          1.1  jruoho 
    890          1.1  jruoho void
    891          1.1  jruoho UtConvertByteToAsmHex (
    892          1.1  jruoho     UINT8                   RawByte,
    893          1.1  jruoho     UINT8                   *Buffer);
    894          1.1  jruoho 
    895          1.1  jruoho char *
    896          1.1  jruoho UtGetOpName (
    897          1.1  jruoho     UINT32                  ParseOpcode);
    898          1.1  jruoho 
    899          1.1  jruoho void
    900          1.1  jruoho UtSetParseOpName (
    901          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
    902          1.1  jruoho 
    903          1.1  jruoho char *
    904          1.1  jruoho UtGetStringBuffer (
    905          1.1  jruoho     UINT32                  Length);
    906          1.1  jruoho 
    907  1.1.1.3.2.1    yamt void
    908  1.1.1.3.2.1    yamt UtExpandLineBuffers (
    909  1.1.1.3.2.1    yamt     void);
    910  1.1.1.3.2.1    yamt 
    911          1.1  jruoho ACPI_STATUS
    912          1.1  jruoho UtInternalizeName (
    913          1.1  jruoho     char                    *ExternalName,
    914          1.1  jruoho     char                    **ConvertedName);
    915          1.1  jruoho 
    916          1.1  jruoho void
    917          1.1  jruoho UtAttachNamepathToOwner (
    918          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    919          1.1  jruoho     ACPI_PARSE_OBJECT       *NameNode);
    920          1.1  jruoho 
    921          1.1  jruoho ACPI_PARSE_OBJECT *
    922          1.1  jruoho UtCheckIntegerRange (
    923          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    924          1.1  jruoho     UINT32                  LowValue,
    925          1.1  jruoho     UINT32                  HighValue);
    926          1.1  jruoho 
    927          1.1  jruoho UINT64
    928          1.1  jruoho UtDoConstant (
    929          1.1  jruoho     char                    *String);
    930          1.1  jruoho 
    931      1.1.1.3  jruoho ACPI_STATUS
    932      1.1.1.3  jruoho UtStrtoul64 (
    933      1.1.1.3  jruoho     char                    *String,
    934      1.1.1.3  jruoho     UINT32                  Base,
    935      1.1.1.3  jruoho     UINT64                  *RetInteger);
    936      1.1.1.3  jruoho 
    937      1.1.1.3  jruoho 
    938      1.1.1.2  jruoho /*
    939      1.1.1.2  jruoho  * asluuid - UUID support
    940      1.1.1.2  jruoho  */
    941      1.1.1.2  jruoho ACPI_STATUS
    942      1.1.1.2  jruoho AuValidateUuid (
    943      1.1.1.2  jruoho     char                    *InString);
    944      1.1.1.2  jruoho 
    945      1.1.1.2  jruoho ACPI_STATUS
    946      1.1.1.2  jruoho AuConvertStringToUuid (
    947      1.1.1.2  jruoho     char                    *InString,
    948      1.1.1.2  jruoho     char                    *UuIdBuffer);
    949      1.1.1.2  jruoho 
    950      1.1.1.2  jruoho ACPI_STATUS
    951      1.1.1.2  jruoho AuConvertUuidToString (
    952      1.1.1.2  jruoho     char                    *UuIdBuffer,
    953      1.1.1.2  jruoho     char                    *OutString);
    954          1.1  jruoho 
    955          1.1  jruoho /*
    956          1.1  jruoho  * aslresource - Resource template generation utilities
    957          1.1  jruoho  */
    958          1.1  jruoho void
    959          1.1  jruoho RsSmallAddressCheck (
    960          1.1  jruoho     UINT8                   Type,
    961          1.1  jruoho     UINT32                  Minimum,
    962          1.1  jruoho     UINT32                  Maximum,
    963          1.1  jruoho     UINT32                  Length,
    964          1.1  jruoho     UINT32                  Alignment,
    965          1.1  jruoho     ACPI_PARSE_OBJECT       *MinOp,
    966          1.1  jruoho     ACPI_PARSE_OBJECT       *MaxOp,
    967          1.1  jruoho     ACPI_PARSE_OBJECT       *LengthOp,
    968      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *AlignOp,
    969      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    970          1.1  jruoho 
    971          1.1  jruoho void
    972          1.1  jruoho RsLargeAddressCheck (
    973          1.1  jruoho     UINT64                  Minimum,
    974          1.1  jruoho     UINT64                  Maximum,
    975          1.1  jruoho     UINT64                  Length,
    976          1.1  jruoho     UINT64                  Granularity,
    977          1.1  jruoho     UINT8                   Flags,
    978          1.1  jruoho     ACPI_PARSE_OBJECT       *MinOp,
    979          1.1  jruoho     ACPI_PARSE_OBJECT       *MaxOp,
    980          1.1  jruoho     ACPI_PARSE_OBJECT       *LengthOp,
    981      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *GranOp,
    982      1.1.1.2  jruoho     ACPI_PARSE_OBJECT       *Op);
    983          1.1  jruoho 
    984          1.1  jruoho UINT16
    985          1.1  jruoho RsGetStringDataLength (
    986          1.1  jruoho     ACPI_PARSE_OBJECT       *InitializerOp);
    987          1.1  jruoho 
    988          1.1  jruoho ASL_RESOURCE_NODE *
    989          1.1  jruoho RsAllocateResourceNode (
    990          1.1  jruoho     UINT32                  Size);
    991          1.1  jruoho 
    992          1.1  jruoho void
    993  1.1.1.3.2.1    yamt RsCreateResourceField (
    994          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
    995          1.1  jruoho     char                    *Name,
    996          1.1  jruoho     UINT32                  ByteOffset,
    997  1.1.1.3.2.1    yamt     UINT32                  BitOffset,
    998  1.1.1.3.2.1    yamt     UINT32                  BitLength);
    999          1.1  jruoho 
   1000          1.1  jruoho void
   1001  1.1.1.3.2.1    yamt RsSetFlagBits (
   1002  1.1.1.3.2.1    yamt     UINT8                   *Flags,
   1003          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1004  1.1.1.3.2.1    yamt     UINT8                   Position,
   1005  1.1.1.3.2.1    yamt     UINT8                   DefaultBit);
   1006          1.1  jruoho 
   1007          1.1  jruoho void
   1008  1.1.1.3.2.1    yamt RsSetFlagBits16 (
   1009  1.1.1.3.2.1    yamt     UINT16                  *Flags,
   1010          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1011          1.1  jruoho     UINT8                   Position,
   1012          1.1  jruoho     UINT8                   DefaultBit);
   1013          1.1  jruoho 
   1014          1.1  jruoho ACPI_PARSE_OBJECT *
   1015          1.1  jruoho RsCompleteNodeAndGetNext (
   1016          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
   1017          1.1  jruoho 
   1018          1.1  jruoho void
   1019          1.1  jruoho RsCheckListForDuplicates (
   1020          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
   1021          1.1  jruoho 
   1022          1.1  jruoho ASL_RESOURCE_NODE *
   1023          1.1  jruoho RsDoOneResourceDescriptor (
   1024          1.1  jruoho     ACPI_PARSE_OBJECT       *DescriptorTypeOp,
   1025          1.1  jruoho     UINT32                  CurrentByteOffset,
   1026          1.1  jruoho     UINT8                   *State);
   1027          1.1  jruoho 
   1028          1.1  jruoho /* Values for State above */
   1029          1.1  jruoho 
   1030          1.1  jruoho #define ACPI_RSTATE_NORMAL              0
   1031          1.1  jruoho #define ACPI_RSTATE_START_DEPENDENT     1
   1032          1.1  jruoho #define ACPI_RSTATE_DEPENDENT_LIST      2
   1033          1.1  jruoho 
   1034          1.1  jruoho UINT32
   1035          1.1  jruoho RsLinkDescriptorChain (
   1036          1.1  jruoho     ASL_RESOURCE_NODE       **PreviousRnode,
   1037          1.1  jruoho     ASL_RESOURCE_NODE       *Rnode);
   1038          1.1  jruoho 
   1039          1.1  jruoho void
   1040          1.1  jruoho RsDoResourceTemplate (
   1041          1.1  jruoho     ACPI_PARSE_OBJECT       *Op);
   1042          1.1  jruoho 
   1043          1.1  jruoho 
   1044          1.1  jruoho /*
   1045          1.1  jruoho  * aslrestype1 - Miscellaneous Small descriptors
   1046          1.1  jruoho  */
   1047          1.1  jruoho ASL_RESOURCE_NODE *
   1048          1.1  jruoho RsDoEndTagDescriptor (
   1049          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1050          1.1  jruoho     UINT32                  CurrentByteOffset);
   1051          1.1  jruoho 
   1052          1.1  jruoho ASL_RESOURCE_NODE *
   1053          1.1  jruoho RsDoEndDependentDescriptor (
   1054          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1055          1.1  jruoho     UINT32                  CurrentByteOffset);
   1056          1.1  jruoho 
   1057          1.1  jruoho ASL_RESOURCE_NODE *
   1058          1.1  jruoho RsDoMemory24Descriptor (
   1059          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1060          1.1  jruoho     UINT32                  CurrentByteOffset);
   1061          1.1  jruoho 
   1062          1.1  jruoho ASL_RESOURCE_NODE *
   1063          1.1  jruoho RsDoMemory32Descriptor (
   1064          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1065          1.1  jruoho     UINT32                  CurrentByteOffset);
   1066          1.1  jruoho 
   1067          1.1  jruoho ASL_RESOURCE_NODE *
   1068          1.1  jruoho RsDoMemory32FixedDescriptor (
   1069          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1070          1.1  jruoho     UINT32                  CurrentByteOffset);
   1071          1.1  jruoho 
   1072          1.1  jruoho ASL_RESOURCE_NODE *
   1073          1.1  jruoho RsDoStartDependentDescriptor (
   1074          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1075          1.1  jruoho     UINT32                  CurrentByteOffset);
   1076          1.1  jruoho 
   1077          1.1  jruoho ASL_RESOURCE_NODE *
   1078          1.1  jruoho RsDoStartDependentNoPriDescriptor (
   1079          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1080          1.1  jruoho     UINT32                  CurrentByteOffset);
   1081          1.1  jruoho 
   1082          1.1  jruoho ASL_RESOURCE_NODE *
   1083          1.1  jruoho RsDoVendorSmallDescriptor (
   1084          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1085          1.1  jruoho     UINT32                  CurrentByteOffset);
   1086          1.1  jruoho 
   1087          1.1  jruoho 
   1088          1.1  jruoho /*
   1089          1.1  jruoho  * aslrestype1i - I/O-related Small descriptors
   1090          1.1  jruoho  */
   1091          1.1  jruoho ASL_RESOURCE_NODE *
   1092          1.1  jruoho RsDoDmaDescriptor (
   1093          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1094          1.1  jruoho     UINT32                  CurrentByteOffset);
   1095          1.1  jruoho 
   1096          1.1  jruoho ASL_RESOURCE_NODE *
   1097  1.1.1.3.2.1    yamt RsDoFixedDmaDescriptor (
   1098  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1099  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1100  1.1.1.3.2.1    yamt 
   1101  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1102          1.1  jruoho RsDoFixedIoDescriptor (
   1103          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1104          1.1  jruoho     UINT32                  CurrentByteOffset);
   1105          1.1  jruoho 
   1106          1.1  jruoho ASL_RESOURCE_NODE *
   1107          1.1  jruoho RsDoIoDescriptor (
   1108          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1109          1.1  jruoho     UINT32                  CurrentByteOffset);
   1110          1.1  jruoho 
   1111          1.1  jruoho ASL_RESOURCE_NODE *
   1112          1.1  jruoho RsDoIrqDescriptor (
   1113          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1114          1.1  jruoho     UINT32                  CurrentByteOffset);
   1115          1.1  jruoho 
   1116          1.1  jruoho ASL_RESOURCE_NODE *
   1117          1.1  jruoho RsDoIrqNoFlagsDescriptor (
   1118          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1119          1.1  jruoho     UINT32                  CurrentByteOffset);
   1120          1.1  jruoho 
   1121          1.1  jruoho 
   1122          1.1  jruoho /*
   1123          1.1  jruoho  * aslrestype2 - Large resource descriptors
   1124          1.1  jruoho  */
   1125          1.1  jruoho ASL_RESOURCE_NODE *
   1126          1.1  jruoho RsDoInterruptDescriptor (
   1127          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1128          1.1  jruoho     UINT32                  CurrentByteOffset);
   1129          1.1  jruoho 
   1130          1.1  jruoho ASL_RESOURCE_NODE *
   1131          1.1  jruoho RsDoVendorLargeDescriptor (
   1132          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1133          1.1  jruoho     UINT32                  CurrentByteOffset);
   1134          1.1  jruoho 
   1135          1.1  jruoho ASL_RESOURCE_NODE *
   1136          1.1  jruoho RsDoGeneralRegisterDescriptor (
   1137          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1138          1.1  jruoho     UINT32                  CurrentByteOffset);
   1139          1.1  jruoho 
   1140  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1141  1.1.1.3.2.1    yamt RsDoGpioIntDescriptor (
   1142  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1143  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1144  1.1.1.3.2.1    yamt 
   1145  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1146  1.1.1.3.2.1    yamt RsDoGpioIoDescriptor (
   1147  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1148  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1149  1.1.1.3.2.1    yamt 
   1150  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1151  1.1.1.3.2.1    yamt RsDoI2cSerialBusDescriptor (
   1152  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1153  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1154  1.1.1.3.2.1    yamt 
   1155  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1156  1.1.1.3.2.1    yamt RsDoSpiSerialBusDescriptor (
   1157  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1158  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1159  1.1.1.3.2.1    yamt 
   1160  1.1.1.3.2.1    yamt ASL_RESOURCE_NODE *
   1161  1.1.1.3.2.1    yamt RsDoUartSerialBusDescriptor (
   1162  1.1.1.3.2.1    yamt     ACPI_PARSE_OBJECT       *Op,
   1163  1.1.1.3.2.1    yamt     UINT32                  CurrentByteOffset);
   1164          1.1  jruoho 
   1165          1.1  jruoho /*
   1166          1.1  jruoho  * aslrestype2d - DWord address descriptors
   1167          1.1  jruoho  */
   1168          1.1  jruoho ASL_RESOURCE_NODE *
   1169          1.1  jruoho RsDoDwordIoDescriptor (
   1170          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1171          1.1  jruoho     UINT32                  CurrentByteOffset);
   1172          1.1  jruoho 
   1173          1.1  jruoho ASL_RESOURCE_NODE *
   1174          1.1  jruoho RsDoDwordMemoryDescriptor (
   1175          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1176          1.1  jruoho     UINT32                  CurrentByteOffset);
   1177          1.1  jruoho 
   1178          1.1  jruoho ASL_RESOURCE_NODE *
   1179          1.1  jruoho RsDoDwordSpaceDescriptor (
   1180          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1181          1.1  jruoho     UINT32                  CurrentByteOffset);
   1182          1.1  jruoho 
   1183          1.1  jruoho 
   1184          1.1  jruoho /*
   1185          1.1  jruoho  * aslrestype2e - Extended address descriptors
   1186          1.1  jruoho  */
   1187          1.1  jruoho ASL_RESOURCE_NODE *
   1188          1.1  jruoho RsDoExtendedIoDescriptor (
   1189          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1190          1.1  jruoho     UINT32                  CurrentByteOffset);
   1191          1.1  jruoho 
   1192          1.1  jruoho ASL_RESOURCE_NODE *
   1193          1.1  jruoho RsDoExtendedMemoryDescriptor (
   1194          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1195          1.1  jruoho     UINT32                  CurrentByteOffset);
   1196          1.1  jruoho 
   1197          1.1  jruoho ASL_RESOURCE_NODE *
   1198          1.1  jruoho RsDoExtendedSpaceDescriptor (
   1199          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1200          1.1  jruoho     UINT32                  CurrentByteOffset);
   1201          1.1  jruoho 
   1202          1.1  jruoho 
   1203          1.1  jruoho /*
   1204          1.1  jruoho  * aslrestype2q - QWord address descriptors
   1205          1.1  jruoho  */
   1206          1.1  jruoho ASL_RESOURCE_NODE *
   1207          1.1  jruoho RsDoQwordIoDescriptor (
   1208          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1209          1.1  jruoho     UINT32                  CurrentByteOffset);
   1210          1.1  jruoho 
   1211          1.1  jruoho ASL_RESOURCE_NODE *
   1212          1.1  jruoho RsDoQwordMemoryDescriptor (
   1213          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1214          1.1  jruoho     UINT32                  CurrentByteOffset);
   1215          1.1  jruoho 
   1216          1.1  jruoho ASL_RESOURCE_NODE *
   1217          1.1  jruoho RsDoQwordSpaceDescriptor (
   1218          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1219          1.1  jruoho     UINT32                  CurrentByteOffset);
   1220          1.1  jruoho 
   1221          1.1  jruoho 
   1222          1.1  jruoho /*
   1223          1.1  jruoho  * aslrestype2w - Word address descriptors
   1224          1.1  jruoho  */
   1225          1.1  jruoho ASL_RESOURCE_NODE *
   1226          1.1  jruoho RsDoWordIoDescriptor (
   1227          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1228          1.1  jruoho     UINT32                  CurrentByteOffset);
   1229          1.1  jruoho 
   1230          1.1  jruoho ASL_RESOURCE_NODE *
   1231          1.1  jruoho RsDoWordSpaceDescriptor (
   1232          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1233          1.1  jruoho     UINT32                  CurrentByteOffset);
   1234          1.1  jruoho 
   1235          1.1  jruoho ASL_RESOURCE_NODE *
   1236          1.1  jruoho RsDoWordBusNumberDescriptor (
   1237          1.1  jruoho     ACPI_PARSE_OBJECT       *Op,
   1238          1.1  jruoho     UINT32                  CurrentByteOffset);
   1239          1.1  jruoho 
   1240          1.1  jruoho /*
   1241          1.1  jruoho  * Entry to data table compiler subsystem
   1242          1.1  jruoho  */
   1243          1.1  jruoho ACPI_STATUS
   1244          1.1  jruoho DtDoCompile(
   1245          1.1  jruoho     void);
   1246          1.1  jruoho 
   1247      1.1.1.2  jruoho ACPI_STATUS
   1248      1.1.1.2  jruoho DtCreateTemplates (
   1249      1.1.1.2  jruoho     char                    *Signature);
   1250      1.1.1.2  jruoho 
   1251          1.1  jruoho #endif /*  __ASLCOMPILER_H */
   1252