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.@) * NotifyIpInterfaceChange (IPHLPAPI.@)
*/ */
DWORD WINAPI NotifyIpInterfaceChange(ULONG family, PVOID callback, PVOID context, DWORD WINAPI NotifyIpInterfaceChange(ADDRESS_FAMILY family, PIPINTERFACE_CHANGE_CALLBACK callback,
BOOLEAN init_notify, PHANDLE handle) PVOID context, BOOLEAN init_notify, PHANDLE handle)
{ {
FIXME("(family %d, callback %p, context %p, init_notify %d, handle %p): stub\n", FIXME("(family %d, callback %p, context %p, init_notify %d, handle %p): stub\n",
family, callback, context, init_notify, handle); family, callback, context, init_notify, handle);

View File

@ -90,6 +90,45 @@ typedef struct _MIB_IF_TABLE2
MIB_IF_ROW2 Table[1]; MIB_IF_ROW2 Table[1];
} MIB_IF_TABLE2, *PMIB_IF_TABLE2; } 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 typedef struct _MIB_UNICASTIPADDRESS_ROW
{ {
SOCKADDR_INET Address; SOCKADDR_INET Address;
@ -106,6 +145,8 @@ typedef struct _MIB_UNICASTIPADDRESS_ROW
LARGE_INTEGER CreationTimeStamp; LARGE_INTEGER CreationTimeStamp;
} MIB_UNICASTIPADDRESS_ROW, *PMIB_UNICASTIPADDRESS_ROW; } 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, typedef VOID (WINAPI *PUNICAST_IPADDRESS_CHANGE_CALLBACK)(PVOID, PMIB_UNICASTIPADDRESS_ROW,
MIB_NOTIFICATION_TYPE); MIB_NOTIFICATION_TYPE);

View File

@ -48,6 +48,21 @@ typedef enum
IpDadStatePreferred, IpDadStatePreferred,
} NL_DAD_STATE; } 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 typedef enum
{ {
@ -75,5 +90,16 @@ typedef enum
MAKE_ROUTE_PROTOCOL(NT_STATIC_NON_DOD, 10007), MAKE_ROUTE_PROTOCOL(NT_STATIC_NON_DOD, 10007),
} NL_ROUTE_PROTOCOL, *PNL_ROUTE_PROTOCOL; } 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 */ #endif /* __WINE_NLDEF_H */

View File

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