def ups_rt

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

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/aml_name.bend as N

2245def ups_rt(+u: Nat, +ss: List<&2, B.Octets>, +R: List<&2, U32>, +oks: {N.AmlName.segs_ok(ss) == True{} : Bool}, +lt: {Nat.is_lt(N.nm.len(ss), 256n) == True{} : Bool}) -> {Done{N.AmlNameL{N.AmlName{False{}, u, ss}, R}} == N.nm.ups(B.append(N.nm.carets(u), B.append(B.mask(N.nm.path(ss)), R)), N.nm.head_kind(B.append(N.nm.carets(u), B.append(B.mask(N.nm.path(ss)), R)))) : Result<&2, &2, E.AcpiError, N.AmlNameL>}:
2246  match u:
2247    case 0n:
2248      pth_ups(ss, R, oks, lt)
2249    case 1n+p:
2250      %ups_rt(p, ss, R, oks, lt) : {Done{N.AmlNameL{N.AmlName{False{}, 1n+p, ss}, R}} == N.nm.up1(_) : Result<&2, &2, E.AcpiError, N.AmlNameL>}
2251      {==}

Uses (20)

Used by (1)