| /** |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER within this package. |
| */ |
| |
| #ifndef _NLDEF_ |
| #define _NLDEF_ |
| #include <winapifamily.h> |
| |
| #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00 |
| |
| typedef enum { |
| NldsInvalid, |
| NldsTentative, |
| NldsDuplicate, |
| NldsDeprecated, |
| NldsPreferred, |
| IpDadStateInvalid = 0, |
| IpDadStateTentative, |
| IpDadStateDuplicate, |
| IpDadStateDeprecated, |
| IpDadStatePreferred, |
| } NL_DAD_STATE; |
| |
| #define MAKE_ROUTE_PROTOCOL(N, V) MIB_IPPROTO_ ## N = V, PROTO_IP_ ## N = V |
| |
| typedef enum { |
| RouteProtocolOther = 1, |
| RouteProtocolLocal = 2, |
| RouteProtocolNetMgmt = 3, |
| RouteProtocolIcmp = 4, |
| RouteProtocolEgp = 5, |
| RouteProtocolGgp = 6, |
| RouteProtocolHello = 7, |
| RouteProtocolRip = 8, |
| RouteProtocolIsIs = 9, |
| RouteProtocolEsIs = 10, |
| RouteProtocolCisco = 11, |
| RouteProtocolBbn = 12, |
| RouteProtocolOspf = 13, |
| RouteProtocolBgp = 14, |
| |
| MAKE_ROUTE_PROTOCOL (OTHER, 1), |
| MAKE_ROUTE_PROTOCOL (LOCAL, 2), |
| MAKE_ROUTE_PROTOCOL (NETMGMT, 3), |
| MAKE_ROUTE_PROTOCOL (ICMP, 4), |
| MAKE_ROUTE_PROTOCOL (EGP, 5), |
| MAKE_ROUTE_PROTOCOL (GGP, 6), |
| MAKE_ROUTE_PROTOCOL (HELLO, 7), |
| MAKE_ROUTE_PROTOCOL (RIP, 8), |
| MAKE_ROUTE_PROTOCOL (IS_IS, 9), |
| MAKE_ROUTE_PROTOCOL (ES_IS, 10), |
| MAKE_ROUTE_PROTOCOL (CISCO, 11), |
| MAKE_ROUTE_PROTOCOL (BBN, 12), |
| MAKE_ROUTE_PROTOCOL (OSPF, 13), |
| MAKE_ROUTE_PROTOCOL (BGP, 14), |
| MAKE_ROUTE_PROTOCOL (NT_AUTOSTATIC, 10002), |
| MAKE_ROUTE_PROTOCOL (NT_STATIC, 10006), |
| MAKE_ROUTE_PROTOCOL (NT_STATIC_NON_DOD, 10007) |
| } NL_ROUTE_PROTOCOL,*PNL_ROUTE_PROTOCOL; |
| |
| typedef enum { |
| IpPrefixOriginOther = 0, |
| IpPrefixOriginManual, |
| IpPrefixOriginWellKnown, |
| IpPrefixOriginDhcp, |
| IpPrefixOriginRouterAdvertisement, |
| IpPrefixOriginUnchanged = 16 |
| } NL_PREFIX_ORIGIN; |
| |
| typedef enum { |
| NlsoOther = 0, |
| NlsoManual, |
| NlsoWellKnown, |
| NlsoDhcp, |
| NlsoLinkLayerAddress, |
| NlsoRandom, |
| IpSuffixOriginOther = 0, |
| IpSuffixOriginManual, |
| IpSuffixOriginWellKnown, |
| IpSuffixOriginDhcp, |
| IpSuffixOriginLinkLayerAddress, |
| IpSuffixOriginRandom, |
| IpSuffixOriginUnchanged = 16 |
| } NL_SUFFIX_ORIGIN; |
| |
| typedef enum { |
| NlatUnspecified, |
| NlatUnicast, |
| NlatAnycast, |
| NlatMulticast, |
| NlatBroadcast, |
| NlatInvalid |
| } NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE; |
| |
| typedef enum _NL_ROUTE_ORIGIN { |
| NlroManual, |
| NlroWellKnown, |
| NlroDHCP, |
| NlroRouterAdvertisement, |
| Nlro6to4, |
| } NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN; |
| |
| typedef enum _NL_NEIGHBOR_STATE { |
| NlnsUnreachable, |
| NlnsIncomplete, |
| NlnsProbe, |
| NlnsDelay, |
| NlnsStale, |
| NlnsReachable, |
| NlnsPermanent, |
| NlnsMaximum, |
| } NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE; |
| |
| typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR { |
| LinkLocalAlwaysOff = 0, |
| LinkLocalDelayed, |
| LinkLocalAlwaysOn, |
| LinkLocalUnchanged = -1 |
| } NL_LINK_LOCAL_ADDRESS_BEHAVIOR; |
| |
| typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR { |
| RouterDiscoveryDisabled = 0, |
| RouterDiscoveryEnabled, |
| RouterDiscoveryDhcp, |
| RouterDiscoveryUnchanged = -1 |
| } NL_ROUTER_DISCOVERY_BEHAVIOR; |
| |
| typedef enum _NL_BANDWIDTH_FLAG { |
| NlbwDisabled = 0, |
| NlbwEnabled, |
| NlbwUnchanged = -1 |
| } NL_BANDWIDTH_FLAG, *PNL_BANDWIDTH_FLAG; |
| |
| typedef enum _NL_INTERFACE_NETWORK_CATEGORY_STATE { |
| NlincCategoryUnknown = 0, |
| NlincPublic = 1, |
| NlincPrivate = 2, |
| NlincDomainAuthenticated = 3, |
| NlincCategoryStateMax |
| } NL_INTERFACE_NETWORK_CATEGORY_STATE, *PNL_INTERFACE_NETWORK_CATEGORY_STATE; |
| |
| typedef struct _NL_INTERFACE_OFFLOAD_ROD { |
| BOOLEAN NlChecksumSupported : 1; |
| BOOLEAN NlOptionsSupported : 1; |
| BOOLEAN TlDatagramChecksumSupported : 1; |
| BOOLEAN TlStreamChecksumSupported : 1; |
| BOOLEAN TlStreamOptionsSupported : 1; |
| BOOLEAN FastPathCompatible : 1; |
| BOOLEAN TlLargeSendOffloadSupported : 1; |
| BOOLEAN TlGiantSendOffloadSupported : 1; |
| } NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD; |
| |
| typedef struct _NL_PATH_BANDWIDTH_ROD { |
| ULONG64 Bandwidth; |
| ULONG64 Instability; |
| BOOLEAN BandwidthPeaked; |
| } NL_PATH_BANDWIDTH_ROD, *PNL_PATH_BANDWIDTH_ROD; |
| |
| typedef enum _NL_NETWORK_CATEGORY { |
| NetworkCategoryPublic, |
| NetworkCategoryPrivate, |
| NetworkCategoryDomainAuthenticated, |
| NetworkCategoryUnchanged = -1, |
| NetworkCategoryUnknown = -1 |
| } NL_NETWORK_CATEGORY,*PNL_NETWORK_CATEGORY; |
| |
| typedef struct _NL_BANDWIDTH_INFORMATION { |
| ULONG64 Bandwidth; |
| ULONG64 Instability; |
| BOOLEAN BandwidthPeaked; |
| } NL_BANDWIDTH_INFORMATION, *PNL_BANDWIDTH_INFORMATION; |
| |
| #define NlpoOther IpPrefixOriginOther |
| #define NlpoManual IpPrefixOriginManual |
| #define NlpoWellKnown IpPrefixOriginWellKnown |
| #define NlpoDhcp IpPrefixOriginDhcp |
| #define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement |
| |
| #define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1) |
| |
| #define NET_IF_CURRENT_SESSION ((ULONG)-1) |
| |
| #endif |
| |
| #endif |