1 /**
2 	Based on IndustryStandard/AcpiAml.h, original notice:
3 
4 	This file contains AML code definition in the latest ACPI spec.
5 	
6 	Copyright (c) 2011, Intel Corporation. All rights reserved.
7 	This program and the accompanying materials
8 	are licensed and made available under the terms and conditions of the BSD License
9 	which accompanies this distribution.  The full text of the license may be found at
10 	http://opensource.org/licenses/bsd-license.php
11 	
12 	THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 	WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 	
15 **/
16 module uefi.acpiaml;
17 import uefi.base;
18 import uefi.base_type;
19 
20 public:
21 extern (C):
22 enum AML_ZERO_OP = 0x00;
23 enum AML_ONE_OP = 0x01;
24 enum AML_ALIAS_OP = 0x06;
25 enum AML_NAME_OP = 0x08;
26 enum AML_BYTE_PREFIX = 0x0a;
27 enum AML_WORD_PREFIX = 0x0b;
28 enum AML_DWORD_PREFIX = 0x0c;
29 enum AML_STRING_PREFIX = 0x0d;
30 enum AML_QWORD_PREFIX = 0x0e;
31 enum AML_SCOPE_OP = 0x10;
32 enum AML_BUFFER_OP = 0x11;
33 enum AML_PACKAGE_OP = 0x12;
34 enum AML_VAR_PACKAGE_OP = 0x13;
35 enum AML_METHOD_OP = 0x14;
36 enum AML_DUAL_NAME_PREFIX = 0x2e;
37 enum AML_MULTI_NAME_PREFIX = 0x2f;
38 enum AML_NAME_CHAR_A = 0x41;
39 enum AML_NAME_CHAR_B = 0x42;
40 enum AML_NAME_CHAR_C = 0x43;
41 enum AML_NAME_CHAR_D = 0x44;
42 enum AML_NAME_CHAR_E = 0x45;
43 enum AML_NAME_CHAR_F = 0x46;
44 enum AML_NAME_CHAR_G = 0x47;
45 enum AML_NAME_CHAR_H = 0x48;
46 enum AML_NAME_CHAR_I = 0x49;
47 enum AML_NAME_CHAR_J = 0x4a;
48 enum AML_NAME_CHAR_K = 0x4b;
49 enum AML_NAME_CHAR_L = 0x4c;
50 enum AML_NAME_CHAR_M = 0x4d;
51 enum AML_NAME_CHAR_N = 0x4e;
52 enum AML_NAME_CHAR_O = 0x4f;
53 enum AML_NAME_CHAR_P = 0x50;
54 enum AML_NAME_CHAR_Q = 0x51;
55 enum AML_NAME_CHAR_R = 0x52;
56 enum AML_NAME_CHAR_S = 0x53;
57 enum AML_NAME_CHAR_T = 0x54;
58 enum AML_NAME_CHAR_U = 0x55;
59 enum AML_NAME_CHAR_V = 0x56;
60 enum AML_NAME_CHAR_W = 0x57;
61 enum AML_NAME_CHAR_X = 0x58;
62 enum AML_NAME_CHAR_Y = 0x59;
63 enum AML_NAME_CHAR_Z = 0x5a;
64 enum AML_ROOT_CHAR = 0x5c;
65 enum AML_PARENT_PREFIX_CHAR = 0x5e;
66 enum AML_NAME_CHAR__ = 0x5f;
67 enum AML_LOCAL0 = 0x60;
68 enum AML_LOCAL1 = 0x61;
69 enum AML_LOCAL2 = 0x62;
70 enum AML_LOCAL3 = 0x63;
71 enum AML_LOCAL4 = 0x64;
72 enum AML_LOCAL5 = 0x65;
73 enum AML_LOCAL6 = 0x66;
74 enum AML_LOCAL7 = 0x67;
75 enum AML_ARG0 = 0x68;
76 enum AML_ARG1 = 0x69;
77 enum AML_ARG2 = 0x6a;
78 enum AML_ARG3 = 0x6b;
79 enum AML_ARG4 = 0x6c;
80 enum AML_ARG5 = 0x6d;
81 enum AML_ARG6 = 0x6e;
82 enum AML_STORE_OP = 0x70;
83 enum AML_REF_OF_OP = 0x71;
84 enum AML_ADD_OP = 0x72;
85 enum AML_CONCAT_OP = 0x73;
86 enum AML_SUBTRACT_OP = 0x74;
87 enum AML_INCREMENT_OP = 0x75;
88 enum AML_DECREMENT_OP = 0x76;
89 enum AML_MULTIPLY_OP = 0x77;
90 enum AML_DIVIDE_OP = 0x78;
91 enum AML_SHIFT_LEFT_OP = 0x79;
92 enum AML_SHIFT_RIGHT_OP = 0x7a;
93 enum AML_AND_OP = 0x7b;
94 enum AML_NAND_OP = 0x7c;
95 enum AML_OR_OP = 0x7d;
96 enum AML_NOR_OP = 0x7e;
97 enum AML_XOR_OP = 0x7f;
98 enum AML_NOT_OP = 0x80;
99 enum AML_FIND_SET_LEFT_BIT_OP = 0x81;
100 enum AML_FIND_SET_RIGHT_BIT_OP = 0x82;
101 enum AML_DEREF_OF_OP = 0x83;
102 enum AML_CONCAT_RES_OP = 0x84;
103 enum AML_MOD_OP = 0x85;
104 enum AML_NOTIFY_OP = 0x86;
105 enum AML_SIZE_OF_OP = 0x87;
106 enum AML_INDEX_OP = 0x88;
107 enum AML_MATCH_OP = 0x89;
108 enum AML_CREATE_DWORD_FIELD_OP = 0x8a;
109 enum AML_CREATE_WORD_FIELD_OP = 0x8b;
110 enum AML_CREATE_BYTE_FIELD_OP = 0x8c;
111 enum AML_CREATE_BIT_FIELD_OP = 0x8d;
112 enum AML_OBJECT_TYPE_OP = 0x8e;
113 enum AML_CREATE_QWORD_FIELD_OP = 0x8f;
114 enum AML_LAND_OP = 0x90;
115 enum AML_LOR_OP = 0x91;
116 enum AML_LNOT_OP = 0x92;
117 enum AML_LEQUAL_OP = 0x93;
118 enum AML_LGREATER_OP = 0x94;
119 enum AML_LLESS_OP = 0x95;
120 enum AML_TO_BUFFER_OP = 0x96;
121 enum AML_TO_DEC_STRING_OP = 0x97;
122 enum AML_TO_HEX_STRING_OP = 0x98;
123 enum AML_TO_INTEGER_OP = 0x99;
124 enum AML_TO_STRING_OP = 0x9c;
125 enum AML_COPY_OBJECT_OP = 0x9d;
126 enum AML_MID_OP = 0x9e;
127 enum AML_CONTINUE_OP = 0x9f;
128 enum AML_IF_OP = 0xa0;
129 enum AML_ELSE_OP = 0xa1;
130 enum AML_WHILE_OP = 0xa2;
131 enum AML_NOOP_OP = 0xa3;
132 enum AML_RETURN_OP = 0xa4;
133 enum AML_BREAK_OP = 0xa5;
134 enum AML_BREAK_POINT_OP = 0xcc;
135 enum AML_ONES_OP = 0xff;
136 enum AML_EXT_OP = 0x5b;
137 enum AML_EXT_MUTEX_OP = 0x01;
138 enum AML_EXT_EVENT_OP = 0x02;
139 enum AML_EXT_COND_REF_OF_OP = 0x12;
140 enum AML_EXT_CREATE_FIELD_OP = 0x13;
141 enum AML_EXT_LOAD_TABLE_OP = 0x1f;
142 enum AML_EXT_LOAD_OP = 0x20;
143 enum AML_EXT_STALL_OP = 0x21;
144 enum AML_EXT_SLEEP_OP = 0x22;
145 enum AML_EXT_ACQUIRE_OP = 0x23;
146 enum AML_EXT_SIGNAL_OP = 0x24;
147 enum AML_EXT_WAIT_OP = 0x25;
148 enum AML_EXT_RESET_OP = 0x26;
149 enum AML_EXT_RELEASE_OP = 0x27;
150 enum AML_EXT_FROM_BCD_OP = 0x28;
151 enum AML_EXT_TO_BCD_OP = 0x29;
152 enum AML_EXT_UNLOAD_OP = 0x2a;
153 enum AML_EXT_REVISION_OP = 0x30;
154 enum AML_EXT_DEBUG_OP = 0x31;
155 enum AML_EXT_FATAL_OP = 0x32;
156 enum AML_EXT_TIMER_OP = 0x33;
157 enum AML_EXT_REGION_OP = 0x80;
158 enum AML_EXT_FIELD_OP = 0x81;
159 enum AML_EXT_DEVICE_OP = 0x82;
160 enum AML_EXT_PROCESSOR_OP = 0x83;
161 enum AML_EXT_POWER_RES_OP = 0x84;
162 enum AML_EXT_THERMAL_ZONE_OP = 0x85;
163 enum AML_EXT_INDEX_FIELD_OP = 0x86;
164 enum AML_EXT_BANK_FIELD_OP = 0x87;
165 enum AML_EXT_DATA_REGION_OP = 0x88;