Commit cb649b769c
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,
},
};
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);
}