winapi_ui_automation/shared/
nldef.rs1use shared::basetsd::ULONG64;
7use shared::minwindef::ULONG;
8use shared::ntdef::BOOLEAN;
9ENUM!{enum NL_PREFIX_ORIGIN {
10 IpPrefixOriginOther = 0,
11 IpPrefixOriginManual,
12 IpPrefixOriginWellKnown,
13 IpPrefixOriginDhcp,
14 IpPrefixOriginRouterAdvertisement,
15 IpPrefixOriginUnchanged = 1 << 4,
16}}
17pub const NlpoOther: NL_PREFIX_ORIGIN = IpPrefixOriginOther;
18pub const NlpoManual: NL_PREFIX_ORIGIN = IpPrefixOriginManual;
19pub const NlpoWellKnown: NL_PREFIX_ORIGIN = IpPrefixOriginWellKnown;
20pub const NlpoDhcp: NL_PREFIX_ORIGIN = IpPrefixOriginDhcp;
21pub const NlpoRouterAdvertisement: NL_PREFIX_ORIGIN = IpPrefixOriginRouterAdvertisement;
22ENUM!{enum NL_SUFFIX_ORIGIN {
23 NlsoOther = 0,
24 NlsoManual,
25 NlsoWellKnown,
26 NlsoDhcp,
27 NlsoLinkLayerAddress,
28 NlsoRandom,
29 IpSuffixOriginOther = 0,
30 IpSuffixOriginManual,
31 IpSuffixOriginWellKnown,
32 IpSuffixOriginDhcp,
33 IpSuffixOriginLinkLayerAddress,
34 IpSuffixOriginRandom,
35 IpSuffixOriginUnchanged = 1 << 4,
36}}
37ENUM!{enum NL_DAD_STATE {
38 NldsInvalid,
39 NldsTentative,
40 NldsDuplicate,
41 NldsDeprecated,
42 NldsPreferred,
43 IpDadStateInvalid = 0,
44 IpDadStateTentative,
45 IpDadStateDuplicate,
46 IpDadStateDeprecated,
47 IpDadStatePreferred,
48}}
49pub const NL_MAX_METRIC_COMPONENT: ULONG = (1u32 << 31) - 1;
50ENUM!{enum NL_ROUTE_PROTOCOL {
51 RouteProtocolOther = 1,
52 RouteProtocolLocal = 2,
53 RouteProtocolNetMgmt = 3,
54 RouteProtocolIcmp = 4,
55 RouteProtocolEgp = 5,
56 RouteProtocolGgp = 6,
57 RouteProtocolHello = 7,
58 RouteProtocolRip = 8,
59 RouteProtocolIsIs = 9,
60 RouteProtocolEsIs = 10,
61 RouteProtocolCisco = 11,
62 RouteProtocolBbn = 12,
63 RouteProtocolOspf = 13,
64 RouteProtocolBgp = 14,
65 RouteProtocolIdpr = 15,
66 RouteProtocolEigrp = 16,
67 RouteProtocolDvmrp = 17,
68 RouteProtocolRpl = 18,
69 RouteProtocolDhcp = 19,
70 MIB_IPPROTO_OTHER = 1,
71 PROTO_IP_OTHER = 1,
72 MIB_IPPROTO_LOCAL = 2,
73 PROTO_IP_LOCAL = 2,
74 MIB_IPPROTO_NETMGMT = 3,
75 PROTO_IP_NETMGMT = 3,
76 MIB_IPPROTO_ICMP = 4,
77 PROTO_IP_ICMP = 4,
78 MIB_IPPROTO_EGP = 5,
79 PROTO_IP_EGP = 5,
80 MIB_IPPROTO_GGP = 6,
81 PROTO_IP_GGP = 6,
82 MIB_IPPROTO_HELLO = 7,
83 PROTO_IP_HELLO = 7,
84 MIB_IPPROTO_RIP = 8,
85 PROTO_IP_RIP = 8,
86 MIB_IPPROTO_IS_IS = 9,
87 PROTO_IP_IS_IS = 9,
88 MIB_IPPROTO_ES_IS = 10,
89 PROTO_IP_ES_IS = 10,
90 MIB_IPPROTO_CISCO = 11,
91 PROTO_IP_CISCO = 11,
92 MIB_IPPROTO_BBN = 12,
93 PROTO_IP_BBN = 12,
94 MIB_IPPROTO_OSPF = 13,
95 PROTO_IP_OSPF = 13,
96 MIB_IPPROTO_BGP = 14,
97 PROTO_IP_BGP = 14,
98 MIB_IPPROTO_IDPR = 15,
99 PROTO_IP_IDPR = 15,
100 MIB_IPPROTO_EIGRP = 16,
101 PROTO_IP_EIGRP = 16,
102 MIB_IPPROTO_DVMRP = 17,
103 PROTO_IP_DVMRP = 17,
104 MIB_IPPROTO_RPL = 18,
105 PROTO_IP_RPL = 18,
106 MIB_IPPROTO_DHCP = 19,
107 PROTO_IP_DHCP = 19,
108 MIB_IPPROTO_NT_AUTOSTATIC = 10002,
109 PROTO_IP_NT_AUTOSTATIC = 10002,
110 MIB_IPPROTO_NT_STATIC = 10006,
111 PROTO_IP_NT_STATIC = 10006,
112 MIB_IPPROTO_NT_STATIC_NON_DOD = 10007,
113 PROTO_IP_NT_STATIC_NON_DOD = 10007,
114}}
115pub type PNL_ROUTE_PROTOCOL = *mut NL_ROUTE_PROTOCOL;
116ENUM!{enum NL_ADDRESS_TYPE {
117 NlatUnspecified = 0,
118 NlatUnicast = 1,
119 NlatAnycast = 2,
120 NlatMulticast = 3,
121 NlatBroadcast = 4,
122 NlatInvalid = 5,
123}}
124pub type PNL_ADDRESS_TYPE = *mut NL_ADDRESS_TYPE;
125ENUM!{enum NL_ROUTE_ORIGIN {
126 NlroManual = 0,
127 NlroWellKnown = 1,
128 NlroDHCP = 2,
129 NlroRouterAdvertisement = 3,
130 Nlro6to4 = 4,
131}}
132pub type PNL_ROUTE_ORIGIN = *mut NL_ROUTE_ORIGIN;
133ENUM!{enum NL_NEIGHBOR_STATE {
134 NlnsUnreachable = 0,
135 NlnsIncomplete = 1,
136 NlnsProbe = 2,
137 NlnsDelay = 3,
138 NlnsStale = 4,
139 NlnsReachable = 5,
140 NlnsPermanent = 6,
141 NlnsMaximum = 7,
142}}
143pub type PNL_NEIGHBOR_STATE = *mut NL_NEIGHBOR_STATE;
144ENUM!{enum NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
145 LinkLocalAlwaysOff = 0,
146 LinkLocalDelayed = 1,
147 LinkLocalAlwaysOn = 2,
148 LinkLocalUnchanged = -1i32 as u32,
149}}
150STRUCT!{struct NL_INTERFACE_OFFLOAD_ROD {
151 bitfield: BOOLEAN,
152}}
153BITFIELD!{NL_INTERFACE_OFFLOAD_ROD bitfield: BOOLEAN [
154 NlChecksumSupported set_NlChecksumSupported[0..1],
155 NlOptionsSupported set_NlOptionsSupported[1..2],
156 TlDatagramChecksumSupported set_TlDatagramChecksumSupported[2..3],
157 TlStreamChecksumSupported set_TlStreamChecksumSupported[3..4],
158 TlStreamOptionsSupported set_TlStreamOptionsSupported[4..5],
159 FastPathCompatible set_FastPathCompatible[5..6],
160 TlLargeSendOffloadSupported set_TlLargeSendOffloadSupported[6..7],
161 TlGiantSendOffloadSupported set_TlGiantSendOffloadSupported[7..8],
162]}
163pub type PNL_INTERFACE_OFFLOAD_ROD = *mut NL_INTERFACE_OFFLOAD_ROD;
164ENUM!{enum NL_ROUTER_DISCOVERY_BEHAVIOR {
165 RouterDiscoveryDisabled = 0,
166 RouterDiscoveryEnabled = 1,
167 RouterDiscoveryDhcp = 2,
168 RouterDiscoveryUnchanged = -1i32 as u32,
169}}
170ENUM!{enum NL_BANDWIDTH_FLAG {
171 NlbwDisabled = 0,
172 NlbwEnabled = 1,
173 NlbwUnchanged = -1i32 as u32,
174}}
175pub type PNL_BANDWIDTH_FLAG = *mut NL_BANDWIDTH_FLAG;
176STRUCT!{struct NL_PATH_BANDWIDTH_ROD {
177 Bandwidth: ULONG64,
178 Instability: ULONG64,
179 BandwidthPeaked: BOOLEAN,
180}}
181pub type PNL_PATH_BANDWIDTH_ROD = *mut NL_PATH_BANDWIDTH_ROD;
182ENUM!{enum NL_NETWORK_CATEGORY {
183 NetworkCategoryPublic = 0,
184 NetworkCategoryPrivate = 1,
185 NetworkCategoryDomainAuthenticated = 2,
186 NetworkCategoryUnchanged = -1i32 as u32,
187 NetworkCategoryUnknown = -1i32 as u32,
188}}
189pub type PNL_NETWORK_CATEGORY = *mut NL_NETWORK_CATEGORY;
190ENUM!{enum NL_INTERFACE_NETWORK_CATEGORY_STATE {
191 NlincCategoryUnknown = 0,
192 NlincPublic = 1,
193 NlincPrivate = 2,
194 NlincDomainAuthenticated = 3,
195 NlincCategoryStateMax = 4,
196}}
197pub type PNL_INTERFACE_NETWORK_CATEGORY_STATE = *mut NL_INTERFACE_NETWORK_CATEGORY_STATE;
198pub const NET_IF_CURRENT_SESSION: ULONG = -1i32 as u32;
199STRUCT!{struct NL_BANDWIDTH_INFORMATION {
200 Bandwidth: ULONG64,
201 Instability: ULONG64,
202 BandwidthPeaked: BOOLEAN,
203}}
204pub type PNL_BANDWIDTH_INFORMATION = *mut NL_BANDWIDTH_INFORMATION;