Module: wine Branch: master Commit: 2ffe089c958dc964f8831ef9fa68364bdb4b6e1b URL: https://source.winehq.org/git/wine.git/?a=commit;h=2ffe089c958dc964f8831ef9f...
Author: Austin English austinenglish@gmail.com Date: Tue Sep 25 15:59:20 2018 -0500
iphlpapi: Add GetIpNetTable2 stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45036 Signed-off-by: Austin English austinenglish@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/iphlpapi/iphlpapi.spec | 2 +- dlls/iphlpapi/iphlpapi_main.c | 11 +++++++++++ include/netioapi.h | 32 ++++++++++++++++++++++++++++++++ include/nldef.h | 12 ++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec index fd00cc0..30d9ed7 100644 --- a/dlls/iphlpapi/iphlpapi.spec +++ b/dlls/iphlpapi/iphlpapi.spec @@ -108,7 +108,7 @@ #@ stub GetIpInterfaceTable #@ stub GetIpNetEntry2 @ stdcall GetIpNetTable( ptr ptr long ) -#@ stub GetIpNetTable2 +@ stdcall GetIpNetTable2( long ptr ) @ stub GetIpNetTableFromStack #@ stub GetIpPathEntry #@ stub GetIpPathTable diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index c7140cd..6273949 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -3293,3 +3293,14 @@ DWORD WINAPI GetIpForwardTable2(ADDRESS_FAMILY family, PMIB_IPFORWARD_TABLE2 *ta if (!once++) FIXME("(%u %p): stub\n", family, table); return ERROR_NOT_SUPPORTED; } + +/****************************************************************** + * GetIpNetTable2 (IPHLPAPI.@) + */ +DWORD WINAPI GetIpNetTable2(ADDRESS_FAMILY family, PMIB_IPNET_TABLE2 *table) +{ + static int once; + + if (!once++) FIXME("(%u %p): stub\n", family, table); + return ERROR_NOT_SUPPORTED; +} diff --git a/include/netioapi.h b/include/netioapi.h index f15a80f..e9de7dd 100644 --- a/include/netioapi.h +++ b/include/netioapi.h @@ -193,6 +193,38 @@ typedef struct _MIB_IPFORWARD_TABLE2 MIB_IPFORWARD_ROW2 Table[ANY_SIZE]; } MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_TABLE2;
+typedef struct _MIB_IPNET_ROW2 +{ + SOCKADDR_INET Address; + NET_IFINDEX InterfaceIndex; + NET_LUID InterfaceLuid; + UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]; + ULONG PhysicalAddressLength; + NL_NEIGHBOR_STATE State; + + union + { + struct + { + BOOLEAN IsRouter : 1; + BOOLEAN IsUnreachable : 1; + } DUMMYSTRUCTNAME; + UCHAR Flags; + } DUMMYUNIONNAME; + + union + { + ULONG LastReachable; + ULONG LastUnreachable; + } ReachabilityTime; +} MIB_IPNET_ROW2, *PMIB_IPNET_ROW2; + +typedef struct _MIB_IPNET_TABLE2 +{ + ULONG NumEntries; + MIB_IPNET_ROW2 Table[ANY_SIZE]; +} MIB_IPNET_TABLE2, *PMIB_IPNET_TABLE2; + typedef VOID (WINAPI *PIPINTERFACE_CHANGE_CALLBACK)(PVOID, PMIB_IPINTERFACE_ROW, MIB_NOTIFICATION_TYPE); typedef VOID (WINAPI *PUNICAST_IPADDRESS_CHANGE_CALLBACK)(PVOID, PMIB_UNICASTIPADDRESS_ROW, diff --git a/include/nldef.h b/include/nldef.h index 983b96c..ef30f7f 100644 --- a/include/nldef.h +++ b/include/nldef.h @@ -111,4 +111,16 @@ typedef struct _NL_INTERFACE_OFFLOAD_ROD BOOLEAN TlGiantSendOffloadSupported : 1; } NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD;
+typedef enum _NL_NEIGHBOR_STATE +{ + NlnsUnreachable, + NlnsIncomplete, + NlnsProbe, + NlnsDelay, + NlnsStale, + NlnsReachable, + NlnsPermanent, + NlnsMaximum, +} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE; + #endif /* __WINE_NLDEF_H */