Sync ACPICA with Intel's version 20161222.
[dragonfly.git] / sys / contrib / dev / acpica / source / tools / acpihelp / ahaslops.c
blob7437fccd637979d276d48359df8d46f12e7f0628
1 /******************************************************************************
3 * Module Name: ahaslops - Table of all known ASL operators
5 *****************************************************************************/
7 /*
8 * Copyright (C) 2000 - 2016, Intel Corp.
9 * All rights reserved.
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.
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.
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.
44 #include "acpihelp.h"
47 * ASL operators with syntax (directly from ACPI specification).
48 * Note: All tokens require a space separator.
49 * Long lines are automatically split during output.
51 const AH_ASL_OPERATOR Gbl_AslOperatorInfo[] =
53 {"AccessAs", "(AccessType, AccessAttribKeyword | "
54 "ExtendedAttribKeyword (AccessLength))",
55 "ChangeFieldUnitAccess"},
56 {"Acquire", "(SyncObject, TimeoutValue) => Boolean",
57 "Acquire a mutex"},
58 {"Add", "(Addend1, Addend2, Result) => Integer",
59 "Integer Add"},
60 {"Alias", "(SourceObject, AliasObject)",
61 "Define a name alias"},
62 {"And", "(Source1, Source2, Result) => Integer",
63 "Integer Bitwise And"},
64 {"Arg", "Arg0 - Arg6",
65 "Method argument data objects"},
66 {"BankField", "(RegionName, BankName, BankValue, "
67 "AccessTypeKeyword, LockRuleKeyword, "
68 "UpdateRuleKeyword) {FieldUnitList}",
69 "Declare fields in a banked configuration object"},
70 {"Break", "No parameters",
71 "Continue following the innermost enclosing While"},
72 {"BreakPoint", "No parameters",
73 "Used for debugging, stops execution in the debugger"},
74 {"Buffer", "(BufferSize) {String or ByteList} => Buffer",
75 "Declare Buffer object"},
76 {"Case", "(Value) {TermList}",
77 "Expression for conditional execution"},
78 {"Concatenate", "(Source1, Source2, Result) => ComputationalData",
79 "Concatenate two strings, integers or buffers"},
80 {"ConcatenateResTemplate", "(Source1, Source2, Result) => Buffer",
81 "Concatenate two resource templates"},
82 {"CondRefOf", "(Source, Result) => Boolean",
83 "Conditional reference to an object"},
84 {"Connection", "(ResourceMacro)",
85 "Associate connection with FieldUnits within a Field object"},
86 {"Continue", "No parameters",
87 "Continue innermost enclosing While loop"},
88 {"CopyObject", "(Source, Destination) => DataRefObject",
89 "Copy and existing object"},
90 {"CreateBitField", "(SourceBuffer, BitIndex, BitFieldName)",
91 "Declare a bit field object of a buffer object"},
92 {"CreateByteField", "(SourceBuffer, ByteIndex, ByteFieldName)",
93 "Declare a byte field object of a buffer object"},
94 {"CreateDWordField", "(SourceBuffer, ByteIndex, DWordFieldName)",
95 "Declare a DWord field object of a buffer object"},
96 {"CreateField", "(SourceBuffer, BitIndex, NumBits, FieldName)",
97 "Declare an arbitrary length bit field of a buffer object"},
98 {"CreateQWordField", "(SourceBuffer, ByteIndex, QWordFieldName)",
99 "Declare a QWord field object of a buffer object"},
100 {"CreateWordField", "(SourceBuffer, ByteIndex, WordFieldName)",
101 "Declare a Word field object of a buffer object"},
102 {"DataTableRegion", "(RegionName, SignatureString, OemIDString, OemTableIDString)",
103 "Declare a Data Table Region"},
104 {"Debug", "No parameters",
105 "Debugger output"},
106 {"Decrement", "(Minuend) => Integer",
107 "Decrement an Integer"},
108 {"Default", "{TermList}",
109 "Default execution path in Switch()"},
110 {"DefinitionBlock", "(AmlFileName, TableSignature, ComplianceRevision, "
111 "OemId, TableId, OemRevision) {TermList}",
112 "Declare a Definition Block"},
113 {"DerefOf", "(Source) => Object",
114 "Dereference an object reference"},
115 {"Device", "(DeviceName) {TermList}",
116 "Declare a bus/device object"},
117 {"Divide", "(Dividend, Divisor, Remainder, Result) => Integer",
118 "Integer Divide"},
119 {"Dma", "(DmaTypeKeyword, BusMasterKeyword, XferTypeKeyword, "
120 "DescriptorName) {DmaChannelList} => Buffer",
121 "DMA Resource Descriptor macro"},
122 {"DWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, "
123 "DecodeKeyword, RangeTypeKeyword, AddressGranularity, "
124 "AddressMinimum, AddressMaximum, AddressTranslation, "
125 "RangeLength, ResourceSourceIndex, "
126 "ResourceSource, DescriptorName, TypeKeyword, TranslationKeyword)",
127 "DWord I/O Resource Descriptor macro"},
128 {"DWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
129 "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, "
130 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
131 "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName, AddressKeyword, "
132 "TypeKeyword)",
133 "DWord Memory Resource Descriptor macro"},
134 {"DWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
135 "MinKeyword, MaxKeyword, TypeSpecificFlags, "
136 "AddressGranularity, AddressMinimum, AddressMaximum, "
137 "AddressTranslation, RangeLength, "
138 "ResourceSourceIndex, ResourceSource, DescriptorName)",
139 "DWord Space Resource Descriptor macro"},
140 {"EisaId", "(EisaIdString) => DWordConst",
141 "EISA ID String to Integer conversion macro"},
142 {"Else", "{TermList}",
143 "Alternate conditional execution"},
144 {"ElseIf", "(Predicate)",
145 "Conditional execution"},
146 {"EndDependentFn", "() => Buffer",
147 "End Dependent Function Resource Descriptor macro"},
148 {"Event", "(EventName)",
149 "Declare an event synchronization object"},
150 {"ExtendedIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, "
151 "DecodeKeyword, RangeTypeKeyword, AddressGranularity, "
152 "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
153 "TypeSpecificAttributes, DescriptorName, TypeKeyword, TranslationKeyword)",
154 "Extended I/O Resource Descriptor macro"},
155 {"ExtendedMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
156 "MaxKeyword, MemTypeKeyword, ReadWriteKeyword, "
157 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
158 "RangeLength, TypeSpecificAttributes, DescriptorName, "
159 "AddressKeyword, TypeKeyword)",
160 "Extended Memory Resource Descriptor macro"},
161 {"ExtendedSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
162 "MinKeyword, MaxKeyword, TypeSpecificFlags, "
163 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
164 "RangeLength, TypeSpecificAttributes, DescriptorName)",
165 "Extended Space Resource Descriptor macro"},
166 {"External", "(ObjectName, ObjectTypeKeyword, ReturnType, ParameterTypes)",
167 "Declare external objects"},
168 {"Fatal", "(Type, Code, Arg)",
169 "Fatal error check"},
170 {"Field", "(RegionName, AccessTypeKeyword, LockRuleKeyword, "
171 "UpdateRuleKeyword) {FieldUnitList}",
172 "Declare fields of an operation region object"},
173 {"FindSetLeftBit", "(Source, Result) => Integer",
174 "Index of first least significant bit set"},
175 {"FindSetRightBit", "(Source, Result) => Integer",
176 "Index of first most significant bit set"},
177 {"FixedDma", "(DmaRequestLine, Channel, TransferWidthKeyword, DescriptorName) => Buffer",
178 "Fixed DMA Resource Descriptor macro"},
179 {"FixedIo", "(AddressBase, RangeLength, DescriptorName) => Buffer",
180 "Fixed I/O Resource Descriptor macro"},
181 {"FromBcd", "(BcdValue, Result) => Integer",
182 "Convert from BCD to numeric"},
183 {"Function", "(FunctionName, ReturnType, ParameterTypes) {TermList}",
184 "Declare control method"},
185 {"GpioInt", "(InterruptTypeKeyword, InterruptLevelKeyword, "
186 "ShareTypeKeyword, PinConfigKeyword, "
187 "DebounceTimeout, ResourceSource, "
188 "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, "
189 "RawDataBuffer() {VendorData}) {Pin}",
190 "GPIO Interrupt Connection Resource Descriptor Macro"},
191 {"GpioIo", "(ShareTypeKeyword, PinConfigKeyword, DebounceTimeout, DriveStrength, "
192 "IoRestrictionKeyword, ResourceSource, "
193 "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, "
194 "RawDataBuffer() {VendorData}) {PinList}",
195 "GPIO I/O Connection Resource Descriptor Macro"},
196 {"I2cSerialBusV2", "(SlaveAddress, SlaveModeKeyword, ConnectionSpeed, "
197 "AddressingModeKeyword, ResourceSource, "
198 "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, "
199 "RawDataBuffer() {VendorData})",
200 "I2C Serial Bus Connection Resource Descriptor Macro"},
201 {"If", "(Predicate) {TermList}",
202 "Conditional execution"},
203 {"Include", "(FilePathName)",
204 "Include another ASL file"},
205 {"Increment", "(Addend) => Integer",
206 "Increment a Integer"},
207 {"Index", "(Source, Index, Destination) => ObjectReference",
208 "Indexed Reference to member object"},
209 {"IndexField", "(IndexName, DataName, AccessTypeKeyword, LockRuleKeyword, "
210 "UpdateRuleKeyword) {FieldUnitList}",
211 "Declare Index/Data Fields"},
212 {"Interrupt", "(ResourceTypeKeyword, InterruptTypeKeyword, InterruptLevelKeyword, "
213 "ShareTypeKeyword, ResourceSourceIndex, "
214 "ResourceSource, DescriptorName) {InterruptList} => Buffer",
215 "Interrupt Resource Descriptor macro"},
216 {"Io", "(IoDecodeKeyword, AddressMin, AddressMax, AddressAlignment, "
217 "RangeLength, DescriptorName) => Buffer",
218 "I/O Resource Descriptor macro"},
219 {"Irq", "(InterruptTypeKeyword, InterruptLevelKeyword, ShareTypeKeyword, "
220 "DescriptorName) {InterruptList} => Buffer",
221 "Interrupt Resource Descriptor macro"},
222 {"IrqNoFlags", "(DescriptorName) {InterruptList} => Buffer",
223 "Short Interrupt Resource Descriptor macro"},
224 {"LAnd", "(Source1, Source2) => Boolean",
225 "Logical And"},
226 {"LEqual", "(Source1, Source2) => Boolean",
227 "Logical Equal"},
228 {"LGreater", "(Source1, Source2) => Boolean",
229 "Logical Greater"},
230 {"LGreaterEqual", "(Source1, Source2) => Boolean",
231 "Logical Not less"},
232 {"LLess", "(Source1, Source2) => Boolean",
233 "Logical Less"},
234 {"LLessEqual", "(Source1, Source2) => Boolean",
235 "Logical Not greater"},
236 {"LNot", "(Source) => Boolean",
237 "Logical Not"},
238 {"LNotEqual", "(Source1, Source2) => Boolean",
239 "Logical Not equal"},
240 {"Load", "(Object, DDBHandle)",
241 "Load differentiating definition block"},
242 {"LoadTable", "(SignatureString, OemIdString, OemTableIdString, RootPathString, "
243 "ParameterPathString, ParameterData) => DDBHandle",
244 "Load Table from RSDT/XSDT"},
245 {"Local", "Local0 - Local7",
246 "Method local data objects"},
247 {"LOr", "(Source1, Source2) => Boolean",
248 "Logical Or"},
249 {"Match", "(SearchPackage, MatchOpKeyword, MatchObject1, MatchOpKeyword, "
250 "MatchObject2, StartIndex) => Ones | Integer",
251 "Search for match in package array"},
252 {"Memory24", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, "
253 "RangeLength, DescriptorName)",
254 "Memory Resource Descriptor macro"},
255 {"Memory32", "(ReadWriteKeyword, AddressMinimum, AddressMaximum, AddressAlignment, "
256 "RangeLength, DescriptorName)",
257 "Memory Resource Descriptor macro"},
258 {"Memory32Fixed", "(ReadWriteKeyword, AddressBase, RangeLength, DescriptorName)",
259 "Memory Resource Descriptor macro"},
260 {"Method", "(MethodName, NumArgs, SerializeRuleKeyword, "
261 "SyncLevel, ReturnType, ParameterTypes) "
262 "{TermList}",
263 "Declare a control method"},
264 {"Mid", "(Source, Index, Length, Result) => Buffer or String",
265 "Return a portion of buffer or string"},
266 {"Mod", "(Dividend, Divisor, Result) => Integer",
267 "Integer Modulo"},
268 {"Multiply", "(Multiplicand, Multiplier, Result) => Integer",
269 "Integer Multiply"},
270 {"Mutex", "(MutexName, SyncLevel)",
271 "Declare a mutex synchronization object"},
272 {"Name", "(ObjectName, Object)",
273 "Declare a Named object"},
274 {"NAnd", "(Source1, Source2, Result) => Integer",
275 "Integer Bitwise Nand"},
276 {"NoOp", "No parameters",
277 "No operation"},
278 {"NOr", "(Source1, Source2, Result) => Integer",
279 "Integer Bitwise Nor"},
280 {"Not", "(Source, Result) => Integer",
281 "Integer Bitwise Not"},
282 {"Notify", "(Object, NotificationValue)",
283 "Notify Object of event"},
284 {"ObjectType", "(Object) => Integer",
285 "Type of object"},
286 {"Offset", "(ByteOffset)",
287 "Change Current Field Unit Offset"},
288 {"One", "=> Integer",
289 "Constant One Object (1)"},
290 {"Ones", "=> Integer",
291 "Constant Ones Object (0xFFFFFFFF or 0xFFFFFFFFFFFFFFFF)"},
292 {"OperationRegion", "(RegionName, RegionSpaceKeyword, Offset, Length)",
293 "Declare an operational region"},
294 {"Or", "(Source1, Source2, Result) => Integer",
295 "Integer Bitwise Or"},
296 {"Package", "(NumElements) {PackageList} => Package",
297 "Declare a package object"},
298 {"PowerResource", "(ResourceName, SystemLevel, ResourceOrder) {TermList}",
299 "Declare a power resource object"},
300 {"Processor", "(ProcessorName, ProcessorID, PBlockAddress, PblockLength) {TermList}",
301 "Declare a processor package"},
302 {"QWordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
303 "RangeTypeKeyword, AddressGranularity, "
304 "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
305 "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, "
306 "TranslationKeyword)",
307 "QWord I/O Resource Descriptor macro"},
308 {"QWordMemory", "(ResourceTypeKeyword, DecodeKeyword, MinKeyword, MaxKeyword, "
309 "MemTypeKeyword, ReadWriteKeyword, "
310 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
311 "RangeLength, ResourceSourceIndex, ResourceSource, "
312 "DescriptorName, AddressKeyword, "
313 "TypeKeyword)",
314 "QWord Memory Resource Descriptor macro"},
315 {"QWordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, "
316 "MinKeyword, MaxKeyword, TypeSpecificFlags, "
317 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
318 "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)",
319 "Qword Space Resource Descriptor macro"},
320 {"RawDataBuffer", "(BufferSize) {ByteList} => RawDataBuffer",
321 "Create a raw data buffer (does not use Buffer AML opcode)"},
322 {"RefOf", "(Object) => ObjectReference",
323 "Create Reference to an object"},
324 {"Register", "(AddressSpaceKeyword, RegisterBitWidth, "
325 "RegisterBitOffset, RegisterAddress, "
326 "AccessSize, DescriptorName)",
327 "Generic register Resource Descriptor macro"},
328 {"Release", "(SyncObject)",
329 "Release a synchronization object"},
330 {"Reset", "(SyncObject)",
331 "Reset a synchronization object"},
332 {"ResourceTemplate", "() {ResourceMacroList} => Buffer",
333 "Resource to buffer conversion macro"},
334 {"Return", "None | () | (ReturnArg)",
335 "Return from method execution"},
336 {"Revision", "=> Integer",
337 "Constant revision object"},
338 {"Scope", "(Location) {TermList}",
339 "Open named scope "},
340 {"ShiftLeft", "(Source, ShiftCount, Result) => Integer",
341 "Integer shift value left"},
342 {"ShiftRight", "(Source, ShiftCount, Result) => Integer",
343 "Integer shift value right"},
344 {"Signal", "(SyncObject)",
345 "Signal a synchronization object"},
346 {"SizeOf", "(ObjectName) => Integer",
347 "Get the size of a buffer}, string}, or package"},
348 {"Sleep", "(Milliseconds)",
349 "Sleep n milliseconds (yields the processor)"},
350 {"SpiSerialBusV2", "(DeviceSelection, PolarityKeyword, WireModeKeyword, "
351 "DataBitLength, SlaveModeKeyword, "
352 "ConnectionSpeed, ClockPolarityKeyword, ClockPhaseKeyword, "
353 "ResourceSource, ResourceSourceIndex, "
354 "ResourceTypeKeyword, DescriptorName, Shared, RawDataBuffer() {VendorData})",
355 "SPI Serial Bus Connection Resource Descriptor Macro"},
356 {"Stall", "(Microseconds)",
357 "Delay n microseconds (does not yield the processor)"},
358 {"StartDependentFn", "(CompatibilityPriority, PerformancePriority) {ResourceList}",
359 "Start Dependent Function Resource Descriptor macro"},
360 {"StartDependentFnNoPri", "() {ResourceList}",
361 "Start Dependent Function Resource Descriptor macro"},
362 {"Store", "(Source, Destination) => DataRefObject",
363 "Store object"},
364 {"Subtract", "(Minuend, Subtrahend, Result) => Integer",
365 "Integer Subtract"},
366 {"Switch", "(Expression) {CaseTermList}",
367 "Select code to execute based on expression value"},
368 {"ThermalZone", "(ThermalZoneName) {TermList}",
369 "Declare a thermal zone package"},
370 {"Timer", "=> Integer",
371 "Get 64-bit timer value"},
372 {"ToBcd", "(Value, Result) => Integer",
373 "Convert Integer to BCD"},
374 {"ToBuffer", "(Data, Result) => Buffer",
375 "Convert data type to buffer"},
376 {"ToDecimalString", "(Data, Result) => String",
377 "Convert data type to decimal string"},
378 {"ToHexString", "(Data, Result) => String",
379 "Convert data type to hexadecimal string"},
380 {"ToInteger", "(Data, Result) => Integer",
381 "Convert data type to integer"},
382 {"ToString", "(Source, Length, Result) => String",
383 "Copy ASCII string from buffer"},
384 {"ToUuid", "(AsciiString) => Buffer",
385 "Convert Ascii string to UUID"},
386 {"UartSerialBusV2", "(ConnectionSpeed, ByteLengthKeyword, StopBitsKeyword, "
387 "LinesInUse, EndianKeyword, ParityKeyword, "
388 "FlowControlKeyword, ReceiveBufferSize, TransmitBufferSize, ResourceSource, "
389 "ResourceSourceIndex, ResourceTypeKeyword, DescriptorName, Shared, "
390 "RawDataBuffer() {VendorData})",
391 "UART Serial Bus Connection Resource Descriptor Macro"},
392 {"Unicode", "(String) => Buffer",
393 "String to Unicode conversion macro"},
394 {"Unload", "(Handle)",
395 "Unload definition block"},
396 {"VendorLong", "(DescriptorName) {VendorByteList}",
397 "Vendor Resource Descriptor"},
398 {"VendorShort", "(DescriptorName) {VendorByteList}",
399 "Vendor Resource Descriptor"},
400 {"Wait", "(SyncObject, TimeoutValue) => Boolean",
401 "Wait on an Event"},
402 {"While", "(Predicate) {TermList}",
403 "Conditional loop"},
404 {"WordBusNumber", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
405 "AddressGranularity, AddressMinimum, "
406 "AddressMaximum, AddressTranslation, RangeLength, ResourceSourceIndex, "
407 "ResourceSource, DescriptorName)",
408 "Word Bus number Resource Descriptor macro"},
409 {"WordIo", "(ResourceTypeKeyword, MinKeyword, MaxKeyword, DecodeKeyword, "
410 "RangeTypeKeyword, AddressGranularity, "
411 "AddressMinimum, AddressMaximum, AddressTranslation, RangeLength, "
412 "ResourceSourceIndex, ResourceSource, DescriptorName, TypeKeyword, "
413 "TranslationKeyword)",
414 "Word I/O Resource Descriptor macro"},
415 {"WordSpace", "(ResourceType, ResourceTypeKeyword, DecodeKeyword, MinKeyword, "
416 "MaxKeyword, TypeSpecificFlags, "
417 "AddressGranularity, AddressMinimum, AddressMaximum, AddressTranslation, "
418 "RangeLength, ResourceSourceIndex, ResourceSource, DescriptorName)",
419 "Word Space Resource Descriptor macro"},
420 {"Xor", "(Source1, Source2, Result) => Integer",
421 "Integer Bitwise Xor"},
422 {"Zero", "=> Integer",
423 "Constant Zero object (0)"},
424 {NULL, NULL, NULL}