From 3548ba45542bbcbe32e674d37b13666f7689e893 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Mon, 7 May 2012 18:48:54 +0000 Subject: [PATCH] [PSDK] * Add nldef.h and include it in mstcpip.h. svn path=/trunk/; revision=56532 --- reactos/include/psdk/mstcpip.h | 2 - reactos/include/psdk/nldef.h | 166 +++++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+), 2 deletions(-) create mode 100644 reactos/include/psdk/nldef.h diff --git a/reactos/include/psdk/mstcpip.h b/reactos/include/psdk/mstcpip.h index 2d25e70f506..bd2af458170 100644 --- a/reactos/include/psdk/mstcpip.h +++ b/reactos/include/psdk/mstcpip.h @@ -15,9 +15,7 @@ extern "C" { #define MSTCPIP_INLINE extern inline #endif -/* FIXME : #include -*/ struct tcp_keepalive { ULONG onoff; diff --git a/reactos/include/psdk/nldef.h b/reactos/include/psdk/nldef.h new file mode 100644 index 00000000000..2216111fe2d --- /dev/null +++ b/reactos/include/psdk/nldef.h @@ -0,0 +1,166 @@ +#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_ */ +