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