def rx4

bend-osdev-acpi@0.1.1.0 · PROOF.bend:2470

import bend-osdev-acpi@0.1.1.0/PROOF.bend as PROOF
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/checksum.bend as C
import bend-osdev-acpi@0.1.1.0/fields.bend as F
import bend-osdev-acpi@0.1.1.0/rsdp.bend as P

2470def rx4(+b: Bool, +o: B.Octets, +r: P.AcpiRsdp, +ok20: {C.AcpiChecksum.ok(B.Octets.take(20n, o)) == True{} : Bool}, +e: {P.rs.p4(b, o) == Done{r} : Result<&2, &2, E.AcpiError, P.AcpiRsdp>}) -> {C.AcpiChecksum.ok(B.Octets.take(P.AcpiRsdp.checked(r), o)) == True{} : Bool}:
2471  match b:
2472    case True{}:
2473      %done_inj(P.AcpiRsdp, P.AcpiRsdp{F.AcpiF.bytes(o, 9n, 6n), F.AcpiF.u8(o, 15n), F.AcpiF.u32(o, 16n), None{}}, r, e) : {C.AcpiChecksum.ok(B.Octets.take(P.AcpiRsdp.checked(_), o)) == True{} : Bool}
2474      ok20
2475    case False{}:
2476      rx5(Nat.is_le(36n, B.Octets.len(o)), o, r, e)

Uses (17)

Used by (1)