authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-06 09:36:16+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-08 18:08:25+02:00
logc7d5569546118f6ac51cc40148bb394048abbc49
tree410c1da3795c5c445182d0c7b2a048837ba8a2ce
parent58fb6115896eddb5f1c86e5e812cdde819fcdf20
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.elf: add helper methods on CLASS and DATA


1 files changed, 16 insertions(+), 0 deletions(-)

lib/std/elf.zig+16
...@@ -1644,6 +1644,14 @@ pub const CLASS = enum(u8) {...@@ -1644,6 +1644,14 @@ pub const CLASS = enum(u8) {
16441644
1645 pub const NUM = @typeInfo(CLASS).@"enum".field_names.len;1645 pub const NUM = @typeInfo(CLASS).@"enum".field_names.len;
16461646
1647 pub inline fn size(class: CLASS) u32 {
1648 return switch (class) {
1649 .NONE, _ => unreachable,
1650 .@"32" => 4,
1651 .@"64" => 8,
1652 };
1653 }
1654
1647 pub fn ElfN(comptime class: CLASS) type {1655 pub fn ElfN(comptime class: CLASS) type {
1648 return switch (class) {1656 return switch (class) {
1649 .NONE, _ => comptime unreachable,1657 .NONE, _ => comptime unreachable,
...@@ -1668,6 +1676,14 @@ pub const DATA = enum(u8) {...@@ -1668,6 +1676,14 @@ pub const DATA = enum(u8) {
1668 _,1676 _,
16691677
1670 pub const NUM = @typeInfo(DATA).@"enum".field_names.len;1678 pub const NUM = @typeInfo(DATA).@"enum".field_names.len;
1679
1680 pub inline fn endian(data: DATA) std.lang.Endian {
1681 return switch (data) {
1682 .NONE, _ => unreachable,
1683 .@"2LSB" => .little,
1684 .@"2MSB" => .big,
1685 };
1686 }
1671};1687};
16721688
1673pub const OSABI = enum(u8) {1689pub const OSABI = enum(u8) {