From a6c87d883ac93421bf9c91095b436270e428b896 Mon Sep 17 00:00:00 2001 From: Tom Pusateri Date: Sun, 19 Oct 2025 19:31:53 -0400 Subject: [PATCH] Add LINK_STATE_* definitions to NetBSD and OpenBSD. --- src/unix/bsd/netbsdlike/netbsd/mod.rs | 10 +++++++++- src/unix/bsd/netbsdlike/openbsd/mod.rs | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 19c162d0f6cc6..4fc76865a14b3 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1393,7 +1393,15 @@ pub const LOCAL_CONNWAIT: c_int = 0x0002; // connects block until accepted pub const LOCAL_PEEREID: c_int = 0x0003; // get peer identification pub const LOCAL_CREDS: c_int = 0x0004; // pass credentials to receiver -// https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L373 +// https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L207 +/// link invalid/unknown +pub const LINK_STATE_UNKNOWN: c_int = 0; +/// link is down +pub const LINK_STATE_DOWN: c_int = 1; +/// link is up +pub const LINK_STATE_UP: c_int = 2; + +// https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L445 pub const IFF_UP: c_int = 0x0001; // interface is up pub const IFF_BROADCAST: c_int = 0x0002; // broadcast address valid pub const IFF_DEBUG: c_int = 0x0004; // turn on debugging diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 2113beb3c4d8e..c7f1d4d1b14c3 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1629,6 +1629,22 @@ const SI_PAD: size_t = (SI_MAXSZ / size_of::()) - 3; pub const MAP_STACK: c_int = 0x4000; pub const MAP_CONCEAL: c_int = 0x8000; +// https://github.com/openbsd/src/blob/HEAD/sys/net/if.h#L135 +/// link unknown +pub const LINK_STATE_UNKNOWN: c_int = 0; +/// link invalid +pub const LINK_STATE_INVALID: c_int = 1; +/// link is down +pub const LINK_STATE_DOWN: c_int = 2; +/// keepalive reports down +pub const LINK_STATE_KALIVE_DOWN: c_int = 3; +/// link is up +pub const LINK_STATE_UP: c_int = 4; +/// link is up and half duplex +pub const LINK_STATE_HALF_DUPLEX: c_int = 5; +/// link is up and full duplex +pub const LINK_STATE_FULL_DUPLEX: c_int = 6; + // https://github.com/openbsd/src/blob/HEAD/sys/net/if.h#L187 pub const IFF_UP: c_int = 0x1; // interface is up pub const IFF_BROADCAST: c_int = 0x2; // broadcast address valid