diff --git a/lib/std/net.zig b/lib/std/net.zig index 1596df2d7e..0bb797fd5e 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -551,7 +551,7 @@ fn if_nametoindex(name: []const u8) !u32 { else => {}, } - std.debug.warn("ival={}\n", .{ifr.ifr_ifru.ifru_ivalue}); + std.debug.warn("ival={}, rest={}\n", .{ ifr.ifr_ifru.ifru_ivalue, ifr.ifr_ifru }); return @bitCast(u32, ifr.ifr_ifru.ifru_ivalue); } diff --git a/lib/std/os/bits/linux.zig b/lib/std/os/bits/linux.zig index 773a61b3ce..97ca3e94e4 100644 --- a/lib/std/os/bits/linux.zig +++ b/lib/std/os/bits/linux.zig @@ -1709,31 +1709,31 @@ pub const termios = extern struct { pub const SIOCGIFINDEX = 0x8933; pub const IFNAMESIZE = 16; -pub const ifmap = struct { - mem_start: u32, - mem_end: u32, - base_addr: i16, +pub const ifmap = extern struct { + mem_start: c_ulong, + mem_end: c_ulong, + base_addr: c_ushort, irq: u8, dma: u8, port: u8, }; -pub const ifreq = extern union { - ifr_ifrn: struct { +pub const ifreq = extern struct { + ifr_ifrn: extern union { name: [IFNAMESIZE]u8, }, - ifr_ifru: struct { + ifr_ifru: extern union { ifru_addr: sockaddr, ifru_dstaddr: sockaddr, ifru_broadaddr: sockaddr, ifru_netmask: sockaddr, ifru_hwaddr: sockaddr, - ifru_flags: i16, + ifru_flags: c_short, ifru_ivalue: i32, ifru_mtu: i32, ifru_map: ifmap, ifru_slave: [IFNAMESIZE]u8, ifru_newname: [IFNAMESIZE]u8, - ifru_data: [*:0]u8, + ifru_data: [*c]u8, }, };