=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: iphlpapi: Flesh out NotifyIpInterfaceChange arguments.
Alexandre Julliard
julliard at winehq.org
Tue Mar 14 16:14:36 CDT 2017
Module: wine
Branch: master
Commit: 8c03b845c014f81c028a199a55d4cfca7816d9dc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8c03b845c014f81c028a199a55d4cfca7816d9dc
Author: André Hentschel <nerv at dawncrow.de>
Date: Sat Mar 11 15:05:08 2017 +0100
iphlpapi: Flesh out NotifyIpInterfaceChange arguments.
Signed-off-by: André Hentschel <nerv at dawncrow.de>
Signed-off-by: Bruno Jesus <bjesus at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/iphlpapi/iphlpapi_main.c | 4 ++--
include/netioapi.h | 41 +++++++++++++++++++++++++++++++++++++++++
include/nldef.h | 26 ++++++++++++++++++++++++++
include/ws2def.h | 3 ++-
4 files changed, 71 insertions(+), 3 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 51d05ed..953af88 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -2640,8 +2640,8 @@ DWORD WINAPI NotifyAddrChange(PHANDLE Handle, LPOVERLAPPED overlapped)
/******************************************************************
* NotifyIpInterfaceChange (IPHLPAPI.@)
*/
-DWORD WINAPI NotifyIpInterfaceChange(ULONG family, PVOID callback, PVOID context,
- BOOLEAN init_notify, PHANDLE handle)
+DWORD WINAPI NotifyIpInterfaceChange(ADDRESS_FAMILY family, PIPINTERFACE_CHANGE_CALLBACK callback,
+ PVOID context, BOOLEAN init_notify, PHANDLE handle)
{
FIXME("(family %d, callback %p, context %p, init_notify %d, handle %p): stub\n",
family, callback, context, init_notify, handle);
diff --git a/include/netioapi.h b/include/netioapi.h
index 7c4917b..b34d019 100644
--- a/include/netioapi.h
+++ b/include/netioapi.h
@@ -90,6 +90,45 @@ typedef struct _MIB_IF_TABLE2
MIB_IF_ROW2 Table[1];
} MIB_IF_TABLE2, *PMIB_IF_TABLE2;
+typedef struct _MIB_IPINTERFACE_ROW
+{
+ ADDRESS_FAMILY Family;
+ NET_LUID InterfaceLuid;
+ NET_IFINDEX InterfaceIndex;
+ ULONG MaxReassemblySize;
+ ULONG64 InterfaceIdentifier;
+ ULONG MinRouterAdvertisementInterval;
+ ULONG MaxRouterAdvertisementInterval;
+ BOOLEAN AdvertisingEnabled;
+ BOOLEAN ForwardingEnabled;
+ BOOLEAN WeakHostSend;
+ BOOLEAN WeakHostReceive;
+ BOOLEAN UseAutomaticMetric;
+ BOOLEAN UseNeighborUnreachabilityDetection;
+ BOOLEAN ManagedAddressConfigurationSupported;
+ BOOLEAN OtherStatefulConfigurationSupported;
+ BOOLEAN AdvertiseDefaultRoute;
+ NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
+ ULONG DadTransmits;
+ ULONG BaseReachableTime;
+ ULONG RetransmitTime;
+ ULONG PathMtuDiscoveryTimeout;
+ NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
+ ULONG LinkLocalAddressTimeout;
+ ULONG ZoneIndices[ScopeLevelCount];
+ ULONG SitePrefixLength;
+ ULONG Metric;
+ ULONG NlMtu;
+ BOOLEAN Connected;
+ BOOLEAN SupportsWakeUpPatterns;
+ BOOLEAN SupportsNeighborDiscovery;
+ BOOLEAN SupportsRouterDiscovery;
+ ULONG ReachableTime;
+ NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
+ NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
+ BOOLEAN DisableDefaultRoutes;
+} MIB_IPINTERFACE_ROW, *PMIB_IPINTERFACE_ROW;
+
typedef struct _MIB_UNICASTIPADDRESS_ROW
{
SOCKADDR_INET Address;
@@ -106,6 +145,8 @@ typedef struct _MIB_UNICASTIPADDRESS_ROW
LARGE_INTEGER CreationTimeStamp;
} MIB_UNICASTIPADDRESS_ROW, *PMIB_UNICASTIPADDRESS_ROW;
+typedef VOID (WINAPI *PIPINTERFACE_CHANGE_CALLBACK)(PVOID, PMIB_IPINTERFACE_ROW,
+ MIB_NOTIFICATION_TYPE);
typedef VOID (WINAPI *PUNICAST_IPADDRESS_CHANGE_CALLBACK)(PVOID, PMIB_UNICASTIPADDRESS_ROW,
MIB_NOTIFICATION_TYPE);
diff --git a/include/nldef.h b/include/nldef.h
index 550d323..1f96773 100644
--- a/include/nldef.h
+++ b/include/nldef.h
@@ -48,6 +48,21 @@ typedef enum
IpDadStatePreferred,
} NL_DAD_STATE;
+typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR
+{
+ LinkLocalAlwaysOff = 0,
+ LinkLocalDelayed,
+ LinkLocalAlwaysOn,
+ LinkLocalUnchanged = -1,
+} NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
+
+typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR
+{
+ RouterDiscoveryDisabled = 0,
+ RouterDiscoveryEnabled,
+ RouterDiscoveryDhcp,
+ RouterDiscoveryUnchanged = -1,
+} NL_ROUTER_DISCOVERY_BEHAVIOR;
typedef enum
{
@@ -75,5 +90,16 @@ typedef enum
MAKE_ROUTE_PROTOCOL(NT_STATIC_NON_DOD, 10007),
} NL_ROUTE_PROTOCOL, *PNL_ROUTE_PROTOCOL;
+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;
#endif /* __WINE_NLDEF_H */
diff --git a/include/ws2def.h b/include/ws2def.h
index fa21c06..b92bf68 100644
--- a/include/ws2def.h
+++ b/include/ws2def.h
@@ -77,7 +77,8 @@ typedef enum {
ScopeLevelAdmin = 4,
ScopeLevelSite = 5,
ScopeLevelOrganization = 8,
- ScopeLevelGlobal = 14
+ ScopeLevelGlobal = 14,
+ ScopeLevelCount = 16,
} SCOPE_LEVEL;
typedef struct
More information about the wine-cvs
mailing list