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