def in.elem.bytes

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

import bend-osdev-acpi@0.1.1.0/aml_interp.bend as AmlInterp
import 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
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

765def in.elem.bytes(ok: Bool, str: Bool, +b: B.Octets, +i: Nat, r: Result<&2, &2, E.AcpiError, W.W64>) -> Result<&2, &2, E.AcpiError, V.AmlValue>:
766  match ok r:
767    case False{} _:
768      Fail{E.AcpiAmlRange{}}
769    case True{} Fail{e}:
770      Fail{e}
771    case True{} Done{x}:
772      +nb = B.Octets.concat([B.Octets.take(i, b), B.Octets.of_list([W.W64.lo(x)]), B.Octets.drop(1n+i, b)])
773      in.elem.wrap(str, nb)

Uses (14)

Used by (1)