[PATCH] iphlpapi: add GetIpNetTable2 stub
Austin English
austinenglish at gmail.com
Tue Sep 25 15:59:20 CDT 2018
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45036
Signed-off-by: Austin English <austinenglish at gmail.com>
---
dlls/iphlpapi/iphlpapi.spec | 2 +-
dlls/iphlpapi/iphlpapi_main.c | 11 +++++++++++
include/netioapi.h | 27 +++++++++++++++++++++++++++
include/nldef.h | 11 +++++++++++
4 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec
index fd00cc093a..30d9ed7efe 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 c7140cd974..6273949147 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 f15a80fdc8..6e5c2e2e25 100644
--- a/include/netioapi.h
+++ b/include/netioapi.h
@@ -193,6 +193,33 @@ 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;
+ };
+ UCHAR Flags;
+ };
+
+ 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 983b96c552..776c61c922 100644
--- a/include/nldef.h
+++ b/include/nldef.h
@@ -111,4 +111,15 @@ 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 */
--
2.16.4
More information about the wine-devel
mailing list