iphlpapi: Flesh out NotifyIpInterfaceChange arguments.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
André Hentschel 2017-03-11 15:05:08 +01:00 committed by Alexandre Julliard
parent f8031d0648
commit 8c03b845c0
4 changed files with 71 additions and 3 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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 */

View File

@ -77,7 +77,8 @@ typedef enum {
ScopeLevelAdmin = 4,
ScopeLevelSite = 5,
ScopeLevelOrganization = 8,
ScopeLevelGlobal = 14
ScopeLevelGlobal = 14,
ScopeLevelCount = 16,
} SCOPE_LEVEL;
typedef struct