6 #define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1)
9 IpPrefixOriginOther
= 0,
11 IpPrefixOriginWellKnown
,
13 IpPrefixOriginRouterAdvertisement
,
14 IpPrefixOriginUnchanged
= 1 << 4
17 #define NlpoOther IpPrefixOriginOther
18 #define NlpoManual IpPrefixOriginManual
19 #define NlpoWellKnown IpPrefixOriginWellKnown
20 #define NlpoDhcp IpPrefixOriginDhcp
21 #define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement
30 IpSuffixOriginOther
= 0,
32 IpSuffixOriginWellKnown
,
34 IpSuffixOriginLinkLayerAddress
,
36 IpSuffixOriginUnchanged
= 1 << 4
45 IpDadStateInvalid
= 0,
52 #define MAKE_ROUTE_PROTOCOL(suffix, value) \
53 MIB_IPPROTO_ ## suffix = value, \
54 PROTO_IP_ ## suffix = value
57 RouteProtocolOther
= 1,
58 RouteProtocolLocal
= 2,
59 RouteProtocolNetMgmt
= 3,
60 RouteProtocolIcmp
= 4,
63 RouteProtocolHello
= 7,
65 RouteProtocolIsIs
= 9,
66 RouteProtocolEsIs
= 10,
67 RouteProtocolCisco
= 11,
68 RouteProtocolBbn
= 12,
69 RouteProtocolOspf
= 13,
70 RouteProtocolBgp
= 14,
71 MAKE_ROUTE_PROTOCOL(OTHER
, 1),
72 MAKE_ROUTE_PROTOCOL(LOCAL
, 2),
73 MAKE_ROUTE_PROTOCOL(NETMGMT
, 3),
74 MAKE_ROUTE_PROTOCOL(ICMP
, 4),
75 MAKE_ROUTE_PROTOCOL(EGP
, 5),
76 MAKE_ROUTE_PROTOCOL(GGP
, 6),
77 MAKE_ROUTE_PROTOCOL(HELLO
, 7),
78 MAKE_ROUTE_PROTOCOL(RIP
, 8),
79 MAKE_ROUTE_PROTOCOL(IS_IS
, 9),
80 MAKE_ROUTE_PROTOCOL(ES_IS
, 10),
81 MAKE_ROUTE_PROTOCOL(CISCO
, 11),
82 MAKE_ROUTE_PROTOCOL(BBN
, 12),
83 MAKE_ROUTE_PROTOCOL(OSPF
, 13),
84 MAKE_ROUTE_PROTOCOL(BGP
, 14),
85 MAKE_ROUTE_PROTOCOL(NT_AUTOSTATIC
, 10002),
86 MAKE_ROUTE_PROTOCOL(NT_STATIC
, 10006),
87 MAKE_ROUTE_PROTOCOL(NT_STATIC_NON_DOD
, 10007),
88 } NL_ROUTE_PROTOCOL
, *PNL_ROUTE_PROTOCOL
;
97 } NL_ADDRESS_TYPE
, *PNL_ADDRESS_TYPE
;
99 typedef enum _NL_ROUTE_ORIGIN
{
103 NlroRouterAdvertisement
,
105 } NL_ROUTE_ORIGIN
, *PNL_ROUTE_ORIGIN
;
107 typedef enum _NL_NEIGHBOR_STATE
{
116 } NL_NEIGHBOR_STATE
, *PNL_NEIGHBOR_STATE
;
118 typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR
{
119 LinkLocalAlwaysOff
= 0,
122 LinkLocalUnchanged
= -1
123 } NL_LINK_LOCAL_ADDRESS_BEHAVIOR
;
125 typedef struct _NL_INTERFACE_OFFLOAD_ROD
{
126 BOOLEAN NlChecksumSupported
:1;
127 BOOLEAN NlOptionsSupported
:1;
128 BOOLEAN TlDatagramChecksumSupported
:1;
129 BOOLEAN TlStreamChecksumSupported
:1;
130 BOOLEAN TlStreamOptionsSupported
:1;
131 BOOLEAN FastPathCompatible
:1;
132 BOOLEAN TlLargeSendOffloadSupported
:1;
133 BOOLEAN TlGiantSendOffloadSupported
:1;
134 } NL_INTERFACE_OFFLOAD_ROD
, *PNL_INTERFACE_OFFLOAD_ROD
;
136 typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR
{
137 RouterDiscoveryDisabled
= 0,
138 RouterDiscoveryEnabled
,
140 RouterDiscoveryUnchanged
= -1
141 } NL_ROUTER_DISCOVERY_BEHAVIOR
;
143 typedef enum _NL_BANDWIDTH_FLAG
{
147 } NL_BANDWIDTH_FLAG
, *PNL_BANDWIDTH_FLAG
;
149 typedef struct _NL_PATH_BANDWIDTH_ROD
{
152 BOOLEAN BandwidthPeaked
;
153 } NL_PATH_BANDWIDTH_ROD
, *PNL_PATH_BANDWIDTH_ROD
;
155 typedef enum _NL_NETWORK_CATEGORY
{
156 NetworkCategoryPublic
,
157 NetworkCategoryPrivate
,
158 NetworkCategoryDomainAuthenticated
,
159 NetworkCategoryUnchanged
= -1,
160 NetworkCategoryUnknown
= -1
161 } NL_NETWORK_CATEGORY
, *PNL_NETWORK_CATEGORY
;
163 #define NET_IF_CURRENT_SESSION ((ULONG)-1)