def fadt.read
bend-osdev-acpi@0.1.1.0 · fadt.bend:87
import bend-osdev-acpi@0.1.1.0/fadt.bend as Fadt
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
87def fadt.read(ok: Bool, +h: H.AcpiHeader, +o: B.Octets) -> Result<&2, &2, E.AcpiError, AcpiFadt>:
88 match ok:
89 case False{}:
90 Fail{E.AcpiTooShort{116n, B.Octets.len(o)}}
91 case True{}:
92 +n = B.Octets.len(o)
93 Done{AcpiFadt{h, fadt.core(o), fadt.ext(Nat.is_le(244n, n), o), fadt.sleep(Nat.is_le(268n, n), o), fadt.hyp(Nat.is_le(276n, n), o)}}