commit cb649b769c4a8d1d5d703994976c2c9e4ae4e03b (tree)
parent c50ac9a764c9022e69c9885b17083d70223cb1aa
Author: Luna <git@l4.pm>
Date: Mon, 30 Mar 2020 17:06:45 -0300
Fix ifreq definition
Diffstat:
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git 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
@@ -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,
},
};