mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 12:26:32 +00:00
167 lines
4.1 KiB
C
167 lines
4.1 KiB
C
#ifndef _NLDEF_
|
|
#define _NLDEF_
|
|
|
|
#pragma once
|
|
|
|
#define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1)
|
|
|
|
typedef enum {
|
|
IpPrefixOriginOther = 0,
|
|
IpPrefixOriginManual,
|
|
IpPrefixOriginWellKnown,
|
|
IpPrefixOriginDhcp,
|
|
IpPrefixOriginRouterAdvertisement,
|
|
IpPrefixOriginUnchanged = 1 << 4
|
|
} NL_PREFIX_ORIGIN;
|
|
|
|
#define NlpoOther IpPrefixOriginOther
|
|
#define NlpoManual IpPrefixOriginManual
|
|
#define NlpoWellKnown IpPrefixOriginWellKnown
|
|
#define NlpoDhcp IpPrefixOriginDhcp
|
|
#define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement
|
|
|
|
typedef enum {
|
|
NlsoOther = 0,
|
|
NlsoManual,
|
|
NlsoWellKnown,
|
|
NlsoDhcp,
|
|
NlsoLinkLayerAddress,
|
|
NlsoRandom,
|
|
IpSuffixOriginOther = 0,
|
|
IpSuffixOriginManual,
|
|
IpSuffixOriginWellKnown,
|
|
IpSuffixOriginDhcp,
|
|
IpSuffixOriginLinkLayerAddress,
|
|
IpSuffixOriginRandom,
|
|
IpSuffixOriginUnchanged = 1 << 4
|
|
} NL_SUFFIX_ORIGIN;
|
|
|
|
typedef enum {
|
|
NldsInvalid,
|
|
NldsTentative,
|
|
NldsDuplicate,
|
|
NldsDeprecated,
|
|
NldsPreferred,
|
|
IpDadStateInvalid = 0,
|
|
IpDadStateTentative,
|
|
IpDadStateDuplicate,
|
|
IpDadStateDeprecated,
|
|
IpDadStatePreferred,
|
|
} NL_DAD_STATE;
|
|
|
|
#define MAKE_ROUTE_PROTOCOL(suffix, value) \
|
|
MIB_IPPROTO_ ## suffix = value, \
|
|
PROTO_IP_ ## suffix = value
|
|
|
|
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 {
|
|
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 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 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 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;
|
|
|
|
#define NET_IF_CURRENT_SESSION ((ULONG)-1)
|
|
|
|
#endif /* _NLDEF_ */
|
|
|