def slit.mk
bend-osdev-acpi@0.1.1.0 · slit.bend:21
import bend-osdev-acpi@0.1.1.0/slit.bend as Slit
import Base
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/header.bend as H
21def slit.mk(ok: Bool, +h: H.AcpiHeader, +n: Nat, +body: B.Octets) -> Result<&2, &2, E.AcpiError, AcpiSlit>:
22 match ok:
23 case False{}:
24 Fail{E.AcpiBadSize{B.Octets.len(body)}}
25 case True{}:
26 Done{AcpiSlit{h, n, B.Octets.slice(8n, Nat.mul(n, n), body)}}