LocalIP (SunOS): add more if flags

This commit is contained in:
Carter Li
2025-08-09 18:51:09 +08:00
parent 2bb451d9e4
commit 1edc617b55
2 changed files with 54 additions and 41 deletions
+42 -31
View File
@@ -35,53 +35,64 @@
#include <sys/sockio.h>
#endif
#define FF_LOCALIP_NIFLAG(name) { IFF_##name, #name }
static const FFLocalIpNIFlag niFlagOptions[] = {
{ IFF_UP, "UP" },
{ IFF_BROADCAST, "BROADCAST" },
FF_LOCALIP_NIFLAG(UP),
FF_LOCALIP_NIFLAG(BROADCAST),
#ifdef IFF_DEBUG
{ IFF_DEBUG, "DEBUG" },
FF_LOCALIP_NIFLAG(DEBUG),
#endif
{ IFF_LOOPBACK, "LOOPBACK" },
{ IFF_POINTOPOINT, "POINTOPOINT" },
FF_LOCALIP_NIFLAG(LOOPBACK),
FF_LOCALIP_NIFLAG(POINTOPOINT),
#ifdef IFF_RUNNING
{ IFF_RUNNING, "RUNNING" },
FF_LOCALIP_NIFLAG(RUNNING),
#endif
{ IFF_NOARP, "NOARP" },
{ IFF_PROMISC, "PROMISC" },
{ IFF_ALLMULTI, "ALLMULTI" },
{ IFF_MULTICAST, "MULTICAST" },
FF_LOCALIP_NIFLAG(NOARP),
FF_LOCALIP_NIFLAG(PROMISC),
FF_LOCALIP_NIFLAG(ALLMULTI),
#ifdef IFF_INTELLIGENT
FF_LOCALIP_NIFLAG(INTELLIGENT),
#endif
FF_LOCALIP_NIFLAG(MULTICAST),
#ifdef IFF_NOTRAILERS
{ IFF_NOTRAILERS, "NOTRAILERS" },
FF_LOCALIP_NIFLAG(NOTRAILERS),
#endif
#ifdef __linux__
{ IFF_MASTER, "MASTER" },
{ IFF_SLAVE, "SLAVE" },
{ IFF_PORTSEL, "PORTSEL" },
{ IFF_AUTOMEDIA, "AUTOMEDIA" },
{ IFF_DYNAMIC, "DYNAMIC" },
{ IFF_LOWER_UP, "LOWER_UP" },
{ IFF_DORMANT, "DORMANT" },
{ IFF_ECHO, "ECHO" },
FF_LOCALIP_NIFLAG(MASTER),
FF_LOCALIP_NIFLAG(SLAVE),
FF_LOCALIP_NIFLAG(PORTSEL),
FF_LOCALIP_NIFLAG(AUTOMEDIA),
FF_LOCALIP_NIFLAG(DYNAMIC),
FF_LOCALIP_NIFLAG(LOWER_UP),
FF_LOCALIP_NIFLAG(DORMANT),
FF_LOCALIP_NIFLAG(ECHO),
#endif
#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__NetBSD__)
{ IFF_OACTIVE, "OACTIVE" },
{ IFF_SIMPLEX, "SIMPLEX" },
{ IFF_LINK0, "LINK0" },
{ IFF_LINK1, "LINK1" },
{ IFF_LINK2, "LINK2" },
FF_LOCALIP_NIFLAG(OACTIVE),
FF_LOCALIP_NIFLAG(SIMPLEX),
FF_LOCALIP_NIFLAG(LINK0),
FF_LOCALIP_NIFLAG(LINK1),
FF_LOCALIP_NIFLAG(LINK2),
#endif
#ifdef IFF_ALTPHYS
{ IFF_ALTPHYS, "ALTPHYS" },
FF_LOCALIP_NIFLAG(ALTPHYS),
#endif
#ifdef IFF_CANTCONFIG
{ IFF_CANTCONFIG, "CANTCONFIG" },
FF_LOCALIP_NIFLAG(CANTCONFIG),
#endif
#ifdef __HAIKU__
{ IFF_AUTOUP, "IAUTOUP" },
{ IFF_SIMPLEX, "SIMPLEX" },
{ IFF_LINK, "LINK" },
{ IFF_AUTO_CONFIGURED, "AUTO_CONFIGURED" },
{ IFF_CONFIGURING, "CONFIGURING" },
FF_LOCALIP_NIFLAG(AUTOUP),
FF_LOCALIP_NIFLAG(SIMPLEX),
FF_LOCALIP_NIFLAG(LINK),
FF_LOCALIP_NIFLAG(AUTO_CONFIGURED),
FF_LOCALIP_NIFLAG(CONFIGURING),
#endif
#ifdef __sun
FF_LOCALIP_NIFLAG(MULTI_BCAST),
FF_LOCALIP_NIFLAG(UNNUMBERED),
FF_LOCALIP_NIFLAG(DHCPRUNNING),
FF_LOCALIP_NIFLAG(PRIVATE),
#endif
// sentinel
{},
+12 -10
View File
@@ -6,17 +6,19 @@
#include "util/windows/unicode.h"
#include "localip.h"
#define FF_LOCALIP_NIFLAG(name) { IP_ADAPTER_##name, #name }
static const FFLocalIpNIFlag niFlagOptions[] = {
{ IP_ADAPTER_DDNS_ENABLED, "DDNS_ENABLED" },
{ IP_ADAPTER_REGISTER_ADAPTER_SUFFIX, "REGISTER_ADAPTER_SUFFIX" },
{ IP_ADAPTER_DHCP_ENABLED, "DHCP_ENABLED" },
{ IP_ADAPTER_RECEIVE_ONLY, "RECEIVE_ONLY" },
{ IP_ADAPTER_NO_MULTICAST, "NO_MULTICAST" },
{ IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG, "IPV6_OTHER_STATEFUL_CONFIG" },
{ IP_ADAPTER_NETBIOS_OVER_TCPIP_ENABLED, "NETBIOS_OVER_TCPIP_ENABLED" },
{ IP_ADAPTER_IPV4_ENABLED, "IPV4_ENABLED" },
{ IP_ADAPTER_IPV6_ENABLED, "IPV6_ENABLED" },
{ IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG, "IPV6_MANAGE_ADDRESS_CONFIG" },
FF_LOCALIP_NIFLAG(DDNS_ENABLED),
FF_LOCALIP_NIFLAG(REGISTER_ADAPTER_SUFFIX),
FF_LOCALIP_NIFLAG(DHCP_ENABLED),
FF_LOCALIP_NIFLAG(RECEIVE_ONLY),
FF_LOCALIP_NIFLAG(NO_MULTICAST),
FF_LOCALIP_NIFLAG(IPV6_OTHER_STATEFUL_CONFIG),
FF_LOCALIP_NIFLAG(NETBIOS_OVER_TCPIP_ENABLED),
FF_LOCALIP_NIFLAG(IPV4_ENABLED),
FF_LOCALIP_NIFLAG(IPV6_ENABLED),
FF_LOCALIP_NIFLAG(IPV6_MANAGE_ADDRESS_CONFIG),
// sentinel
{},
};