def madt.body

bend-osdev-acpi@0.1.1.0 · madt.bend:211

import bend-osdev-acpi@0.1.1.0/madt.bend as Madt
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
import bend-osdev-acpi@0.1.1.0/fields.bend as F
import bend-osdev-acpi@0.1.1.0/entries.bend as N

211def madt.body(ok: Bool, +h: H.AcpiHeader, +body: B.Octets) -> Result<&2, &2, E.AcpiError, AcpiMadt>:
212  match ok:
213    case False{}:
214      Fail{E.AcpiTooShort{44n, Nat.add(36n, B.Octets.len(body))}}
215    case True{}:
216      madt.mk(h, F.AcpiF.u32(body, 0n), F.AcpiF.u32(body, 4n), N.AcpiRawEntry.split(B.Octets.drop(8n, body), 44n))

Uses (12)

Used by (1)