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)}}

Uses (10)

Used by (1)