type AmlTerm
import bend-osdev-acpi@0.1.1.0/aml_term.bend as AmlTermimport Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
21type AmlTerm is Data:
22 # an integer, in its shortest encoding: ZeroOp, OneOp, OnesOp (all 64
23 # bits set), or the Byte, Word, DWord or QWord prefix
24 AmlTInt{v: W.W64}
25 # a String (AsciiCharList, then the NUL the encoder adds)
26 AmlTStr{s: B.Octets}
27 # bytes as they are: a NameString, Local0, Debug, ...
28 AmlTRaw{bytes: B.Octets}
29 # an opcode (or a NameString, for a method call) followed by operands
30 AmlTOp{code: B.Octets, args: List<&2, AmlTerm>}
31 # an opcode, then a PkgLength covering head and body
32 AmlTPkg{code: B.Octets, head: B.Octets, body: List<&2, AmlTerm>}