Home | History | Annotate | Line # | Download | only in include
acconvert.h revision 1.1.1.5
      1 /******************************************************************************
      2  *
      3  * Module Name: acapps - common include for ACPI applications/tools
      4  *
      5  *****************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2021, Intel Corp.
      9  * All rights reserved.
     10  *
     11  * Redistribution and use in source and binary forms, with or without
     12  * modification, are permitted provided that the following conditions
     13  * are met:
     14  * 1. Redistributions of source code must retain the above copyright
     15  *    notice, this list of conditions, and the following disclaimer,
     16  *    without modification.
     17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  *    including a substantially similar Disclaimer requirement for further
     21  *    binary redistribution.
     22  * 3. Neither the names of the above-listed copyright holders nor the names
     23  *    of any contributors may be used to endorse or promote products derived
     24  *    from this software without specific prior written permission.
     25  *
     26  * Alternatively, this software may be distributed under the terms of the
     27  * GNU General Public License ("GPL") version 2 as published by the Free
     28  * Software Foundation.
     29  *
     30  * NO WARRANTY
     31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  * POSSIBILITY OF SUCH DAMAGES.
     42  */
     43 
     44 #ifndef _ACCONVERT
     45 #define _ACCONVERT
     46 
     47 /* Definitions for comment state */
     48 
     49 #define ASL_COMMENT_STANDARD    1
     50 #define ASLCOMMENT_INLINE       2
     51 #define ASL_COMMENT_OPEN_PAREN  3
     52 #define ASL_COMMENT_CLOSE_PAREN 4
     53 #define ASL_COMMENT_CLOSE_BRACE 5
     54 
     55 /* Definitions for comment print function*/
     56 
     57 #define AML_COMMENT_STANDARD    1
     58 #define AMLCOMMENT_INLINE       2
     59 #define AML_COMMENT_END_NODE    3
     60 #define AML_NAMECOMMENT         4
     61 #define AML_COMMENT_CLOSE_BRACE 5
     62 #define AML_COMMENT_ENDBLK      6
     63 #define AML_COMMENT_INCLUDE     7
     64 
     65 
     66 #ifdef ACPI_ASL_COMPILER
     67 /*
     68  * cvcompiler
     69  */
     70 void
     71 CvProcessComment (
     72     ASL_COMMENT_STATE       CurrentState,
     73     char                    *StringBuffer,
     74     int                     c1);
     75 
     76 void
     77 CvProcessCommentType2 (
     78     ASL_COMMENT_STATE       CurrentState,
     79     char                    *StringBuffer);
     80 
     81 UINT32
     82 CvCalculateCommentLengths(
     83    ACPI_PARSE_OBJECT        *Op);
     84 
     85 void
     86 CvProcessCommentState (
     87     char                    input);
     88 
     89 char*
     90 CvAppendInlineComment (
     91     char                    *InlineComment,
     92     char                    *ToAdd);
     93 
     94 void
     95 CvAddToCommentList (
     96     char*                   ToAdd);
     97 
     98 void
     99 CvPlaceComment (
    100     UINT8                   Type,
    101     char                    *CommentString);
    102 
    103 UINT32
    104 CvParseOpBlockType (
    105     ACPI_PARSE_OBJECT       *Op);
    106 
    107 ACPI_COMMENT_NODE*
    108 CvCommentNodeCalloc (
    109     void);
    110 
    111 void
    112 CgWriteAmlDefBlockComment (
    113     ACPI_PARSE_OBJECT       *Op);
    114 
    115 void
    116 CgWriteOneAmlComment (
    117     ACPI_PARSE_OBJECT       *Op,
    118     char*                   CommentToPrint,
    119     UINT8                   InputOption);
    120 
    121 void
    122 CgWriteAmlComment (
    123     ACPI_PARSE_OBJECT       *Op);
    124 
    125 
    126 /*
    127  * cvparser
    128  */
    129 void
    130 CvInitFileTree (
    131     ACPI_TABLE_HEADER       *Table,
    132     FILE                    *RootFile);
    133 
    134 void
    135 CvClearOpComments (
    136     ACPI_PARSE_OBJECT       *Op);
    137 
    138 ACPI_FILE_NODE*
    139 CvFilenameExists (
    140     char                    *Filename,
    141     ACPI_FILE_NODE           *Head);
    142 
    143 void
    144 CvLabelFileNode (
    145     ACPI_PARSE_OBJECT       *Op);
    146 
    147 void
    148 CvCaptureListComments (
    149     ACPI_PARSE_STATE        *ParserState,
    150     ACPI_COMMENT_NODE       *ListHead,
    151     ACPI_COMMENT_NODE       *ListTail);
    152 
    153 void
    154 CvCaptureCommentsOnly (
    155     ACPI_PARSE_STATE        *ParserState);
    156 
    157 void
    158 CvCaptureComments (
    159     ACPI_WALK_STATE         *WalkState);
    160 
    161 void
    162 CvTransferComments (
    163     ACPI_PARSE_OBJECT       *Op);
    164 
    165 /*
    166  * cvdisasm
    167  */
    168 void
    169 CvSwitchFiles (
    170     UINT32                  level,
    171     ACPI_PARSE_OBJECT       *op);
    172 
    173 BOOLEAN
    174 CvFileHasSwitched (
    175     ACPI_PARSE_OBJECT       *Op);
    176 
    177 
    178 void
    179 CvCloseParenWriteComment (
    180     ACPI_PARSE_OBJECT       *Op,
    181     UINT32                  Level);
    182 
    183 void
    184 CvCloseBraceWriteComment (
    185     ACPI_PARSE_OBJECT       *Op,
    186     UINT32                  Level);
    187 
    188 void
    189 CvPrintOneCommentList (
    190     ACPI_COMMENT_NODE       *CommentList,
    191     UINT32                  Level);
    192 
    193 void
    194 CvPrintOneCommentType (
    195     ACPI_PARSE_OBJECT       *Op,
    196     UINT8                   CommentType,
    197     char*                   EndStr,
    198     UINT32                  Level);
    199 
    200 
    201 #endif
    202 
    203 #endif /* _ACCONVERT */
    204