zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 0d00c733de80f41e2e4bae848658213f7076d49e (tree)
parent 0e876a6378b5380900cf8755f624a670e8716f80
Author: pseudoc <atlas.yu@canonical.com>
Date:   Wed, 25 Sep 2024 15:30:46 +0800

std.os.linux: extend rtattr.type to support IFA_*

This is a breaking change which updates the `rtattr.type` from `IFLA` to
`union { IFLA, IFA }`. `IFLA` is for the `RTM_*LINK` messages and `IFA`
is for the `RTM_*ADDR` messages.

Diffstat:
Mlib/std/os/linux.zig | 24+++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig @@ -8064,11 +8064,33 @@ pub const rtattr = extern struct { len: c_ushort, /// Type of option - type: IFLA, + type: extern union { + /// IFLA_* from linux/if_link.h + link: IFLA, + /// IFA_* from linux/if_addr.h + addr: IFA, + }, pub const ALIGNTO = 4; }; +pub const IFA = enum(c_ushort) { + UNSPEC, + ADDRESS, + LOCAL, + LABEL, + BROADCAST, + ANYCAST, + CACHEINFO, + MULTICAST, + FLAGS, + RT_PRIORITY, + TARGET_NETNSID, + PROTO, + + _, +}; + pub const IFLA = enum(c_ushort) { UNSPEC, ADDRESS,