1 1.1 jruoho /****************************************************************************** 2 1.1 jruoho * 3 1.1 jruoho * Module Name: dtcompiler.h - header for data table compiler 4 1.1 jruoho * 5 1.1 jruoho *****************************************************************************/ 6 1.1 jruoho 7 1.1.1.27 christos /****************************************************************************** 8 1.1.1.27 christos * 9 1.1.1.27 christos * 1. Copyright Notice 10 1.1.1.27 christos * 11 1.1.1.28 christos * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp. 12 1.1 jruoho * All rights reserved. 13 1.1 jruoho * 14 1.1.1.27 christos * 2. License 15 1.1.1.27 christos * 16 1.1.1.27 christos * 2.1. This is your license from Intel Corp. under its intellectual property 17 1.1.1.27 christos * rights. You may have additional license terms from the party that provided 18 1.1.1.27 christos * you this software, covering your right to use that party's intellectual 19 1.1.1.27 christos * property rights. 20 1.1.1.27 christos * 21 1.1.1.27 christos * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22 1.1.1.27 christos * copy of the source code appearing in this file ("Covered Code") an 23 1.1.1.27 christos * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24 1.1.1.27 christos * base code distributed originally by Intel ("Original Intel Code") to copy, 25 1.1.1.27 christos * make derivatives, distribute, use and display any portion of the Covered 26 1.1.1.27 christos * Code in any form, with the right to sublicense such rights; and 27 1.1.1.27 christos * 28 1.1.1.27 christos * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29 1.1.1.27 christos * license (with the right to sublicense), under only those claims of Intel 30 1.1.1.27 christos * patents that are infringed by the Original Intel Code, to make, use, sell, 31 1.1.1.27 christos * offer to sell, and import the Covered Code and derivative works thereof 32 1.1.1.27 christos * solely to the minimum extent necessary to exercise the above copyright 33 1.1.1.27 christos * license, and in no event shall the patent license extend to any additions 34 1.1.1.27 christos * to or modifications of the Original Intel Code. No other license or right 35 1.1.1.27 christos * is granted directly or by implication, estoppel or otherwise; 36 1.1.1.27 christos * 37 1.1.1.27 christos * The above copyright and patent license is granted only if the following 38 1.1.1.27 christos * conditions are met: 39 1.1.1.27 christos * 40 1.1.1.27 christos * 3. Conditions 41 1.1.1.27 christos * 42 1.1.1.27 christos * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43 1.1.1.27 christos * Redistribution of source code of any substantial portion of the Covered 44 1.1.1.27 christos * Code or modification with rights to further distribute source must include 45 1.1.1.27 christos * the above Copyright Notice, the above License, this list of Conditions, 46 1.1.1.27 christos * and the following Disclaimer and Export Compliance provision. In addition, 47 1.1.1.27 christos * Licensee must cause all Covered Code to which Licensee contributes to 48 1.1.1.27 christos * contain a file documenting the changes Licensee made to create that Covered 49 1.1.1.27 christos * Code and the date of any change. Licensee must include in that file the 50 1.1.1.27 christos * documentation of any changes made by any predecessor Licensee. Licensee 51 1.1.1.27 christos * must include a prominent statement that the modification is derived, 52 1.1.1.27 christos * directly or indirectly, from Original Intel Code. 53 1.1.1.27 christos * 54 1.1.1.27 christos * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55 1.1.1.27 christos * Redistribution of source code of any substantial portion of the Covered 56 1.1.1.27 christos * Code or modification without rights to further distribute source must 57 1.1.1.27 christos * include the following Disclaimer and Export Compliance provision in the 58 1.1.1.27 christos * documentation and/or other materials provided with distribution. In 59 1.1.1.27 christos * addition, Licensee may not authorize further sublicense of source of any 60 1.1.1.27 christos * portion of the Covered Code, and must include terms to the effect that the 61 1.1.1.27 christos * license from Licensee to its licensee is limited to the intellectual 62 1.1.1.27 christos * property embodied in the software Licensee provides to its licensee, and 63 1.1.1.27 christos * not to intellectual property embodied in modifications its licensee may 64 1.1.1.27 christos * make. 65 1.1.1.27 christos * 66 1.1.1.27 christos * 3.3. Redistribution of Executable. Redistribution in executable form of any 67 1.1.1.27 christos * substantial portion of the Covered Code or modification must reproduce the 68 1.1.1.27 christos * above Copyright Notice, and the following Disclaimer and Export Compliance 69 1.1.1.27 christos * provision in the documentation and/or other materials provided with the 70 1.1.1.27 christos * distribution. 71 1.1.1.27 christos * 72 1.1.1.27 christos * 3.4. Intel retains all right, title, and interest in and to the Original 73 1.1.1.27 christos * Intel Code. 74 1.1.1.27 christos * 75 1.1.1.27 christos * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76 1.1.1.27 christos * Intel shall be used in advertising or otherwise to promote the sale, use or 77 1.1.1.27 christos * other dealings in products derived from or relating to the Covered Code 78 1.1.1.27 christos * without prior written authorization from Intel. 79 1.1.1.27 christos * 80 1.1.1.27 christos * 4. Disclaimer and Export Compliance 81 1.1.1.27 christos * 82 1.1.1.27 christos * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83 1.1.1.27 christos * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84 1.1.1.27 christos * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85 1.1.1.27 christos * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86 1.1.1.27 christos * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87 1.1.1.27 christos * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88 1.1.1.27 christos * PARTICULAR PURPOSE. 89 1.1.1.27 christos * 90 1.1.1.27 christos * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91 1.1.1.27 christos * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92 1.1.1.27 christos * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93 1.1.1.27 christos * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94 1.1.1.27 christos * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95 1.1.1.27 christos * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96 1.1.1.27 christos * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97 1.1.1.27 christos * LIMITED REMEDY. 98 1.1.1.27 christos * 99 1.1.1.27 christos * 4.3. Licensee shall not export, either directly or indirectly, any of this 100 1.1.1.27 christos * software or system incorporating such software without first obtaining any 101 1.1.1.27 christos * required license or other approval from the U. S. Department of Commerce or 102 1.1.1.27 christos * any other agency or department of the United States Government. In the 103 1.1.1.27 christos * event Licensee exports any such software from the United States or 104 1.1.1.27 christos * re-exports any such software from a foreign destination, Licensee shall 105 1.1.1.27 christos * ensure that the distribution and export/re-export of the software is in 106 1.1.1.27 christos * compliance with all laws, regulations, orders, or other restrictions of the 107 1.1.1.27 christos * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108 1.1.1.27 christos * any of its subsidiaries will export/re-export any technical data, process, 109 1.1.1.27 christos * software, or service, directly or indirectly, to any country for which the 110 1.1.1.27 christos * United States government or any agency thereof requires an export license, 111 1.1.1.27 christos * other governmental approval, or letter of assurance, without first obtaining 112 1.1.1.27 christos * such license, approval or letter. 113 1.1.1.27 christos * 114 1.1.1.27 christos ***************************************************************************** 115 1.1.1.27 christos * 116 1.1.1.27 christos * Alternatively, you may choose to be licensed under the terms of the 117 1.1.1.27 christos * following license: 118 1.1.1.27 christos * 119 1.1.1.2 jruoho * Redistribution and use in source and binary forms, with or without 120 1.1.1.2 jruoho * modification, are permitted provided that the following conditions 121 1.1.1.2 jruoho * are met: 122 1.1.1.2 jruoho * 1. Redistributions of source code must retain the above copyright 123 1.1.1.2 jruoho * notice, this list of conditions, and the following disclaimer, 124 1.1.1.2 jruoho * without modification. 125 1.1.1.2 jruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126 1.1.1.2 jruoho * substantially similar to the "NO WARRANTY" disclaimer below 127 1.1.1.2 jruoho * ("Disclaimer") and any redistribution must be conditioned upon 128 1.1.1.2 jruoho * including a substantially similar Disclaimer requirement for further 129 1.1.1.2 jruoho * binary redistribution. 130 1.1.1.2 jruoho * 3. Neither the names of the above-listed copyright holders nor the names 131 1.1.1.2 jruoho * of any contributors may be used to endorse or promote products derived 132 1.1.1.2 jruoho * from this software without specific prior written permission. 133 1.1.1.2 jruoho * 134 1.1.1.2 jruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 135 1.1.1.2 jruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 136 1.1.1.19 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 137 1.1.1.2 jruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 138 1.1.1.27 christos * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 139 1.1.1.27 christos * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 140 1.1.1.27 christos * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 141 1.1.1.27 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 142 1.1.1.27 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 143 1.1.1.27 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 144 1.1.1.27 christos * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 145 1.1.1.27 christos * 146 1.1.1.27 christos * Alternatively, you may choose to be licensed under the terms of the 147 1.1.1.27 christos * GNU General Public License ("GPL") version 2 as published by the Free 148 1.1.1.27 christos * Software Foundation. 149 1.1.1.27 christos * 150 1.1.1.27 christos *****************************************************************************/ 151 1.1 jruoho 152 1.1 jruoho #define __DTCOMPILER_H__ 153 1.1 jruoho 154 1.1 jruoho #ifndef _DTCOMPILER 155 1.1 jruoho #define _DTCOMPILER 156 1.1 jruoho 157 1.1 jruoho #include "acdisasm.h" 158 1.1 jruoho 159 1.1 jruoho 160 1.1.1.5 christos #define ASL_FIELD_CACHE_SIZE 512 161 1.1.1.5 christos #define ASL_SUBTABLE_CACHE_SIZE 128 162 1.1.1.5 christos 163 1.1.1.5 christos 164 1.1 jruoho #undef DT_EXTERN 165 1.1 jruoho 166 1.1 jruoho #ifdef _DECLARE_DT_GLOBALS 167 1.1 jruoho #define DT_EXTERN 168 1.1 jruoho #define DT_INIT_GLOBAL(a,b) (a)=(b) 169 1.1 jruoho #else 170 1.1 jruoho #define DT_EXTERN extern 171 1.1 jruoho #define DT_INIT_GLOBAL(a,b) (a) 172 1.1 jruoho #endif 173 1.1 jruoho 174 1.1 jruoho 175 1.1 jruoho /* Types for individual fields (one per input line) */ 176 1.1 jruoho 177 1.1 jruoho #define DT_FIELD_TYPE_STRING 0 178 1.1 jruoho #define DT_FIELD_TYPE_INTEGER 1 179 1.1 jruoho #define DT_FIELD_TYPE_BUFFER 2 180 1.1 jruoho #define DT_FIELD_TYPE_PCI_PATH 3 181 1.1 jruoho #define DT_FIELD_TYPE_FLAG 4 182 1.1 jruoho #define DT_FIELD_TYPE_FLAGS_INTEGER 5 183 1.1 jruoho #define DT_FIELD_TYPE_INLINE_SUBTABLE 6 184 1.1.1.2 jruoho #define DT_FIELD_TYPE_UUID 7 185 1.1.1.2 jruoho #define DT_FIELD_TYPE_UNICODE 8 186 1.1.1.2 jruoho #define DT_FIELD_TYPE_DEVICE_PATH 9 187 1.1.1.2 jruoho #define DT_FIELD_TYPE_LABEL 10 188 1.1 jruoho 189 1.1 jruoho 190 1.1 jruoho /* 191 1.1 jruoho * Structure used for each individual field within an ACPI table 192 1.1 jruoho */ 193 1.1 jruoho typedef struct dt_field 194 1.1 jruoho { 195 1.1.1.6 christos char *Name; /* Field name (from name : value) */ 196 1.1.1.6 christos char *Value; /* Field value (from name : value) */ 197 1.1.1.16 christos UINT32 StringLength; /* Length of Value */ 198 1.1.1.6 christos struct dt_field *Next; /* Next field */ 199 1.1.1.6 christos struct dt_field *NextLabel; /* If field is a label, next label */ 200 1.1.1.6 christos UINT32 Line; /* Line number for this field */ 201 1.1.1.6 christos UINT32 ByteOffset; /* Offset in source file for field */ 202 1.1.1.6 christos UINT32 NameColumn; /* Start column for field name */ 203 1.1.1.6 christos UINT32 Column; /* Start column for field value */ 204 1.1.1.6 christos UINT32 TableOffset; /* Binary offset within ACPI table */ 205 1.1 jruoho UINT8 Flags; 206 1.1 jruoho 207 1.1 jruoho } DT_FIELD; 208 1.1 jruoho 209 1.1 jruoho /* Flags for above */ 210 1.1 jruoho 211 1.1 jruoho #define DT_FIELD_NOT_ALLOCATED 1 212 1.1 jruoho 213 1.1.1.17 christos /* 214 1.1.1.17 christos * Structure used for each individual key or value 215 1.1.1.17 christos */ 216 1.1.1.17 christos typedef struct dt_table_unit 217 1.1.1.17 christos { 218 1.1.1.17 christos char *Value; /* Field value (from name : value) */ 219 1.1.1.17 christos UINT32 Line; /* Line number for this field */ 220 1.1.1.17 christos UINT32 Column; /* Start column for field value */ 221 1.1.1.17 christos 222 1.1.1.17 christos } DT_TABLE_UNIT; 223 1.1.1.17 christos 224 1.1 jruoho 225 1.1 jruoho /* 226 1.1 jruoho * Structure used for individual subtables within an ACPI table 227 1.1 jruoho */ 228 1.1 jruoho typedef struct dt_subtable 229 1.1 jruoho { 230 1.1 jruoho struct dt_subtable *Parent; 231 1.1 jruoho struct dt_subtable *Child; 232 1.1 jruoho struct dt_subtable *Peer; 233 1.1 jruoho struct dt_subtable *StackTop; 234 1.1 jruoho UINT8 *Buffer; 235 1.1 jruoho UINT8 *LengthField; 236 1.1.1.7 christos char *Name; 237 1.1 jruoho UINT32 Length; 238 1.1 jruoho UINT32 TotalLength; 239 1.1 jruoho UINT32 SizeOfLengthField; 240 1.1.1.4 christos UINT16 Depth; 241 1.1 jruoho UINT8 Flags; 242 1.1 jruoho 243 1.1 jruoho } DT_SUBTABLE; 244 1.1 jruoho 245 1.1 jruoho 246 1.1 jruoho /* 247 1.1 jruoho * Globals 248 1.1 jruoho */ 249 1.1 jruoho 250 1.1 jruoho /* List of all field names and values from the input source */ 251 1.1 jruoho 252 1.1.1.14 christos DT_EXTERN DT_FIELD DT_INIT_GLOBAL (*AslGbl_FieldList, NULL); 253 1.1 jruoho 254 1.1 jruoho /* List of all compiled tables and subtables */ 255 1.1 jruoho 256 1.1.1.14 christos DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*AslGbl_RootTable, NULL); 257 1.1 jruoho 258 1.1 jruoho /* Stack for subtables */ 259 1.1 jruoho 260 1.1.1.14 christos DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*AslGbl_SubtableStack, NULL); 261 1.1 jruoho 262 1.1.1.2 jruoho /* List for defined labels */ 263 1.1.1.2 jruoho 264 1.1.1.14 christos DT_EXTERN DT_FIELD DT_INIT_GLOBAL (*AslGbl_LabelList, NULL); 265 1.1.1.2 jruoho 266 1.1.1.2 jruoho /* Current offset within the binary output table */ 267 1.1.1.2 jruoho 268 1.1.1.14 christos DT_EXTERN UINT32 DT_INIT_GLOBAL (AslGbl_CurrentTableOffset, 0); 269 1.1.1.2 jruoho 270 1.1.1.16 christos /* Data table compiler Flex/Bison prototype */ 271 1.1.1.16 christos 272 1.1.1.16 christos DT_EXTERN BOOLEAN DT_INIT_GLOBAL (AslGbl_DtLexBisonPrototype, FALSE); 273 1.1.1.16 christos 274 1.1.1.5 christos /* Local caches */ 275 1.1.1.5 christos 276 1.1.1.14 christos DT_EXTERN UINT32 DT_INIT_GLOBAL (AslGbl_SubtableCount, 0); 277 1.1.1.14 christos DT_EXTERN ASL_CACHE_INFO DT_INIT_GLOBAL (*AslGbl_SubtableCacheList, NULL); 278 1.1.1.14 christos DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*AslGbl_SubtableCacheNext, NULL); 279 1.1.1.14 christos DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*AslGbl_SubtableCacheLast, NULL); 280 1.1.1.14 christos 281 1.1.1.14 christos DT_EXTERN UINT32 DT_INIT_GLOBAL (AslGbl_FieldCount, 0); 282 1.1.1.14 christos DT_EXTERN ASL_CACHE_INFO DT_INIT_GLOBAL (*AslGbl_FieldCacheList, NULL); 283 1.1.1.14 christos DT_EXTERN DT_FIELD DT_INIT_GLOBAL (*AslGbl_FieldCacheNext, NULL); 284 1.1.1.14 christos DT_EXTERN DT_FIELD DT_INIT_GLOBAL (*AslGbl_FieldCacheLast, NULL); 285 1.1.1.5 christos 286 1.1 jruoho 287 1.1 jruoho /* dtcompiler - main module */ 288 1.1 jruoho 289 1.1 jruoho ACPI_STATUS 290 1.1 jruoho DtCompileTable ( 291 1.1 jruoho DT_FIELD **Field, 292 1.1 jruoho ACPI_DMTABLE_INFO *Info, 293 1.1.1.13 christos DT_SUBTABLE **RetSubtable); 294 1.1 jruoho 295 1.1.1.7 christos ACPI_STATUS 296 1.1.1.8 christos DtCompileTwoSubtables ( 297 1.1.1.8 christos void **List, 298 1.1.1.8 christos ACPI_DMTABLE_INFO *TableInfo1, 299 1.1.1.8 christos ACPI_DMTABLE_INFO *TableInfo2); 300 1.1.1.8 christos 301 1.1.1.8 christos ACPI_STATUS 302 1.1.1.7 christos DtCompilePadding ( 303 1.1.1.7 christos UINT32 Length, 304 1.1.1.7 christos DT_SUBTABLE **RetSubtable); 305 1.1.1.7 christos 306 1.1 jruoho 307 1.1 jruoho /* dtio - binary and text input/output */ 308 1.1 jruoho 309 1.1.1.4 christos UINT32 310 1.1.1.4 christos DtGetNextLine ( 311 1.1.1.7 christos FILE *Handle, 312 1.1.1.7 christos UINT32 Flags); 313 1.1.1.7 christos 314 1.1.1.7 christos /* Flags for DtGetNextLine */ 315 1.1.1.7 christos 316 1.1.1.7 christos #define DT_ALLOW_MULTILINE_QUOTES 0x01 317 1.1.1.7 christos 318 1.1.1.4 christos 319 1.1 jruoho DT_FIELD * 320 1.1 jruoho DtScanFile ( 321 1.1 jruoho FILE *Handle); 322 1.1 jruoho 323 1.1 jruoho void 324 1.1 jruoho DtOutputBinary ( 325 1.1 jruoho DT_SUBTABLE *RootTable); 326 1.1 jruoho 327 1.1.1.2 jruoho void 328 1.1.1.4 christos DtDumpSubtableList ( 329 1.1.1.4 christos void); 330 1.1.1.4 christos 331 1.1.1.4 christos void 332 1.1.1.4 christos DtDumpFieldList ( 333 1.1.1.4 christos DT_FIELD *Field); 334 1.1.1.4 christos 335 1.1.1.4 christos void 336 1.1.1.2 jruoho DtWriteFieldToListing ( 337 1.1.1.2 jruoho UINT8 *Buffer, 338 1.1.1.2 jruoho DT_FIELD *Field, 339 1.1.1.2 jruoho UINT32 Length); 340 1.1.1.2 jruoho 341 1.1.1.2 jruoho void 342 1.1.1.2 jruoho DtWriteTableToListing ( 343 1.1.1.2 jruoho void); 344 1.1.1.2 jruoho 345 1.1 jruoho 346 1.1 jruoho /* dtsubtable - compile subtables */ 347 1.1 jruoho 348 1.1 jruoho void 349 1.1 jruoho DtCreateSubtable ( 350 1.1 jruoho UINT8 *Buffer, 351 1.1 jruoho UINT32 Length, 352 1.1 jruoho DT_SUBTABLE **RetSubtable); 353 1.1 jruoho 354 1.1 jruoho UINT32 355 1.1 jruoho DtGetSubtableLength ( 356 1.1 jruoho DT_FIELD *Field, 357 1.1 jruoho ACPI_DMTABLE_INFO *Info); 358 1.1 jruoho 359 1.1 jruoho void 360 1.1 jruoho DtSetSubtableLength ( 361 1.1 jruoho DT_SUBTABLE *Subtable); 362 1.1 jruoho 363 1.1 jruoho void 364 1.1 jruoho DtPushSubtable ( 365 1.1 jruoho DT_SUBTABLE *Subtable); 366 1.1 jruoho 367 1.1 jruoho void 368 1.1 jruoho DtPopSubtable ( 369 1.1 jruoho void); 370 1.1 jruoho 371 1.1 jruoho DT_SUBTABLE * 372 1.1 jruoho DtPeekSubtable ( 373 1.1 jruoho void); 374 1.1 jruoho 375 1.1 jruoho void 376 1.1 jruoho DtInsertSubtable ( 377 1.1 jruoho DT_SUBTABLE *ParentTable, 378 1.1 jruoho DT_SUBTABLE *Subtable); 379 1.1 jruoho 380 1.1 jruoho DT_SUBTABLE * 381 1.1 jruoho DtGetNextSubtable ( 382 1.1 jruoho DT_SUBTABLE *ParentTable, 383 1.1 jruoho DT_SUBTABLE *ChildTable); 384 1.1 jruoho 385 1.1 jruoho DT_SUBTABLE * 386 1.1 jruoho DtGetParentSubtable ( 387 1.1 jruoho DT_SUBTABLE *Subtable); 388 1.1 jruoho 389 1.1 jruoho 390 1.1.1.2 jruoho /* dtexpress - Integer expressions and labels */ 391 1.1.1.2 jruoho 392 1.1.1.3 jruoho ACPI_STATUS 393 1.1.1.2 jruoho DtResolveIntegerExpression ( 394 1.1.1.3 jruoho DT_FIELD *Field, 395 1.1.1.3 jruoho UINT64 *ReturnValue); 396 1.1.1.3 jruoho 397 1.1.1.3 jruoho UINT64 398 1.1.1.3 jruoho DtDoOperator ( 399 1.1.1.3 jruoho UINT64 LeftValue, 400 1.1.1.3 jruoho UINT32 Operator, 401 1.1.1.3 jruoho UINT64 RightValue); 402 1.1.1.3 jruoho 403 1.1.1.3 jruoho UINT64 404 1.1.1.3 jruoho DtResolveLabel ( 405 1.1.1.3 jruoho char *LabelString); 406 1.1.1.2 jruoho 407 1.1.1.2 jruoho void 408 1.1.1.2 jruoho DtDetectAllLabels ( 409 1.1.1.2 jruoho DT_FIELD *FieldList); 410 1.1.1.2 jruoho 411 1.1.1.2 jruoho 412 1.1 jruoho /* dtfield - Compile individual fields within a table */ 413 1.1 jruoho 414 1.1 jruoho void 415 1.1 jruoho DtCompileOneField ( 416 1.1 jruoho UINT8 *Buffer, 417 1.1 jruoho DT_FIELD *Field, 418 1.1 jruoho UINT32 ByteLength, 419 1.1 jruoho UINT8 Type, 420 1.1 jruoho UINT8 Flags); 421 1.1 jruoho 422 1.1 jruoho void 423 1.1 jruoho DtCompileInteger ( 424 1.1 jruoho UINT8 *Buffer, 425 1.1 jruoho DT_FIELD *Field, 426 1.1 jruoho UINT32 ByteLength, 427 1.1 jruoho UINT8 Flags); 428 1.1 jruoho 429 1.1 jruoho UINT32 430 1.1 jruoho DtCompileBuffer ( 431 1.1 jruoho UINT8 *Buffer, 432 1.1 jruoho char *Value, 433 1.1 jruoho DT_FIELD *Field, 434 1.1 jruoho UINT32 ByteLength); 435 1.1 jruoho 436 1.1.1.2 jruoho void 437 1.1 jruoho DtCompileFlag ( 438 1.1 jruoho UINT8 *Buffer, 439 1.1 jruoho DT_FIELD *Field, 440 1.1.1.2 jruoho ACPI_DMTABLE_INFO *Info); 441 1.1 jruoho 442 1.1 jruoho 443 1.1.1.17 christos /* dtfield - DT_FIELD operations */ 444 1.1.1.17 christos 445 1.1.1.17 christos void 446 1.1.1.17 christos DtLinkField ( 447 1.1.1.17 christos DT_FIELD *Field); 448 1.1.1.17 christos 449 1.1.1.17 christos void 450 1.1.1.17 christos DtCreateField ( 451 1.1.1.17 christos DT_TABLE_UNIT *FieldKey, 452 1.1.1.17 christos DT_TABLE_UNIT *FieldValue, 453 1.1.1.17 christos UINT32 Offset); 454 1.1.1.17 christos 455 1.1.1.17 christos DT_TABLE_UNIT * 456 1.1.1.17 christos DtCreateTableUnit ( 457 1.1.1.17 christos char *Data, 458 1.1.1.17 christos UINT32 Line, 459 1.1.1.17 christos UINT32 Column); 460 1.1.1.17 christos 461 1.1.1.17 christos 462 1.1.1.3 jruoho /* dtparser - lex/yacc files */ 463 1.1.1.3 jruoho 464 1.1.1.16 christos int 465 1.1.1.16 christos DtCompilerParserparse ( 466 1.1.1.16 christos void); 467 1.1.1.16 christos 468 1.1.1.3 jruoho UINT64 469 1.1.1.3 jruoho DtEvaluateExpression ( 470 1.1.1.3 jruoho char *ExprString); 471 1.1.1.3 jruoho 472 1.1.1.16 christos void 473 1.1.1.16 christos DtCompilerInitLexer ( 474 1.1.1.16 christos FILE *inFile); 475 1.1.1.16 christos 476 1.1.1.16 christos void 477 1.1.1.16 christos DtCompilerTerminateLexer ( 478 1.1.1.16 christos void); 479 1.1.1.16 christos 480 1.1.1.3 jruoho int 481 1.1.1.3 jruoho DtInitLexer ( 482 1.1.1.3 jruoho char *String); 483 1.1.1.3 jruoho 484 1.1.1.3 jruoho void 485 1.1.1.3 jruoho DtTerminateLexer ( 486 1.1.1.3 jruoho void); 487 1.1.1.3 jruoho 488 1.1.1.3 jruoho char * 489 1.1.1.3 jruoho DtGetOpName ( 490 1.1.1.3 jruoho UINT32 ParseOpcode); 491 1.1.1.3 jruoho 492 1.1.1.3 jruoho 493 1.1 jruoho /* dtutils - Miscellaneous utilities */ 494 1.1 jruoho 495 1.1 jruoho typedef 496 1.1 jruoho void (*DT_WALK_CALLBACK) ( 497 1.1 jruoho DT_SUBTABLE *Subtable, 498 1.1 jruoho void *Context, 499 1.1 jruoho void *ReturnValue); 500 1.1 jruoho 501 1.1 jruoho void 502 1.1 jruoho DtWalkTableTree ( 503 1.1 jruoho DT_SUBTABLE *StartTable, 504 1.1 jruoho DT_WALK_CALLBACK UserFunction, 505 1.1 jruoho void *Context, 506 1.1 jruoho void *ReturnValue); 507 1.1 jruoho 508 1.1 jruoho void 509 1.1 jruoho DtError ( 510 1.1 jruoho UINT8 Level, 511 1.1.1.5 christos UINT16 MessageId, 512 1.1 jruoho DT_FIELD *FieldObject, 513 1.1 jruoho char *ExtraMessage); 514 1.1 jruoho 515 1.1 jruoho void 516 1.1 jruoho DtNameError ( 517 1.1 jruoho UINT8 Level, 518 1.1.1.5 christos UINT16 MessageId, 519 1.1 jruoho DT_FIELD *FieldObject, 520 1.1 jruoho char *ExtraMessage); 521 1.1 jruoho 522 1.1 jruoho void 523 1.1 jruoho DtFatal ( 524 1.1.1.5 christos UINT16 MessageId, 525 1.1 jruoho DT_FIELD *FieldObject, 526 1.1 jruoho char *ExtraMessage); 527 1.1 jruoho 528 1.1.1.11 christos UINT64 529 1.1.1.11 christos DtDoConstant ( 530 1.1.1.11 christos char *String); 531 1.1.1.11 christos 532 1.1 jruoho char* 533 1.1 jruoho DtGetFieldValue ( 534 1.1.1.3 jruoho DT_FIELD *Field); 535 1.1 jruoho 536 1.1 jruoho UINT8 537 1.1 jruoho DtGetFieldType ( 538 1.1 jruoho ACPI_DMTABLE_INFO *Info); 539 1.1 jruoho 540 1.1 jruoho UINT32 541 1.1 jruoho DtGetBufferLength ( 542 1.1 jruoho char *Buffer); 543 1.1 jruoho 544 1.1 jruoho UINT32 545 1.1 jruoho DtGetFieldLength ( 546 1.1 jruoho DT_FIELD *Field, 547 1.1 jruoho ACPI_DMTABLE_INFO *Info); 548 1.1 jruoho 549 1.1 jruoho void 550 1.1 jruoho DtSetTableChecksum ( 551 1.1 jruoho UINT8 *ChecksumPointer); 552 1.1 jruoho 553 1.1 jruoho void 554 1.1 jruoho DtSetTableLength( 555 1.1 jruoho void); 556 1.1 jruoho 557 1.1 jruoho 558 1.1 jruoho /* dttable - individual table compilation */ 559 1.1 jruoho 560 1.1 jruoho ACPI_STATUS 561 1.1 jruoho DtCompileFacs ( 562 1.1 jruoho DT_FIELD **PFieldList); 563 1.1 jruoho 564 1.1 jruoho ACPI_STATUS 565 1.1 jruoho DtCompileRsdp ( 566 1.1 jruoho DT_FIELD **PFieldList); 567 1.1 jruoho 568 1.1 jruoho ACPI_STATUS 569 1.1.1.21 christos DtCompileAest ( 570 1.1.1.21 christos void **PFieldList); 571 1.1.1.21 christos 572 1.1.1.21 christos ACPI_STATUS 573 1.1.1.23 christos DtCompileApmt ( 574 1.1.1.23 christos void **PFieldList); 575 1.1.1.23 christos 576 1.1.1.23 christos ACPI_STATUS 577 1.1 jruoho DtCompileAsf ( 578 1.1 jruoho void **PFieldList); 579 1.1 jruoho 580 1.1 jruoho ACPI_STATUS 581 1.1.1.25 christos DtCompileAspt ( 582 1.1.1.25 christos void **PFieldList); 583 1.1.1.25 christos 584 1.1.1.25 christos ACPI_STATUS 585 1.1.1.24 christos DtCompileCdat ( 586 1.1 jruoho void **PFieldList); 587 1.1 jruoho 588 1.1 jruoho ACPI_STATUS 589 1.1.1.19 christos DtCompileCedt ( 590 1.1.1.19 christos void **PFieldList); 591 1.1.1.19 christos 592 1.1.1.19 christos ACPI_STATUS 593 1.1.1.24 christos DtCompileCpep ( 594 1.1.1.24 christos void **PFieldList); 595 1.1.1.24 christos 596 1.1.1.24 christos ACPI_STATUS 597 1.1.1.4 christos DtCompileCsrt ( 598 1.1.1.4 christos void **PFieldList); 599 1.1.1.4 christos 600 1.1.1.4 christos ACPI_STATUS 601 1.1.1.4 christos DtCompileDbg2 ( 602 1.1.1.4 christos void **PFieldList); 603 1.1.1.4 christos 604 1.1.1.4 christos ACPI_STATUS 605 1.1 jruoho DtCompileDmar ( 606 1.1 jruoho void **PFieldList); 607 1.1 jruoho 608 1.1 jruoho ACPI_STATUS 609 1.1.1.7 christos DtCompileDrtm ( 610 1.1.1.7 christos void **PFieldList); 611 1.1.1.7 christos 612 1.1.1.7 christos ACPI_STATUS 613 1.1 jruoho DtCompileEinj ( 614 1.1 jruoho void **PFieldList); 615 1.1 jruoho 616 1.1 jruoho ACPI_STATUS 617 1.1.1.28 christos DtCompileErdt ( 618 1.1.1.28 christos void **PFieldList); 619 1.1.1.28 christos 620 1.1.1.28 christos ACPI_STATUS 621 1.1 jruoho DtCompileErst ( 622 1.1 jruoho void **PFieldList); 623 1.1 jruoho 624 1.1 jruoho ACPI_STATUS 625 1.1 jruoho DtCompileFadt ( 626 1.1 jruoho void **PFieldList); 627 1.1 jruoho 628 1.1 jruoho ACPI_STATUS 629 1.1.1.4 christos DtCompileFpdt ( 630 1.1.1.4 christos void **PFieldList); 631 1.1.1.4 christos 632 1.1.1.4 christos ACPI_STATUS 633 1.1.1.5 christos DtCompileGtdt ( 634 1.1.1.5 christos void **PFieldList); 635 1.1.1.5 christos 636 1.1.1.5 christos ACPI_STATUS 637 1.1 jruoho DtCompileHest ( 638 1.1 jruoho void **PFieldList); 639 1.1 jruoho 640 1.1 jruoho ACPI_STATUS 641 1.1.1.11 christos DtCompileHmat ( 642 1.1.1.11 christos void **PFieldList); 643 1.1.1.11 christos 644 1.1.1.11 christos ACPI_STATUS 645 1.1.1.7 christos DtCompileIort ( 646 1.1.1.7 christos void **PFieldList); 647 1.1.1.7 christos 648 1.1.1.7 christos ACPI_STATUS 649 1.1 jruoho DtCompileIvrs ( 650 1.1 jruoho void **PFieldList); 651 1.1 jruoho 652 1.1 jruoho ACPI_STATUS 653 1.1.1.5 christos DtCompileLpit ( 654 1.1.1.5 christos void **PFieldList); 655 1.1.1.5 christos 656 1.1.1.5 christos ACPI_STATUS 657 1.1 jruoho DtCompileMadt ( 658 1.1 jruoho void **PFieldList); 659 1.1 jruoho 660 1.1 jruoho ACPI_STATUS 661 1.1 jruoho DtCompileMcfg ( 662 1.1 jruoho void **PFieldList); 663 1.1 jruoho 664 1.1 jruoho ACPI_STATUS 665 1.1.1.25 christos DtCompileMpam ( 666 1.1.1.25 christos void **PFieldList); 667 1.1.1.25 christos 668 1.1.1.25 christos ACPI_STATUS 669 1.1.1.4 christos DtCompileMpst ( 670 1.1.1.4 christos void **PFieldList); 671 1.1.1.4 christos 672 1.1.1.4 christos ACPI_STATUS 673 1.1.1.28 christos DtCompileMrrm ( 674 1.1.1.28 christos void **PFieldList); 675 1.1.1.28 christos 676 1.1.1.28 christos ACPI_STATUS 677 1.1 jruoho DtCompileMsct ( 678 1.1 jruoho void **PFieldList); 679 1.1 jruoho 680 1.1 jruoho ACPI_STATUS 681 1.1.1.7 christos DtCompileNfit ( 682 1.1.1.7 christos void **PFieldList); 683 1.1.1.7 christos 684 1.1.1.7 christos ACPI_STATUS 685 1.1.1.12 christos DtCompilePcct ( 686 1.1.1.4 christos void **PFieldList); 687 1.1.1.4 christos 688 1.1.1.4 christos ACPI_STATUS 689 1.1.1.12 christos DtCompilePdtt ( 690 1.1.1.11 christos void **PFieldList); 691 1.1.1.11 christos 692 1.1.1.11 christos ACPI_STATUS 693 1.1.1.19 christos DtCompilePhat ( 694 1.1.1.19 christos void **PFieldList); 695 1.1.1.19 christos 696 1.1.1.19 christos ACPI_STATUS 697 1.1.1.12 christos DtCompilePmtt ( 698 1.1.1.12 christos void **PFieldList); 699 1.1.1.12 christos 700 1.1.1.12 christos ACPI_STATUS 701 1.1.1.12 christos DtCompilePptt ( 702 1.1.1.4 christos void **PFieldList); 703 1.1.1.4 christos 704 1.1.1.4 christos ACPI_STATUS 705 1.1.1.20 christos DtCompilePrmt ( 706 1.1.1.20 christos void **PFieldList); 707 1.1.1.20 christos 708 1.1.1.20 christos ACPI_STATUS 709 1.1.1.26 christos DtCompileRas2 ( 710 1.1.1.26 christos void **PFieldList); 711 1.1.1.26 christos 712 1.1.1.26 christos ACPI_STATUS 713 1.1.1.20 christos DtCompileRgrt ( 714 1.1.1.20 christos void **PFieldList); 715 1.1.1.20 christos 716 1.1.1.20 christos ACPI_STATUS 717 1.1.1.25 christos DtCompileRhct ( 718 1.1.1.25 christos void **PFieldList); 719 1.1.1.25 christos 720 1.1.1.25 christos ACPI_STATUS 721 1.1.1.28 christos DtCompileRimt ( 722 1.1.1.28 christos void **PFieldList); 723 1.1.1.28 christos 724 1.1.1.28 christos ACPI_STATUS 725 1.1 jruoho DtCompileRsdt ( 726 1.1 jruoho void **PFieldList); 727 1.1 jruoho 728 1.1 jruoho ACPI_STATUS 729 1.1.1.4 christos DtCompileS3pt ( 730 1.1.1.4 christos DT_FIELD **PFieldList); 731 1.1.1.4 christos 732 1.1.1.4 christos ACPI_STATUS 733 1.1.1.12 christos DtCompileSdev ( 734 1.1.1.12 christos void **PFieldList); 735 1.1.1.12 christos 736 1.1.1.12 christos ACPI_STATUS 737 1.1.1.3 jruoho DtCompileSlic ( 738 1.1.1.3 jruoho void **PFieldList); 739 1.1.1.3 jruoho 740 1.1.1.3 jruoho ACPI_STATUS 741 1.1 jruoho DtCompileSlit ( 742 1.1 jruoho void **PFieldList); 743 1.1 jruoho 744 1.1 jruoho ACPI_STATUS 745 1.1 jruoho DtCompileSrat ( 746 1.1 jruoho void **PFieldList); 747 1.1 jruoho 748 1.1 jruoho ACPI_STATUS 749 1.1.1.7 christos DtCompileStao ( 750 1.1.1.7 christos void **PFieldList); 751 1.1.1.7 christos 752 1.1.1.7 christos ACPI_STATUS 753 1.1.1.20 christos DtCompileSvkl ( 754 1.1.1.20 christos void **PFieldList); 755 1.1.1.20 christos 756 1.1.1.20 christos ACPI_STATUS 757 1.1.1.7 christos DtCompileTcpa ( 758 1.1.1.7 christos void **PFieldList); 759 1.1.1.7 christos 760 1.1.1.7 christos ACPI_STATUS 761 1.1.1.12 christos DtCompileTpm2 ( 762 1.1.1.12 christos void **PFieldList); 763 1.1.1.12 christos 764 1.1.1.12 christos ACPI_STATUS 765 1.1.1.2 jruoho DtCompileUefi ( 766 1.1.1.2 jruoho void **PFieldList); 767 1.1.1.2 jruoho 768 1.1.1.2 jruoho ACPI_STATUS 769 1.1.1.19 christos DtCompileViot ( 770 1.1.1.4 christos void **PFieldList); 771 1.1.1.4 christos 772 1.1.1.4 christos ACPI_STATUS 773 1.1 jruoho DtCompileWdat ( 774 1.1 jruoho void **PFieldList); 775 1.1 jruoho 776 1.1 jruoho ACPI_STATUS 777 1.1.1.7 christos DtCompileWpbt ( 778 1.1.1.7 christos void **PFieldList); 779 1.1.1.7 christos 780 1.1.1.7 christos ACPI_STATUS 781 1.1 jruoho DtCompileXsdt ( 782 1.1 jruoho void **PFieldList); 783 1.1 jruoho 784 1.1.1.3 jruoho ACPI_STATUS 785 1.1.1.3 jruoho DtCompileGeneric ( 786 1.1.1.7 christos void **PFieldList, 787 1.1.1.7 christos char *TermFieldName, 788 1.1.1.7 christos UINT32 *PFieldLength); 789 1.1.1.3 jruoho 790 1.1.1.2 jruoho ACPI_DMTABLE_INFO * 791 1.1.1.2 jruoho DtGetGenericTableInfo ( 792 1.1.1.2 jruoho char *Name); 793 1.1 jruoho 794 1.1.1.2 jruoho /* ACPI Table templates */ 795 1.1 jruoho 796 1.1.1.21 christos extern const unsigned char TemplateAest[]; 797 1.1.1.22 christos extern const unsigned char TemplateAgdi[]; 798 1.1.1.23 christos extern const unsigned char TemplateApmt[]; 799 1.1.1.2 jruoho extern const unsigned char TemplateAsf[]; 800 1.1.1.25 christos extern const unsigned char TemplateAspt[]; 801 1.1.1.2 jruoho extern const unsigned char TemplateBoot[]; 802 1.1.1.20 christos extern const unsigned char TemplateBdat[]; 803 1.1.1.2 jruoho extern const unsigned char TemplateBert[]; 804 1.1.1.4 christos extern const unsigned char TemplateBgrt[]; 805 1.1.1.24 christos extern const unsigned char TemplateCcel[]; 806 1.1.1.24 christos extern const unsigned char TemplateCdat[]; 807 1.1.1.19 christos extern const unsigned char TemplateCedt[]; 808 1.1.1.2 jruoho extern const unsigned char TemplateCpep[]; 809 1.1.1.4 christos extern const unsigned char TemplateCsrt[]; 810 1.1.1.4 christos extern const unsigned char TemplateDbg2[]; 811 1.1.1.2 jruoho extern const unsigned char TemplateDbgp[]; 812 1.1.1.2 jruoho extern const unsigned char TemplateDmar[]; 813 1.1.1.7 christos extern const unsigned char TemplateDrtm[]; 814 1.1.1.2 jruoho extern const unsigned char TemplateEcdt[]; 815 1.1.1.2 jruoho extern const unsigned char TemplateEinj[]; 816 1.1.1.28 christos extern const unsigned char TemplateErdt[]; 817 1.1.1.2 jruoho extern const unsigned char TemplateErst[]; 818 1.1.1.2 jruoho extern const unsigned char TemplateFadt[]; 819 1.1.1.4 christos extern const unsigned char TemplateFpdt[]; 820 1.1.1.4 christos extern const unsigned char TemplateGtdt[]; 821 1.1.1.2 jruoho extern const unsigned char TemplateHest[]; 822 1.1.1.11 christos extern const unsigned char TemplateHmat[]; 823 1.1.1.2 jruoho extern const unsigned char TemplateHpet[]; 824 1.1.1.7 christos extern const unsigned char TemplateIort[]; 825 1.1.1.2 jruoho extern const unsigned char TemplateIvrs[]; 826 1.1.1.5 christos extern const unsigned char TemplateLpit[]; 827 1.1.1.2 jruoho extern const unsigned char TemplateMadt[]; 828 1.1.1.2 jruoho extern const unsigned char TemplateMcfg[]; 829 1.1.1.2 jruoho extern const unsigned char TemplateMchi[]; 830 1.1.1.25 christos extern const unsigned char TemplateMpam[]; 831 1.1.1.4 christos extern const unsigned char TemplateMpst[]; 832 1.1.1.28 christos extern const unsigned char TemplateMrrm[]; 833 1.1.1.2 jruoho extern const unsigned char TemplateMsct[]; 834 1.1.1.6 christos extern const unsigned char TemplateMsdm[]; 835 1.1.1.7 christos extern const unsigned char TemplateNfit[]; 836 1.1.1.4 christos extern const unsigned char TemplatePcct[]; 837 1.1.1.12 christos extern const unsigned char TemplatePdtt[]; 838 1.1.1.19 christos extern const unsigned char TemplatePhat[]; 839 1.1.1.4 christos extern const unsigned char TemplatePmtt[]; 840 1.1.1.11 christos extern const unsigned char TemplatePptt[]; 841 1.1.1.20 christos extern const unsigned char TemplatePrmt[]; 842 1.1.1.9 christos extern const unsigned char TemplateRasf[]; 843 1.1.1.26 christos extern const unsigned char TemplateRas2[]; 844 1.1.1.20 christos extern const unsigned char TemplateRgrt[]; 845 1.1.1.25 christos extern const unsigned char TemplateRhct[]; 846 1.1.1.28 christos extern const unsigned char TemplateRimt[]; 847 1.1.1.2 jruoho extern const unsigned char TemplateRsdt[]; 848 1.1.1.4 christos extern const unsigned char TemplateS3pt[]; 849 1.1.1.2 jruoho extern const unsigned char TemplateSbst[]; 850 1.1.1.11 christos extern const unsigned char TemplateSdei[]; 851 1.1.1.12 christos extern const unsigned char TemplateSdev[]; 852 1.1.1.2 jruoho extern const unsigned char TemplateSlic[]; 853 1.1.1.2 jruoho extern const unsigned char TemplateSlit[]; 854 1.1.1.2 jruoho extern const unsigned char TemplateSpcr[]; 855 1.1.1.2 jruoho extern const unsigned char TemplateSpmi[]; 856 1.1.1.2 jruoho extern const unsigned char TemplateSrat[]; 857 1.1.1.7 christos extern const unsigned char TemplateStao[]; 858 1.1.1.20 christos extern const unsigned char TemplateSvkl[]; 859 1.1.1.2 jruoho extern const unsigned char TemplateTcpa[]; 860 1.1.1.22 christos extern const unsigned char TemplateTdel[]; 861 1.1.1.4 christos extern const unsigned char TemplateTpm2[]; 862 1.1.1.2 jruoho extern const unsigned char TemplateUefi[]; 863 1.1.1.19 christos extern const unsigned char TemplateViot[]; 864 1.1.1.2 jruoho extern const unsigned char TemplateWaet[]; 865 1.1.1.2 jruoho extern const unsigned char TemplateWdat[]; 866 1.1.1.2 jruoho extern const unsigned char TemplateWddt[]; 867 1.1.1.2 jruoho extern const unsigned char TemplateWdrt[]; 868 1.1.1.7 christos extern const unsigned char TemplateWpbt[]; 869 1.1.1.11 christos extern const unsigned char TemplateWsmt[]; 870 1.1.1.7 christos extern const unsigned char TemplateXenv[]; 871 1.1.1.2 jruoho extern const unsigned char TemplateXsdt[]; 872 1.1 jruoho 873 1.1 jruoho #endif 874