def in.put.data

bend-osdev-acpi@0.1.1.0 · aml_interp.bend:706

import bend-osdev-acpi@0.1.1.0/aml_interp.bend as AmlInterp
import Base
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/aml_value.bend as V
import bend-osdev-acpi@0.1.1.0/aml_ns.bend as S

706# a buffer put back where a buffer field found it
707def in.put.data(-H: Data, +w: AmlWorld<H>, l: V.AmlLoc, v: V.AmlValue) -> Result<&2, &2, E.AcpiError, AmlWorld<H>>:
708  match l:
709    case V.AmlLName{+p}:
710      Done{in.with_ns(H, w, S.AmlNs.set(AmlWorld.ns(H, w), in.unalias(AmlWorld.ns(H, w), p), S.AmlOData{v}))}
711    case V.AmlLLocal{i}:
712      Done{in.set.local(H, w, i, v)}
713    case V.AmlLArg{i}:
714      Done{in.set.arg(H, w, i, v)}
715    case _:
716      Fail{E.AcpiAmlUnsupported{"a buffer field of an element"}}

Uses (12)

Used by (2)