Home | History | Annotate | Line # | Download | only in compiler
aslcompiler.h revision 1.1.1.5
      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.5  christos  * Copyright (C) 2000 - 2014, 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.4  christos FlCheckForAcpiTable (
    171  1.1.1.4  christos     FILE                    *Handle);
    172  1.1.1.4  christos 
    173  1.1.1.4  christos ACPI_STATUS
    174      1.1    jruoho FlCheckForAscii (
    175  1.1.1.4  christos     FILE                    *Handle,
    176  1.1.1.4  christos     char                    *Filename,
    177  1.1.1.4  christos     BOOLEAN                 DisplayErrors);
    178      1.1    jruoho 
    179      1.1    jruoho 
    180      1.1    jruoho /*
    181  1.1.1.2    jruoho  * aslwalks - semantic analysis and parse tree walks
    182      1.1    jruoho  */
    183      1.1    jruoho ACPI_STATUS
    184      1.1    jruoho AnOtherSemanticAnalysisWalkBegin (
    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    jruoho AnOtherSemanticAnalysisWalkEnd (
    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    jruoho ACPI_STATUS
    196      1.1    jruoho AnOperandTypecheckWalkEnd (
    197      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    198      1.1    jruoho     UINT32                  Level,
    199      1.1    jruoho     void                    *Context);
    200      1.1    jruoho 
    201      1.1    jruoho ACPI_STATUS
    202  1.1.1.4  christos AnMethodTypingWalkEnd (
    203      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    204      1.1    jruoho     UINT32                  Level,
    205      1.1    jruoho     void                    *Context);
    206      1.1    jruoho 
    207  1.1.1.4  christos 
    208  1.1.1.4  christos /*
    209  1.1.1.4  christos  * aslmethod - Control method analysis walk
    210  1.1.1.4  christos  */
    211      1.1    jruoho ACPI_STATUS
    212  1.1.1.4  christos MtMethodAnalysisWalkBegin (
    213      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    214      1.1    jruoho     UINT32                  Level,
    215      1.1    jruoho     void                    *Context);
    216      1.1    jruoho 
    217      1.1    jruoho ACPI_STATUS
    218  1.1.1.4  christos MtMethodAnalysisWalkEnd (
    219      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    220      1.1    jruoho     UINT32                  Level,
    221      1.1    jruoho     void                    *Context);
    222      1.1    jruoho 
    223  1.1.1.2    jruoho 
    224  1.1.1.2    jruoho /*
    225  1.1.1.2    jruoho  * aslbtypes - bitfield data types
    226  1.1.1.2    jruoho  */
    227  1.1.1.2    jruoho UINT32
    228  1.1.1.2    jruoho AnMapObjTypeToBtype (
    229  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    230  1.1.1.2    jruoho 
    231  1.1.1.2    jruoho UINT32
    232  1.1.1.2    jruoho AnMapArgTypeToBtype (
    233  1.1.1.2    jruoho     UINT32                  ArgType);
    234  1.1.1.2    jruoho 
    235  1.1.1.2    jruoho UINT32
    236  1.1.1.2    jruoho AnGetBtype (
    237  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    238  1.1.1.2    jruoho 
    239  1.1.1.2    jruoho void
    240  1.1.1.2    jruoho AnFormatBtype (
    241  1.1.1.2    jruoho     char                    *Buffer,
    242  1.1.1.2    jruoho     UINT32                  Btype);
    243  1.1.1.2    jruoho 
    244  1.1.1.2    jruoho 
    245  1.1.1.2    jruoho /*
    246  1.1.1.2    jruoho  * aslanalyze - Support functions for parse tree walks
    247  1.1.1.2    jruoho  */
    248  1.1.1.2    jruoho void
    249  1.1.1.2    jruoho AnCheckId (
    250      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    251  1.1.1.2    jruoho     ACPI_NAME               Type);
    252  1.1.1.2    jruoho 
    253  1.1.1.2    jruoho /* Values for Type argument above */
    254  1.1.1.2    jruoho 
    255  1.1.1.2    jruoho #define ASL_TYPE_HID        0
    256  1.1.1.2    jruoho #define ASL_TYPE_CID        1
    257  1.1.1.2    jruoho 
    258  1.1.1.2    jruoho BOOLEAN
    259  1.1.1.2    jruoho AnIsInternalMethod (
    260  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    261  1.1.1.2    jruoho 
    262  1.1.1.2    jruoho UINT32
    263  1.1.1.2    jruoho AnGetInternalMethodReturnType (
    264  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    265  1.1.1.2    jruoho 
    266  1.1.1.2    jruoho BOOLEAN
    267  1.1.1.2    jruoho AnLastStatementIsReturn (
    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 AnCheckMethodReturnValue (
    272  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op,
    273  1.1.1.2    jruoho     const ACPI_OPCODE_INFO  *OpInfo,
    274  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *ArgOp,
    275  1.1.1.2    jruoho     UINT32                  RequiredBtypes,
    276  1.1.1.2    jruoho     UINT32                  ThisNodeBtype);
    277  1.1.1.2    jruoho 
    278  1.1.1.2    jruoho BOOLEAN
    279  1.1.1.2    jruoho AnIsResultUsed (
    280  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    281  1.1.1.2    jruoho 
    282  1.1.1.2    jruoho void
    283  1.1.1.2    jruoho ApCheckForGpeNameConflict (
    284  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
    285      1.1    jruoho 
    286  1.1.1.3    jruoho void
    287  1.1.1.3    jruoho ApCheckRegMethod (
    288  1.1.1.3    jruoho     ACPI_PARSE_OBJECT       *Op);
    289  1.1.1.3    jruoho 
    290  1.1.1.5  christos BOOLEAN
    291  1.1.1.5  christos ApFindNameInScope (
    292  1.1.1.5  christos     char                    *Name,
    293  1.1.1.5  christos     ACPI_PARSE_OBJECT       *Op);
    294  1.1.1.5  christos 
    295      1.1    jruoho 
    296      1.1    jruoho /*
    297      1.1    jruoho  * aslerror - error handling/reporting
    298      1.1    jruoho  */
    299      1.1    jruoho void
    300  1.1.1.5  christos AslAbort (
    301  1.1.1.5  christos     void);
    302  1.1.1.5  christos 
    303  1.1.1.5  christos void
    304      1.1    jruoho AslError (
    305      1.1    jruoho     UINT8                   Level,
    306  1.1.1.5  christos     UINT16                  MessageId,
    307      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    308      1.1    jruoho     char                    *ExtraMessage);
    309      1.1    jruoho 
    310  1.1.1.4  christos ACPI_STATUS
    311  1.1.1.4  christos AslDisableException (
    312  1.1.1.4  christos     char                    *MessageIdString);
    313  1.1.1.4  christos 
    314  1.1.1.4  christos BOOLEAN
    315  1.1.1.4  christos AslIsExceptionDisabled (
    316  1.1.1.4  christos     UINT8                   Level,
    317  1.1.1.5  christos     UINT16                  MessageId);
    318  1.1.1.4  christos 
    319      1.1    jruoho void
    320      1.1    jruoho AslCoreSubsystemError (
    321      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    322      1.1    jruoho     ACPI_STATUS             Status,
    323      1.1    jruoho     char                    *ExtraMessage,
    324      1.1    jruoho     BOOLEAN                 Abort);
    325      1.1    jruoho 
    326      1.1    jruoho int
    327      1.1    jruoho AslCompilererror(
    328  1.1.1.3    jruoho     const char              *s);
    329      1.1    jruoho 
    330      1.1    jruoho void
    331      1.1    jruoho AslCommonError (
    332      1.1    jruoho     UINT8                   Level,
    333  1.1.1.5  christos     UINT16                  MessageId,
    334      1.1    jruoho     UINT32                  CurrentLineNumber,
    335      1.1    jruoho     UINT32                  LogicalLineNumber,
    336      1.1    jruoho     UINT32                  LogicalByteOffset,
    337      1.1    jruoho     UINT32                  Column,
    338      1.1    jruoho     char                    *Filename,
    339      1.1    jruoho     char                    *ExtraMessage);
    340      1.1    jruoho 
    341      1.1    jruoho void
    342  1.1.1.4  christos AslCommonError2 (
    343  1.1.1.4  christos     UINT8                   Level,
    344  1.1.1.5  christos     UINT16                  MessageId,
    345  1.1.1.4  christos     UINT32                  LineNumber,
    346  1.1.1.4  christos     UINT32                  Column,
    347  1.1.1.4  christos     char                    *SourceLine,
    348  1.1.1.4  christos     char                    *Filename,
    349  1.1.1.4  christos     char                    *ExtraMessage);
    350  1.1.1.4  christos 
    351  1.1.1.4  christos void
    352      1.1    jruoho AePrintException (
    353      1.1    jruoho     UINT32                  FileId,
    354      1.1    jruoho     ASL_ERROR_MSG           *Enode,
    355      1.1    jruoho     char                    *Header);
    356      1.1    jruoho 
    357      1.1    jruoho void
    358      1.1    jruoho AePrintErrorLog (
    359      1.1    jruoho     UINT32                  FileId);
    360      1.1    jruoho 
    361      1.1    jruoho void
    362      1.1    jruoho AeClearErrorLog (
    363      1.1    jruoho     void);
    364      1.1    jruoho 
    365      1.1    jruoho 
    366      1.1    jruoho /*
    367      1.1    jruoho  * asllisting - generate all "listing" type files
    368      1.1    jruoho  */
    369      1.1    jruoho void
    370      1.1    jruoho LsDoListings (
    371      1.1    jruoho     void);
    372      1.1    jruoho 
    373      1.1    jruoho void
    374      1.1    jruoho LsWriteNodeToAsmListing (
    375      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    376      1.1    jruoho 
    377      1.1    jruoho void
    378      1.1    jruoho LsWriteNode (
    379      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    380      1.1    jruoho     UINT32                  FileId);
    381      1.1    jruoho 
    382      1.1    jruoho void
    383  1.1.1.4  christos LsDumpParseTree (
    384      1.1    jruoho     void);
    385      1.1    jruoho 
    386  1.1.1.4  christos 
    387  1.1.1.4  christos /*
    388  1.1.1.4  christos  * asllistsup - Listing file support utilities
    389  1.1.1.4  christos  */
    390      1.1    jruoho void
    391  1.1.1.4  christos LsDumpAscii (
    392  1.1.1.4  christos     UINT32                  FileId,
    393  1.1.1.4  christos     UINT32                  Count,
    394  1.1.1.4  christos     UINT8                   *Buffer);
    395  1.1.1.4  christos 
    396  1.1.1.4  christos void
    397  1.1.1.4  christos LsDumpAsciiInComment (
    398  1.1.1.4  christos     UINT32                  FileId,
    399  1.1.1.4  christos     UINT32                  Count,
    400  1.1.1.4  christos     UINT8                   *Buffer);
    401  1.1.1.4  christos 
    402  1.1.1.4  christos void
    403  1.1.1.4  christos LsCheckException (
    404  1.1.1.4  christos     UINT32                  LineNumber,
    405  1.1.1.4  christos     UINT32                  FileId);
    406  1.1.1.4  christos 
    407  1.1.1.4  christos void
    408  1.1.1.4  christos LsFlushListingBuffer (
    409  1.1.1.4  christos     UINT32                  FileId);
    410  1.1.1.4  christos 
    411  1.1.1.4  christos void
    412  1.1.1.4  christos LsWriteListingHexBytes (
    413  1.1.1.4  christos     UINT8                   *Buffer,
    414  1.1.1.4  christos     UINT32                  Length,
    415  1.1.1.4  christos     UINT32                  FileId);
    416  1.1.1.4  christos 
    417  1.1.1.4  christos void
    418  1.1.1.4  christos LsWriteSourceLines (
    419  1.1.1.4  christos     UINT32                  ToLineNumber,
    420  1.1.1.4  christos     UINT32                  ToLogicalLineNumber,
    421  1.1.1.4  christos     UINT32                  FileId);
    422  1.1.1.4  christos 
    423  1.1.1.4  christos UINT32
    424  1.1.1.4  christos LsWriteOneSourceLine (
    425  1.1.1.4  christos     UINT32                  FileId);
    426  1.1.1.4  christos 
    427  1.1.1.4  christos void
    428  1.1.1.4  christos LsPushNode (
    429  1.1.1.4  christos     char                    *Filename);
    430  1.1.1.4  christos 
    431  1.1.1.4  christos ASL_LISTING_NODE *
    432  1.1.1.4  christos LsPopNode (
    433  1.1.1.4  christos     void);
    434  1.1.1.4  christos 
    435  1.1.1.4  christos 
    436  1.1.1.4  christos /*
    437  1.1.1.4  christos  * aslhex - generate all "hex" output files (C, ASM, ASL)
    438  1.1.1.4  christos  */
    439  1.1.1.4  christos void
    440  1.1.1.4  christos HxDoHexOutput (
    441      1.1    jruoho     void);
    442      1.1    jruoho 
    443  1.1.1.4  christos 
    444      1.1    jruoho /*
    445      1.1    jruoho  * aslfold - constant folding
    446      1.1    jruoho  */
    447      1.1    jruoho ACPI_STATUS
    448      1.1    jruoho OpcAmlConstantWalk (
    449      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    450      1.1    jruoho     UINT32                  Level,
    451      1.1    jruoho     void                    *Context);
    452      1.1    jruoho 
    453      1.1    jruoho 
    454      1.1    jruoho /*
    455  1.1.1.5  christos  * aslmessages - exception strings
    456  1.1.1.5  christos  */
    457  1.1.1.5  christos const char *
    458  1.1.1.5  christos AeDecodeMessageId (
    459  1.1.1.5  christos     UINT16                  MessageId);
    460  1.1.1.5  christos 
    461  1.1.1.5  christos const char *
    462  1.1.1.5  christos AeDecodeExceptionLevel (
    463  1.1.1.5  christos     UINT8                   Level);
    464  1.1.1.5  christos 
    465  1.1.1.5  christos UINT16
    466  1.1.1.5  christos AeBuildFullExceptionCode (
    467  1.1.1.5  christos     UINT8                   Level,
    468  1.1.1.5  christos     UINT16                  MessageId);
    469  1.1.1.5  christos 
    470  1.1.1.5  christos /*
    471  1.1.1.4  christos  * asloffset - generate C offset file for BIOS support
    472  1.1.1.4  christos  */
    473  1.1.1.4  christos ACPI_STATUS
    474  1.1.1.4  christos LsAmlOffsetWalk (
    475  1.1.1.4  christos     ACPI_PARSE_OBJECT       *Op,
    476  1.1.1.4  christos     UINT32                  Level,
    477  1.1.1.4  christos     void                    *Context);
    478  1.1.1.4  christos 
    479  1.1.1.4  christos void
    480  1.1.1.4  christos LsDoOffsetTableHeader (
    481  1.1.1.4  christos     UINT32                  FileId);
    482  1.1.1.4  christos 
    483  1.1.1.4  christos void
    484  1.1.1.4  christos LsDoOffsetTableFooter (
    485  1.1.1.4  christos     UINT32                  FileId);
    486  1.1.1.4  christos 
    487  1.1.1.4  christos 
    488  1.1.1.4  christos /*
    489      1.1    jruoho  * aslopcodes - generate AML opcodes
    490      1.1    jruoho  */
    491      1.1    jruoho ACPI_STATUS
    492      1.1    jruoho OpcAmlOpcodeWalk (
    493      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    494      1.1    jruoho     UINT32                  Level,
    495      1.1    jruoho     void                    *Context);
    496      1.1    jruoho 
    497      1.1    jruoho ACPI_STATUS
    498      1.1    jruoho OpcAmlOpcodeUpdateWalk (
    499      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    500      1.1    jruoho     UINT32                  Level,
    501      1.1    jruoho     void                    *Context);
    502      1.1    jruoho 
    503      1.1    jruoho void
    504      1.1    jruoho OpcGenerateAmlOpcode (
    505      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    506      1.1    jruoho 
    507      1.1    jruoho UINT32
    508      1.1    jruoho OpcSetOptimalIntegerSize (
    509      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    510      1.1    jruoho 
    511      1.1    jruoho void
    512      1.1    jruoho OpcGetIntegerWidth (
    513      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    514      1.1    jruoho 
    515      1.1    jruoho 
    516      1.1    jruoho /*
    517      1.1    jruoho  * asloperands - generate AML operands for the AML opcodes
    518      1.1    jruoho  */
    519      1.1    jruoho ACPI_PARSE_OBJECT  *
    520      1.1    jruoho UtGetArg (
    521      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    522      1.1    jruoho     UINT32                  Argn);
    523      1.1    jruoho 
    524      1.1    jruoho void
    525      1.1    jruoho OpnGenerateAmlOperands (
    526      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    527      1.1    jruoho 
    528      1.1    jruoho void
    529      1.1    jruoho OpnDoPackage (
    530      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    531      1.1    jruoho 
    532      1.1    jruoho 
    533      1.1    jruoho /*
    534      1.1    jruoho  * aslopt - optmization
    535      1.1    jruoho  */
    536      1.1    jruoho void
    537      1.1    jruoho OptOptimizeNamePath (
    538      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    539      1.1    jruoho     UINT32                  Flags,
    540      1.1    jruoho     ACPI_WALK_STATE         *WalkState,
    541      1.1    jruoho     char                    *AmlNameString,
    542      1.1    jruoho     ACPI_NAMESPACE_NODE     *TargetNode);
    543      1.1    jruoho 
    544      1.1    jruoho 
    545      1.1    jruoho /*
    546      1.1    jruoho  * aslcodegen - code generation
    547      1.1    jruoho  */
    548      1.1    jruoho void
    549      1.1    jruoho CgGenerateAmlOutput (
    550      1.1    jruoho     void);
    551      1.1    jruoho 
    552      1.1    jruoho 
    553      1.1    jruoho /*
    554      1.1    jruoho  * aslfile
    555      1.1    jruoho  */
    556      1.1    jruoho void
    557      1.1    jruoho FlOpenFile (
    558      1.1    jruoho     UINT32                  FileId,
    559      1.1    jruoho     char                    *Filename,
    560      1.1    jruoho     char                    *Mode);
    561      1.1    jruoho 
    562      1.1    jruoho 
    563      1.1    jruoho /*
    564      1.1    jruoho  * asllength - calculate/adjust AML package lengths
    565      1.1    jruoho  */
    566      1.1    jruoho ACPI_STATUS
    567      1.1    jruoho LnPackageLengthWalk (
    568      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    569      1.1    jruoho     UINT32                  Level,
    570      1.1    jruoho     void                    *Context);
    571      1.1    jruoho 
    572      1.1    jruoho ACPI_STATUS
    573      1.1    jruoho LnInitLengthsWalk (
    574      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    575      1.1    jruoho     UINT32                  Level,
    576      1.1    jruoho     void                    *Context);
    577      1.1    jruoho 
    578      1.1    jruoho void
    579      1.1    jruoho CgGenerateAmlLengths (
    580      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    581      1.1    jruoho 
    582      1.1    jruoho 
    583      1.1    jruoho /*
    584      1.1    jruoho  * aslmap - opcode mappings and reserved method names
    585      1.1    jruoho  */
    586      1.1    jruoho ACPI_OBJECT_TYPE
    587      1.1    jruoho AslMapNamedOpcodeToDataType (
    588      1.1    jruoho     UINT16                  Opcode);
    589      1.1    jruoho 
    590      1.1    jruoho 
    591      1.1    jruoho /*
    592      1.1    jruoho  * aslpredef - ACPI predefined names support
    593      1.1    jruoho  */
    594  1.1.1.3    jruoho BOOLEAN
    595      1.1    jruoho ApCheckForPredefinedMethod (
    596      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    597      1.1    jruoho     ASL_METHOD_INFO         *MethodInfo);
    598      1.1    jruoho 
    599      1.1    jruoho void
    600      1.1    jruoho ApCheckPredefinedReturnValue (
    601      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    602      1.1    jruoho     ASL_METHOD_INFO         *MethodInfo);
    603      1.1    jruoho 
    604      1.1    jruoho UINT32
    605      1.1    jruoho ApCheckForPredefinedName (
    606      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    607      1.1    jruoho     char                    *Name);
    608      1.1    jruoho 
    609      1.1    jruoho void
    610      1.1    jruoho ApCheckForPredefinedObject (
    611      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    612      1.1    jruoho     char                    *Name);
    613      1.1    jruoho 
    614  1.1.1.4  christos ACPI_STATUS
    615  1.1.1.4  christos ApCheckObjectType (
    616  1.1.1.4  christos     const char              *PredefinedName,
    617  1.1.1.4  christos     ACPI_PARSE_OBJECT       *Op,
    618  1.1.1.4  christos     UINT32                  ExpectedBtypes,
    619  1.1.1.4  christos     UINT32                  PackageIndex);
    620  1.1.1.4  christos 
    621      1.1    jruoho void
    622      1.1    jruoho ApDisplayReservedNames (
    623      1.1    jruoho     void);
    624      1.1    jruoho 
    625      1.1    jruoho 
    626      1.1    jruoho /*
    627  1.1.1.4  christos  * aslprepkg - ACPI predefined names support for packages
    628  1.1.1.4  christos  */
    629  1.1.1.4  christos void
    630  1.1.1.4  christos ApCheckPackage (
    631  1.1.1.4  christos     ACPI_PARSE_OBJECT           *ParentOp,
    632  1.1.1.4  christos     const ACPI_PREDEFINED_INFO  *Predefined);
    633  1.1.1.4  christos 
    634  1.1.1.4  christos 
    635  1.1.1.4  christos /*
    636      1.1    jruoho  * asltransform - parse tree transformations
    637      1.1    jruoho  */
    638      1.1    jruoho ACPI_STATUS
    639      1.1    jruoho TrAmlTransformWalk (
    640      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    641      1.1    jruoho     UINT32                  Level,
    642      1.1    jruoho     void                    *Context);
    643      1.1    jruoho 
    644      1.1    jruoho 
    645      1.1    jruoho /*
    646      1.1    jruoho  * asltree - parse tree support
    647      1.1    jruoho  */
    648      1.1    jruoho ACPI_STATUS
    649      1.1    jruoho TrWalkParseTree (
    650      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    651      1.1    jruoho     UINT32                  Visitation,
    652      1.1    jruoho     ASL_WALK_CALLBACK       DescendingCallback,
    653      1.1    jruoho     ASL_WALK_CALLBACK       AscendingCallback,
    654      1.1    jruoho     void                    *Context);
    655      1.1    jruoho 
    656      1.1    jruoho /* Values for "Visitation" parameter above */
    657      1.1    jruoho 
    658      1.1    jruoho #define ASL_WALK_VISIT_DOWNWARD     0x01
    659      1.1    jruoho #define ASL_WALK_VISIT_UPWARD       0x02
    660      1.1    jruoho #define ASL_WALK_VISIT_TWICE        (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
    661      1.1    jruoho 
    662      1.1    jruoho 
    663      1.1    jruoho ACPI_PARSE_OBJECT *
    664      1.1    jruoho TrAllocateNode (
    665      1.1    jruoho     UINT32                  ParseOpcode);
    666      1.1    jruoho 
    667      1.1    jruoho void
    668      1.1    jruoho TrReleaseNode (
    669      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    670      1.1    jruoho 
    671      1.1    jruoho ACPI_PARSE_OBJECT *
    672      1.1    jruoho TrUpdateNode (
    673      1.1    jruoho     UINT32                  ParseOpcode,
    674      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    675      1.1    jruoho 
    676      1.1    jruoho ACPI_PARSE_OBJECT *
    677      1.1    jruoho TrCreateNode (
    678      1.1    jruoho     UINT32                  ParseOpcode,
    679      1.1    jruoho     UINT32                  NumChildren,
    680      1.1    jruoho     ...);
    681      1.1    jruoho 
    682      1.1    jruoho ACPI_PARSE_OBJECT *
    683      1.1    jruoho TrCreateLeafNode (
    684      1.1    jruoho     UINT32                  ParseOpcode);
    685      1.1    jruoho 
    686      1.1    jruoho ACPI_PARSE_OBJECT *
    687      1.1    jruoho TrCreateValuedLeafNode (
    688      1.1    jruoho     UINT32                  ParseOpcode,
    689      1.1    jruoho     UINT64                  Value);
    690      1.1    jruoho 
    691      1.1    jruoho ACPI_PARSE_OBJECT *
    692  1.1.1.2    jruoho TrCreateConstantLeafNode (
    693  1.1.1.2    jruoho     UINT32                  ParseOpcode);
    694  1.1.1.2    jruoho 
    695  1.1.1.2    jruoho ACPI_PARSE_OBJECT *
    696      1.1    jruoho TrLinkChildren (
    697      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    698      1.1    jruoho     UINT32                  NumChildren,
    699      1.1    jruoho     ...);
    700      1.1    jruoho 
    701      1.1    jruoho void
    702      1.1    jruoho TrSetEndLineNumber (
    703      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    704      1.1    jruoho 
    705      1.1    jruoho void
    706      1.1    jruoho TrWalkTree (
    707      1.1    jruoho     void);
    708      1.1    jruoho 
    709      1.1    jruoho ACPI_PARSE_OBJECT *
    710      1.1    jruoho TrLinkPeerNode (
    711      1.1    jruoho     ACPI_PARSE_OBJECT       *Op1,
    712      1.1    jruoho     ACPI_PARSE_OBJECT       *Op2);
    713      1.1    jruoho 
    714      1.1    jruoho ACPI_PARSE_OBJECT *
    715      1.1    jruoho TrLinkChildNode (
    716      1.1    jruoho     ACPI_PARSE_OBJECT       *Op1,
    717      1.1    jruoho     ACPI_PARSE_OBJECT       *Op2);
    718      1.1    jruoho 
    719      1.1    jruoho ACPI_PARSE_OBJECT *
    720      1.1    jruoho TrSetNodeFlags (
    721      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    722      1.1    jruoho     UINT32                  Flags);
    723      1.1    jruoho 
    724      1.1    jruoho ACPI_PARSE_OBJECT *
    725  1.1.1.4  christos TrSetNodeAmlLength (
    726  1.1.1.4  christos     ACPI_PARSE_OBJECT       *Op,
    727  1.1.1.4  christos     UINT32                  Length);
    728  1.1.1.4  christos 
    729  1.1.1.4  christos ACPI_PARSE_OBJECT *
    730      1.1    jruoho TrLinkPeerNodes (
    731      1.1    jruoho     UINT32                  NumPeers,
    732      1.1    jruoho     ...);
    733      1.1    jruoho 
    734      1.1    jruoho 
    735      1.1    jruoho /*
    736      1.1    jruoho  * aslfiles - File I/O support
    737      1.1    jruoho  */
    738      1.1    jruoho void
    739      1.1    jruoho FlAddIncludeDirectory (
    740      1.1    jruoho     char                    *Dir);
    741      1.1    jruoho 
    742  1.1.1.4  christos char *
    743  1.1.1.4  christos FlMergePathnames (
    744  1.1.1.4  christos     char                    *PrefixDir,
    745  1.1.1.4  christos     char                    *FilePathname);
    746  1.1.1.4  christos 
    747      1.1    jruoho void
    748      1.1    jruoho FlOpenIncludeFile (
    749      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    750      1.1    jruoho 
    751      1.1    jruoho void
    752      1.1    jruoho FlFileError (
    753      1.1    jruoho     UINT32                  FileId,
    754      1.1    jruoho     UINT8                   ErrorId);
    755      1.1    jruoho 
    756      1.1    jruoho UINT32
    757      1.1    jruoho FlGetFileSize (
    758      1.1    jruoho     UINT32                  FileId);
    759      1.1    jruoho 
    760      1.1    jruoho ACPI_STATUS
    761      1.1    jruoho FlReadFile (
    762      1.1    jruoho     UINT32                  FileId,
    763      1.1    jruoho     void                    *Buffer,
    764      1.1    jruoho     UINT32                  Length);
    765      1.1    jruoho 
    766      1.1    jruoho void
    767      1.1    jruoho FlWriteFile (
    768      1.1    jruoho     UINT32                  FileId,
    769      1.1    jruoho     void                    *Buffer,
    770      1.1    jruoho     UINT32                  Length);
    771      1.1    jruoho 
    772      1.1    jruoho void
    773      1.1    jruoho FlSeekFile (
    774      1.1    jruoho     UINT32                  FileId,
    775      1.1    jruoho     long                    Offset);
    776      1.1    jruoho 
    777      1.1    jruoho void
    778      1.1    jruoho FlCloseFile (
    779      1.1    jruoho     UINT32                  FileId);
    780      1.1    jruoho 
    781      1.1    jruoho void
    782      1.1    jruoho FlPrintFile (
    783      1.1    jruoho     UINT32                  FileId,
    784      1.1    jruoho     char                    *Format,
    785      1.1    jruoho     ...);
    786      1.1    jruoho 
    787      1.1    jruoho void
    788  1.1.1.4  christos FlDeleteFile (
    789  1.1.1.4  christos     UINT32                  FileId);
    790  1.1.1.4  christos 
    791  1.1.1.4  christos void
    792      1.1    jruoho FlSetLineNumber (
    793  1.1.1.4  christos     UINT32                  LineNumber);
    794  1.1.1.4  christos 
    795  1.1.1.4  christos void
    796  1.1.1.4  christos FlSetFilename (
    797  1.1.1.4  christos     char                    *Filename);
    798      1.1    jruoho 
    799      1.1    jruoho ACPI_STATUS
    800      1.1    jruoho FlOpenInputFile (
    801      1.1    jruoho     char                    *InputFilename);
    802      1.1    jruoho 
    803      1.1    jruoho ACPI_STATUS
    804      1.1    jruoho FlOpenAmlOutputFile (
    805      1.1    jruoho     char                    *InputFilename);
    806      1.1    jruoho 
    807      1.1    jruoho ACPI_STATUS
    808      1.1    jruoho FlOpenMiscOutputFiles (
    809      1.1    jruoho     char                    *InputFilename);
    810      1.1    jruoho 
    811  1.1.1.5  christos /*
    812  1.1.1.5  christos  * aslhwmap - hardware map summary
    813  1.1.1.5  christos  */
    814  1.1.1.5  christos void
    815  1.1.1.5  christos MpEmitMappingInfo (
    816  1.1.1.5  christos     void);
    817  1.1.1.5  christos 
    818      1.1    jruoho 
    819      1.1    jruoho /*
    820      1.1    jruoho  * asload - load namespace in prep for cross reference
    821      1.1    jruoho  */
    822      1.1    jruoho ACPI_STATUS
    823      1.1    jruoho LdLoadNamespace (
    824      1.1    jruoho     ACPI_PARSE_OBJECT       *RootOp);
    825      1.1    jruoho 
    826      1.1    jruoho 
    827      1.1    jruoho /*
    828  1.1.1.4  christos  * asllookup - namespace lookup functions
    829      1.1    jruoho  */
    830  1.1.1.4  christos void
    831  1.1.1.4  christos LkFindUnreferencedObjects (
    832      1.1    jruoho     void);
    833      1.1    jruoho 
    834  1.1.1.4  christos /*
    835  1.1.1.4  christos  * aslmain - startup
    836  1.1.1.4  christos  */
    837      1.1    jruoho void
    838  1.1.1.4  christos Usage (
    839      1.1    jruoho     void);
    840      1.1    jruoho 
    841  1.1.1.4  christos void
    842  1.1.1.4  christos AslFilenameHelp (
    843  1.1.1.4  christos     void);
    844  1.1.1.4  christos 
    845  1.1.1.4  christos 
    846  1.1.1.4  christos /*
    847  1.1.1.4  christos  * aslnamesp - namespace output file generation
    848  1.1.1.4  christos  */
    849      1.1    jruoho ACPI_STATUS
    850  1.1.1.4  christos NsDisplayNamespace (
    851      1.1    jruoho     void);
    852      1.1    jruoho 
    853  1.1.1.2    jruoho void
    854  1.1.1.4  christos NsSetupNamespaceListing (
    855  1.1.1.2    jruoho     void                    *Handle);
    856  1.1.1.2    jruoho 
    857  1.1.1.4  christos /*
    858  1.1.1.4  christos  * asloptions - command line processing
    859  1.1.1.4  christos  */
    860  1.1.1.4  christos int
    861  1.1.1.4  christos AslCommandLine (
    862  1.1.1.4  christos     int                     argc,
    863  1.1.1.4  christos     char                    **argv);
    864  1.1.1.4  christos 
    865  1.1.1.4  christos /*
    866  1.1.1.4  christos  * aslxref - namespace cross reference
    867  1.1.1.4  christos  */
    868  1.1.1.4  christos ACPI_STATUS
    869  1.1.1.4  christos XfCrossReferenceNamespace (
    870  1.1.1.4  christos     void);
    871  1.1.1.4  christos 
    872      1.1    jruoho 
    873      1.1    jruoho /*
    874      1.1    jruoho  * aslutils - common compiler utilites
    875      1.1    jruoho  */
    876      1.1    jruoho void
    877      1.1    jruoho DbgPrint (
    878      1.1    jruoho     UINT32                  Type,
    879      1.1    jruoho     char                    *Format,
    880      1.1    jruoho     ...);
    881      1.1    jruoho 
    882      1.1    jruoho /* Type values for above */
    883      1.1    jruoho 
    884      1.1    jruoho #define ASL_DEBUG_OUTPUT    0
    885      1.1    jruoho #define ASL_PARSE_OUTPUT    1
    886      1.1    jruoho #define ASL_TREE_OUTPUT     2
    887      1.1    jruoho 
    888      1.1    jruoho void
    889  1.1.1.2    jruoho UtDisplaySupportedTables (
    890  1.1.1.2    jruoho     void);
    891  1.1.1.2    jruoho 
    892  1.1.1.2    jruoho void
    893      1.1    jruoho UtDisplayConstantOpcodes (
    894      1.1    jruoho     void);
    895      1.1    jruoho 
    896      1.1    jruoho UINT8
    897      1.1    jruoho UtBeginEvent (
    898      1.1    jruoho     char                    *Name);
    899      1.1    jruoho 
    900      1.1    jruoho void
    901      1.1    jruoho UtEndEvent (
    902      1.1    jruoho     UINT8                   Event);
    903      1.1    jruoho 
    904      1.1    jruoho void *
    905      1.1    jruoho UtLocalCalloc (
    906      1.1    jruoho     UINT32                  Size);
    907      1.1    jruoho 
    908      1.1    jruoho void
    909      1.1    jruoho UtPrintFormattedName (
    910      1.1    jruoho     UINT16                  ParseOpcode,
    911      1.1    jruoho     UINT32                  Level);
    912      1.1    jruoho 
    913      1.1    jruoho void
    914      1.1    jruoho UtDisplaySummary (
    915      1.1    jruoho     UINT32                  FileId);
    916      1.1    jruoho 
    917      1.1    jruoho void
    918      1.1    jruoho UtConvertByteToHex (
    919      1.1    jruoho     UINT8                   RawByte,
    920      1.1    jruoho     UINT8                   *Buffer);
    921      1.1    jruoho 
    922      1.1    jruoho void
    923      1.1    jruoho UtConvertByteToAsmHex (
    924      1.1    jruoho     UINT8                   RawByte,
    925      1.1    jruoho     UINT8                   *Buffer);
    926      1.1    jruoho 
    927      1.1    jruoho char *
    928      1.1    jruoho UtGetOpName (
    929      1.1    jruoho     UINT32                  ParseOpcode);
    930      1.1    jruoho 
    931      1.1    jruoho void
    932      1.1    jruoho UtSetParseOpName (
    933      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    934      1.1    jruoho 
    935      1.1    jruoho char *
    936  1.1.1.5  christos UtStringCacheCalloc (
    937      1.1    jruoho     UINT32                  Length);
    938      1.1    jruoho 
    939  1.1.1.4  christos void
    940  1.1.1.4  christos UtExpandLineBuffers (
    941  1.1.1.4  christos     void);
    942  1.1.1.4  christos 
    943  1.1.1.5  christos void
    944  1.1.1.5  christos UtFreeLineBuffers (
    945  1.1.1.5  christos     void);
    946  1.1.1.5  christos 
    947      1.1    jruoho ACPI_STATUS
    948      1.1    jruoho UtInternalizeName (
    949      1.1    jruoho     char                    *ExternalName,
    950      1.1    jruoho     char                    **ConvertedName);
    951      1.1    jruoho 
    952      1.1    jruoho void
    953      1.1    jruoho UtAttachNamepathToOwner (
    954      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    955      1.1    jruoho     ACPI_PARSE_OBJECT       *NameNode);
    956      1.1    jruoho 
    957      1.1    jruoho ACPI_PARSE_OBJECT *
    958      1.1    jruoho UtCheckIntegerRange (
    959      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    960      1.1    jruoho     UINT32                  LowValue,
    961      1.1    jruoho     UINT32                  HighValue);
    962      1.1    jruoho 
    963      1.1    jruoho UINT64
    964      1.1    jruoho UtDoConstant (
    965      1.1    jruoho     char                    *String);
    966      1.1    jruoho 
    967  1.1.1.3    jruoho ACPI_STATUS
    968  1.1.1.3    jruoho UtStrtoul64 (
    969  1.1.1.3    jruoho     char                    *String,
    970  1.1.1.3    jruoho     UINT32                  Base,
    971  1.1.1.3    jruoho     UINT64                  *RetInteger);
    972  1.1.1.3    jruoho 
    973  1.1.1.3    jruoho 
    974  1.1.1.2    jruoho /*
    975  1.1.1.2    jruoho  * asluuid - UUID support
    976  1.1.1.2    jruoho  */
    977  1.1.1.2    jruoho ACPI_STATUS
    978  1.1.1.2    jruoho AuValidateUuid (
    979  1.1.1.2    jruoho     char                    *InString);
    980  1.1.1.2    jruoho 
    981  1.1.1.2    jruoho ACPI_STATUS
    982  1.1.1.2    jruoho AuConvertUuidToString (
    983  1.1.1.2    jruoho     char                    *UuIdBuffer,
    984  1.1.1.2    jruoho     char                    *OutString);
    985      1.1    jruoho 
    986      1.1    jruoho /*
    987      1.1    jruoho  * aslresource - Resource template generation utilities
    988      1.1    jruoho  */
    989      1.1    jruoho void
    990      1.1    jruoho RsSmallAddressCheck (
    991      1.1    jruoho     UINT8                   Type,
    992      1.1    jruoho     UINT32                  Minimum,
    993      1.1    jruoho     UINT32                  Maximum,
    994      1.1    jruoho     UINT32                  Length,
    995      1.1    jruoho     UINT32                  Alignment,
    996      1.1    jruoho     ACPI_PARSE_OBJECT       *MinOp,
    997      1.1    jruoho     ACPI_PARSE_OBJECT       *MaxOp,
    998      1.1    jruoho     ACPI_PARSE_OBJECT       *LengthOp,
    999  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *AlignOp,
   1000  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
   1001      1.1    jruoho 
   1002      1.1    jruoho void
   1003      1.1    jruoho RsLargeAddressCheck (
   1004      1.1    jruoho     UINT64                  Minimum,
   1005      1.1    jruoho     UINT64                  Maximum,
   1006      1.1    jruoho     UINT64                  Length,
   1007      1.1    jruoho     UINT64                  Granularity,
   1008      1.1    jruoho     UINT8                   Flags,
   1009      1.1    jruoho     ACPI_PARSE_OBJECT       *MinOp,
   1010      1.1    jruoho     ACPI_PARSE_OBJECT       *MaxOp,
   1011      1.1    jruoho     ACPI_PARSE_OBJECT       *LengthOp,
   1012  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *GranOp,
   1013  1.1.1.2    jruoho     ACPI_PARSE_OBJECT       *Op);
   1014      1.1    jruoho 
   1015      1.1    jruoho UINT16
   1016      1.1    jruoho RsGetStringDataLength (
   1017      1.1    jruoho     ACPI_PARSE_OBJECT       *InitializerOp);
   1018      1.1    jruoho 
   1019      1.1    jruoho ASL_RESOURCE_NODE *
   1020      1.1    jruoho RsAllocateResourceNode (
   1021      1.1    jruoho     UINT32                  Size);
   1022      1.1    jruoho 
   1023      1.1    jruoho void
   1024  1.1.1.4  christos RsCreateResourceField (
   1025      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1026      1.1    jruoho     char                    *Name,
   1027      1.1    jruoho     UINT32                  ByteOffset,
   1028  1.1.1.4  christos     UINT32                  BitOffset,
   1029  1.1.1.4  christos     UINT32                  BitLength);
   1030      1.1    jruoho 
   1031      1.1    jruoho void
   1032  1.1.1.4  christos RsSetFlagBits (
   1033  1.1.1.4  christos     UINT8                   *Flags,
   1034      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1035  1.1.1.4  christos     UINT8                   Position,
   1036  1.1.1.4  christos     UINT8                   DefaultBit);
   1037      1.1    jruoho 
   1038      1.1    jruoho void
   1039  1.1.1.4  christos RsSetFlagBits16 (
   1040  1.1.1.4  christos     UINT16                  *Flags,
   1041      1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1042      1.1    jruoho     UINT8                   Position,
   1043      1.1    jruoho     UINT8                   DefaultBit);
   1044      1.1    jruoho 
   1045      1.1    jruoho ACPI_PARSE_OBJECT *
   1046      1.1    jruoho RsCompleteNodeAndGetNext (
   1047      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1048      1.1    jruoho 
   1049      1.1    jruoho void
   1050      1.1    jruoho RsCheckListForDuplicates (
   1051      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1052      1.1    jruoho 
   1053      1.1    jruoho ASL_RESOURCE_NODE *
   1054      1.1    jruoho RsDoOneResourceDescriptor (
   1055  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info,
   1056      1.1    jruoho     UINT8                   *State);
   1057      1.1    jruoho 
   1058      1.1    jruoho /* Values for State above */
   1059      1.1    jruoho 
   1060      1.1    jruoho #define ACPI_RSTATE_NORMAL              0
   1061      1.1    jruoho #define ACPI_RSTATE_START_DEPENDENT     1
   1062      1.1    jruoho #define ACPI_RSTATE_DEPENDENT_LIST      2
   1063      1.1    jruoho 
   1064      1.1    jruoho UINT32
   1065      1.1    jruoho RsLinkDescriptorChain (
   1066      1.1    jruoho     ASL_RESOURCE_NODE       **PreviousRnode,
   1067      1.1    jruoho     ASL_RESOURCE_NODE       *Rnode);
   1068      1.1    jruoho 
   1069      1.1    jruoho void
   1070      1.1    jruoho RsDoResourceTemplate (
   1071      1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1072      1.1    jruoho 
   1073      1.1    jruoho 
   1074      1.1    jruoho /*
   1075      1.1    jruoho  * aslrestype1 - Miscellaneous Small descriptors
   1076      1.1    jruoho  */
   1077      1.1    jruoho ASL_RESOURCE_NODE *
   1078      1.1    jruoho RsDoEndTagDescriptor (
   1079  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1080      1.1    jruoho 
   1081      1.1    jruoho ASL_RESOURCE_NODE *
   1082      1.1    jruoho RsDoEndDependentDescriptor (
   1083  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1084      1.1    jruoho 
   1085      1.1    jruoho ASL_RESOURCE_NODE *
   1086      1.1    jruoho RsDoMemory24Descriptor (
   1087  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1088      1.1    jruoho 
   1089      1.1    jruoho ASL_RESOURCE_NODE *
   1090      1.1    jruoho RsDoMemory32Descriptor (
   1091  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1092      1.1    jruoho 
   1093      1.1    jruoho ASL_RESOURCE_NODE *
   1094      1.1    jruoho RsDoMemory32FixedDescriptor (
   1095  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1096      1.1    jruoho 
   1097      1.1    jruoho ASL_RESOURCE_NODE *
   1098      1.1    jruoho RsDoStartDependentDescriptor (
   1099  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1100      1.1    jruoho 
   1101      1.1    jruoho ASL_RESOURCE_NODE *
   1102      1.1    jruoho RsDoStartDependentNoPriDescriptor (
   1103  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1104      1.1    jruoho 
   1105      1.1    jruoho ASL_RESOURCE_NODE *
   1106      1.1    jruoho RsDoVendorSmallDescriptor (
   1107  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1108      1.1    jruoho 
   1109      1.1    jruoho 
   1110      1.1    jruoho /*
   1111      1.1    jruoho  * aslrestype1i - I/O-related Small descriptors
   1112      1.1    jruoho  */
   1113      1.1    jruoho ASL_RESOURCE_NODE *
   1114      1.1    jruoho RsDoDmaDescriptor (
   1115  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1116      1.1    jruoho 
   1117      1.1    jruoho ASL_RESOURCE_NODE *
   1118  1.1.1.4  christos RsDoFixedDmaDescriptor (
   1119  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1120  1.1.1.4  christos 
   1121  1.1.1.4  christos ASL_RESOURCE_NODE *
   1122      1.1    jruoho RsDoFixedIoDescriptor (
   1123  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1124      1.1    jruoho 
   1125      1.1    jruoho ASL_RESOURCE_NODE *
   1126      1.1    jruoho RsDoIoDescriptor (
   1127  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1128      1.1    jruoho 
   1129      1.1    jruoho ASL_RESOURCE_NODE *
   1130      1.1    jruoho RsDoIrqDescriptor (
   1131  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1132      1.1    jruoho 
   1133      1.1    jruoho ASL_RESOURCE_NODE *
   1134      1.1    jruoho RsDoIrqNoFlagsDescriptor (
   1135  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1136      1.1    jruoho 
   1137      1.1    jruoho 
   1138      1.1    jruoho /*
   1139      1.1    jruoho  * aslrestype2 - Large resource descriptors
   1140      1.1    jruoho  */
   1141      1.1    jruoho ASL_RESOURCE_NODE *
   1142      1.1    jruoho RsDoInterruptDescriptor (
   1143  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1144      1.1    jruoho 
   1145      1.1    jruoho ASL_RESOURCE_NODE *
   1146      1.1    jruoho RsDoVendorLargeDescriptor (
   1147  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1148      1.1    jruoho 
   1149      1.1    jruoho ASL_RESOURCE_NODE *
   1150      1.1    jruoho RsDoGeneralRegisterDescriptor (
   1151  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1152      1.1    jruoho 
   1153  1.1.1.4  christos ASL_RESOURCE_NODE *
   1154  1.1.1.4  christos RsDoGpioIntDescriptor (
   1155  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1156  1.1.1.4  christos 
   1157  1.1.1.4  christos ASL_RESOURCE_NODE *
   1158  1.1.1.4  christos RsDoGpioIoDescriptor (
   1159  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1160  1.1.1.4  christos 
   1161  1.1.1.4  christos ASL_RESOURCE_NODE *
   1162  1.1.1.4  christos RsDoI2cSerialBusDescriptor (
   1163  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1164  1.1.1.4  christos 
   1165  1.1.1.4  christos ASL_RESOURCE_NODE *
   1166  1.1.1.4  christos RsDoSpiSerialBusDescriptor (
   1167  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1168  1.1.1.4  christos 
   1169  1.1.1.4  christos ASL_RESOURCE_NODE *
   1170  1.1.1.4  christos RsDoUartSerialBusDescriptor (
   1171  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1172      1.1    jruoho 
   1173      1.1    jruoho /*
   1174      1.1    jruoho  * aslrestype2d - DWord address descriptors
   1175      1.1    jruoho  */
   1176      1.1    jruoho ASL_RESOURCE_NODE *
   1177      1.1    jruoho RsDoDwordIoDescriptor (
   1178  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1179      1.1    jruoho 
   1180      1.1    jruoho ASL_RESOURCE_NODE *
   1181      1.1    jruoho RsDoDwordMemoryDescriptor (
   1182  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1183      1.1    jruoho 
   1184      1.1    jruoho ASL_RESOURCE_NODE *
   1185      1.1    jruoho RsDoDwordSpaceDescriptor (
   1186  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1187      1.1    jruoho 
   1188      1.1    jruoho 
   1189      1.1    jruoho /*
   1190      1.1    jruoho  * aslrestype2e - Extended address descriptors
   1191      1.1    jruoho  */
   1192      1.1    jruoho ASL_RESOURCE_NODE *
   1193      1.1    jruoho RsDoExtendedIoDescriptor (
   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 RsDoExtendedMemoryDescriptor (
   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 RsDoExtendedSpaceDescriptor (
   1202  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1203      1.1    jruoho 
   1204      1.1    jruoho 
   1205      1.1    jruoho /*
   1206      1.1    jruoho  * aslrestype2q - QWord address descriptors
   1207      1.1    jruoho  */
   1208      1.1    jruoho ASL_RESOURCE_NODE *
   1209      1.1    jruoho RsDoQwordIoDescriptor (
   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 RsDoQwordMemoryDescriptor (
   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 RsDoQwordSpaceDescriptor (
   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  * aslrestype2w - Word address descriptors
   1223      1.1    jruoho  */
   1224      1.1    jruoho ASL_RESOURCE_NODE *
   1225      1.1    jruoho RsDoWordIoDescriptor (
   1226  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1227      1.1    jruoho 
   1228      1.1    jruoho ASL_RESOURCE_NODE *
   1229      1.1    jruoho RsDoWordSpaceDescriptor (
   1230  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1231      1.1    jruoho 
   1232      1.1    jruoho ASL_RESOURCE_NODE *
   1233      1.1    jruoho RsDoWordBusNumberDescriptor (
   1234  1.1.1.5  christos     ASL_RESOURCE_INFO       *Info);
   1235  1.1.1.5  christos 
   1236      1.1    jruoho 
   1237      1.1    jruoho /*
   1238      1.1    jruoho  * Entry to data table compiler subsystem
   1239      1.1    jruoho  */
   1240      1.1    jruoho ACPI_STATUS
   1241      1.1    jruoho DtDoCompile(
   1242      1.1    jruoho     void);
   1243      1.1    jruoho 
   1244  1.1.1.2    jruoho ACPI_STATUS
   1245  1.1.1.2    jruoho DtCreateTemplates (
   1246  1.1.1.2    jruoho     char                    *Signature);
   1247  1.1.1.2    jruoho 
   1248      1.1    jruoho #endif /*  __ASLCOMPILER_H */
   1249