Srat.AcpiSratEntry.encode: def of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/srat.bend as Srat Lines 161-176 of bend-osdev-acpi@0.1.1.0/srat.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.1.0/srat.bend&start_line=161&end_line=176 import Base import bend-osdev-bytes@0.1.1.0/bytes.bend as B import bend-osdev-acpi@0.1.1.0/fields.bend as F import bend-osdev-acpi@0.1.1.0/entries.bend as N def AcpiSratEntry.encode(e: AcpiSratEntry) -> B.Octets: match e: case AcpiSratLapic{+dm, a, f, s, c}: N.AcpiRawEntry.encode(0, B.Octets.concat([B.Octets.of_list([dm, a]), B.Octets.le32(f), B.Octets.of_list([s]), F.AcpiF.le24(U32.shrn(dm, 8n)), B.Octets.le32(c)])) case AcpiSratMemory{dm, b, l, f}: N.AcpiRawEntry.encode(1, B.Octets.concat([B.Octets.le32(dm), srat.z(2n), B.Octets.le64(b), B.Octets.le64(l), srat.z(4n), B.Octets.le32(f), srat.z(8n)])) case AcpiSratX2apic{dm, x, f, c}: N.AcpiRawEntry.encode(2, B.Octets.concat([srat.z(2n), B.Octets.le32(dm), B.Octets.le32(x), B.Octets.le32(f), B.Octets.le32(c), srat.z(4n)])) case AcpiSratGicc{dm, u, f, c}: N.AcpiRawEntry.encode(3, B.Octets.concat([B.Octets.le32(dm), B.Octets.le32(u), B.Octets.le32(f), B.Octets.le32(c)])) case AcpiSratGicIts{dm, i}: N.AcpiRawEntry.encode(4, B.Octets.concat([B.Octets.le32(dm), srat.z(2n), B.Octets.le32(i)])) case AcpiSratGeneric{k, ht, dm, hd, f}: N.AcpiRawEntry.encode(k, B.Octets.concat([srat.z(1n), B.Octets.of_list([ht]), B.Octets.le32(dm), F.AcpiF.fit(16n, hd), B.Octets.le32(f), srat.z(4n)])) case AcpiSratOther{k, d}: N.AcpiRawEntry.encode(k, d) Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shrn https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/entries.bend&name=AcpiRawEntry.encode https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/fields.bend&name=AcpiF.fit https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/fields.bend&name=AcpiF.le24 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/srat.bend&name=AcpiSratEntry https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/srat.bend&name=srat.z https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.concat https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.le32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.le64 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.of_list