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