// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 > or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT >, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::basetsd::ULONG64;
use shared::minwindef::ULONG;
use shared::ntdef::BOOLEAN;
ENUM !{
enum NL_PREFIX_ORIGIN {
IpPrefixOriginOther =
0 ,
IpPrefixOriginManual,
IpPrefixOriginWellKnown,
IpPrefixOriginDhcp,
IpPrefixOriginRouterAdvertisement,
IpPrefixOriginUnchanged =
1 <<
4 ,
}}
pub const NlpoOther: NL_PREFIX_ORIGIN = IpPrefixOriginOther;
pub const NlpoManual: NL_PREFIX_ORIGIN = IpPrefixOriginManual;
pub const NlpoWellKnown: NL_PREFIX_ORIGIN = IpPrefixOriginWellKnown;
pub const NlpoDhcp: NL_PREFIX_ORIGIN = IpPrefixOriginDhcp;
pub const NlpoRouterAdvertisement: NL_PREFIX_ORIGIN = IpPrefixOriginRouterAdvertiseme
nt;
ENUM !{enum NL_SUFFIX_ORIGIN {
NlsoOther = 0 ,
NlsoManual,
NlsoWellKnown,
NlsoDhcp,
NlsoLinkLayerAddress,
NlsoRandom,
IpSuffixOriginOther = 0 ,
IpSuffixOriginManual,
IpSuffixOriginWellKnown,
IpSuffixOriginDhcp,
IpSuffixOriginLinkLayerAddress,
IpSuffixOriginRandom,
IpSuffixOriginUnchanged = 1 << 4 ,
}}
ENUM !{enum NL_DAD_STATE {
NldsInvalid,
NldsTentative,
NldsDuplicate,
NldsDeprecated,
NldsPreferred,
IpDadStateInvalid = 0 ,
IpDadStateTentative,
IpDadStateDuplicate,
IpDadStateDeprecated,
IpDadStatePreferred,
}}
pub const NL_MAX_METRIC_COMPONENT: ULONG = (1 u32 << 31 ) - 1 ;
ENUM !{enum NL_ROUTE_PROTOCOL {
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 ,
RouteProtocolIdpr = 15 ,
RouteProtocolEigrp = 16 ,
RouteProtocolDvmrp = 17 ,
RouteProtocolRpl = 18 ,
RouteProtocolDhcp = 19 ,
MIB_IPPROTO_OTHER = 1 ,
PROTO_IP_OTHER = 1 ,
MIB_IPPROTO_LOCAL = 2 ,
PROTO_IP_LOCAL = 2 ,
MIB_IPPROTO_NETMGMT = 3 ,
PROTO_IP_NETMGMT = 3 ,
MIB_IPPROTO_ICMP = 4 ,
PROTO_IP_ICMP = 4 ,
MIB_IPPROTO_EGP = 5 ,
PROTO_IP_EGP = 5 ,
MIB_IPPROTO_GGP = 6 ,
PROTO_IP_GGP = 6 ,
MIB_IPPROTO_HELLO = 7 ,
PROTO_IP_HELLO = 7 ,
MIB_IPPROTO_RIP = 8 ,
PROTO_IP_RIP = 8 ,
MIB_IPPROTO_IS_IS = 9 ,
PROTO_IP_IS_IS = 9 ,
MIB_IPPROTO_ES_IS = 10 ,
PROTO_IP_ES_IS = 10 ,
MIB_IPPROTO_CISCO = 11 ,
PROTO_IP_CISCO = 11 ,
MIB_IPPROTO_BBN = 12 ,
PROTO_IP_BBN = 12 ,
MIB_IPPROTO_OSPF = 13 ,
PROTO_IP_OSPF = 13 ,
MIB_IPPROTO_BGP = 14 ,
PROTO_IP_BGP = 14 ,
MIB_IPPROTO_IDPR = 15 ,
PROTO_IP_IDPR = 15 ,
MIB_IPPROTO_EIGRP = 16 ,
PROTO_IP_EIGRP = 16 ,
MIB_IPPROTO_DVMRP = 17 ,
PROTO_IP_DVMRP = 17 ,
MIB_IPPROTO_RPL = 18 ,
PROTO_IP_RPL = 18 ,
MIB_IPPROTO_DHCP = 19 ,
PROTO_IP_DHCP = 19 ,
MIB_IPPROTO_NT_AUTOSTATIC = 10002 ,
PROTO_IP_NT_AUTOSTATIC = 10002 ,
MIB_IPPROTO_NT_STATIC = 10006 ,
PROTO_IP_NT_STATIC = 10006 ,
MIB_IPPROTO_NT_STATIC_NON_DOD = 10007 ,
PROTO_IP_NT_STATIC_NON_DOD = 10007 ,
}}
pub type PNL_ROUTE_PROTOCOL = *mut NL_ROUTE_PROTOCOL;
ENUM !{enum NL_ADDRESS_TYPE {
NlatUnspecified = 0 ,
NlatUnicast = 1 ,
NlatAnycast = 2 ,
NlatMulticast = 3 ,
NlatBroadcast = 4 ,
NlatInvalid = 5 ,
}}
pub type PNL_ADDRESS_TYPE = *mut NL_ADDRESS_TYPE;
ENUM !{enum NL_ROUTE_ORIGIN {
NlroManual = 0 ,
NlroWellKnown = 1 ,
NlroDHCP = 2 ,
NlroRouterAdvertisement = 3 ,
Nlro6to4 = 4 ,
}}
pub type PNL_ROUTE_ORIGIN = *mut NL_ROUTE_ORIGIN;
ENUM !{enum NL_NEIGHBOR_STATE {
NlnsUnreachable = 0 ,
NlnsIncomplete = 1 ,
NlnsProbe = 2 ,
NlnsDelay = 3 ,
NlnsStale = 4 ,
NlnsReachable = 5 ,
NlnsPermanent = 6 ,
NlnsMaximum = 7 ,
}}
pub type PNL_NEIGHBOR_STATE = *mut NL_NEIGHBOR_STATE;
ENUM !{enum NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
LinkLocalAlwaysOff = 0 ,
LinkLocalDelayed = 1 ,
LinkLocalAlwaysOn = 2 ,
LinkLocalUnchanged = -1 i32 as u32,
}}
STRUCT !{struct NL_INTERFACE_OFFLOAD_ROD {
bitfield: BOOLEAN,
}}
BITFIELD!{NL_INTERFACE_OFFLOAD_ROD bitfield: BOOLEAN [
NlChecksumSupported set_NlChecksumSupported[0 ..1 ],
NlOptionsSupported set_NlOptionsSupported[1 ..2 ],
TlDatagramChecksumSupported set_TlDatagramChecksumSupported[2 ..3 ],
TlStreamChecksumSupported set_TlStreamChecksumSupported[3 ..4 ],
TlStreamOptionsSupported set_TlStreamOptionsSupported[4 ..5 ],
FastPathCompatible set_FastPathCompatible[5 ..6 ],
TlLargeSendOffloadSupported set_TlLargeSendOffloadSupported[6 ..7 ],
TlGiantSendOffloadSupported set_TlGiantSendOffloadSupported[7 ..8 ],
]}
pub type PNL_INTERFACE_OFFLOAD_ROD = *mut NL_INTERFACE_OFFLOAD_ROD;
ENUM !{enum NL_ROUTER_DISCOVERY_BEHAVIOR {
RouterDiscoveryDisabled = 0 ,
RouterDiscoveryEnabled = 1 ,
RouterDiscoveryDhcp = 2 ,
RouterDiscoveryUnchanged = -1 i32 as u32,
}}
ENUM !{enum NL_BANDWIDTH_FLAG {
NlbwDisabled = 0 ,
NlbwEnabled = 1 ,
NlbwUnchanged = -1 i32 as u32,
}}
pub type PNL_BANDWIDTH_FLAG = *mut NL_BANDWIDTH_FLAG;
STRUCT !{struct NL_PATH_BANDWIDTH_ROD {
Bandwidth: ULONG64,
Instability: ULONG64,
BandwidthPeaked: BOOLEAN,
}}
pub type PNL_PATH_BANDWIDTH_ROD = *mut NL_PATH_BANDWIDTH_ROD;
ENUM !{enum NL_NETWORK_CATEGORY {
NetworkCategoryPublic = 0 ,
NetworkCategoryPrivate = 1 ,
NetworkCategoryDomainAuthenticated = 2 ,
NetworkCategoryUnchanged = -1 i32 as u32,
NetworkCategoryUnknown = -1 i32 as u32,
}}
pub type PNL_NETWORK_CATEGORY = *mut NL_NETWORK_CATEGORY;
ENUM !{enum NL_INTERFACE_NETWORK_CATEGORY_STATE {
NlincCategoryUnknown = 0 ,
NlincPublic = 1 ,
NlincPrivate = 2 ,
NlincDomainAuthenticated = 3 ,
NlincCategoryStateMax = 4 ,
}}
pub type PNL_INTERFACE_NETWORK_CATEGORY_STATE = *mut NL_INTERFACE_NETWORK_CATEGORY_STATE;
pub const NET_IF_CURRENT_SESSION: ULONG = -1 i32 as u32;
STRUCT !{struct NL_BANDWIDTH_INFORMATION {
Bandwidth: ULONG64,
Instability: ULONG64,
BandwidthPeaked: BOOLEAN,
}}
pub type PNL_BANDWIDTH_INFORMATION = *mut NL_BANDWIDTH_INFORMATION;
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland