Home | History | Annotate | Line # | Download | only in include
acconvert.h revision 1.1
      1 /******************************************************************************
      2  *
      3  * Module Name: acapps - common include for ACPI applications/tools
      4  *
      5  *****************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2017, 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 MERCHANTIBILITY 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     UINT8                   *AmlStart,
    133     UINT32                  AmlLength);
    134 
    135 void
    136 CvClearOpComments (
    137     ACPI_PARSE_OBJECT       *Op);
    138 
    139 ACPI_FILE_NODE*
    140 CvFilenameExists (
    141     char                    *Filename,
    142     ACPI_FILE_NODE           *Head);
    143 
    144 void
    145 CvLabelFileNode (
    146     ACPI_PARSE_OBJECT       *Op);
    147 
    148 void
    149 CvCaptureListComments (
    150     ACPI_PARSE_STATE        *ParserState,
    151     ACPI_COMMENT_NODE       *ListHead,
    152     ACPI_COMMENT_NODE       *ListTail);
    153 
    154 void
    155 CvCaptureCommentsOnly (
    156     ACPI_PARSE_STATE        *ParserState);
    157 
    158 void
    159 CvCaptureComments (
    160     ACPI_WALK_STATE         *WalkState);
    161 
    162 void
    163 CvTransferComments (
    164     ACPI_PARSE_OBJECT       *Op);
    165 
    166 /*
    167  * cvdisasm
    168  */
    169 void
    170 CvSwitchFiles (
    171     UINT32                  level,
    172     ACPI_PARSE_OBJECT       *op);
    173 
    174 BOOLEAN
    175 CvFileHasSwitched (
    176     ACPI_PARSE_OBJECT       *Op);
    177 
    178 
    179 void
    180 CvCloseParenWriteComment (
    181     ACPI_PARSE_OBJECT       *Op,
    182     UINT32                  Level);
    183 
    184 void
    185 CvCloseBraceWriteComment (
    186     ACPI_PARSE_OBJECT       *Op,
    187     UINT32                  Level);
    188 
    189 void
    190 CvPrintOneCommentList (
    191     ACPI_COMMENT_NODE       *CommentList,
    192     UINT32                  Level);
    193 
    194 void
    195 CvPrintOneCommentType (
    196     ACPI_PARSE_OBJECT       *Op,
    197     UINT8                   CommentType,
    198     char*                   EndStr,
    199     UINT32                  Level);
    200 
    201 
    202 #endif
    203 
    204 #endif /* _ACCONVERT */
    205