[PATCH 1/1] iphlpapi: add GetIpForwardTable2 stub
Austin English
austinenglish at gmail.com
Fri Apr 13 16:11:15 CDT 2018
Signed-off-by: Austin English <austinenglish at gmail.com>
---
dlls/iphlpapi/iphlpapi.spec | 2 +-
dlls/iphlpapi/iphlpapi_main.c | 11 +++++++++++
include/netioapi.h | 32 ++++++++++++++++++++++++++++++++
include/nldef.h | 9 +++++++++
4 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec
index bbd1ed8071..1686644de0 100644
--- a/dlls/iphlpapi/iphlpapi.spec
+++ b/dlls/iphlpapi/iphlpapi.spec
@@ -102,7 +102,7 @@
#@ stub GetIpErrorString
#@ stub GetIpForwardEntry2
@ stdcall GetIpForwardTable( ptr ptr long )
-#@ stub GetIpForwardTable2
+@ stdcall GetIpForwardTable2( long ptr )
@ stub GetIpForwardTableFromStack
#@ stub GetIpInterfaceEntry
#@ stub GetIpInterfaceTable
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index d81fb6a7ef..7911e9d8cf 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -3264,3 +3264,14 @@ PCHAR WINAPI IPHLP_if_indextoname(NET_IFINDEX index, PCHAR name)
return getInterfaceNameByIndex(index, name);
}
+
+/******************************************************************
+ * GetIpForwardTable2 (IPHLPAPI.@)
+ */
+DWORD WINAPI GetIpForwardTable2(ADDRESS_FAMILY family, PMIB_IPFORWARD_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 11cadf6e37..e770859dc6 100644
--- a/include/netioapi.h
+++ b/include/netioapi.h
@@ -21,6 +21,10 @@
#include <ntddndis.h>
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
typedef enum _MIB_IF_TABLE_LEVEL
{
MibIfTableNormal,
@@ -158,6 +162,34 @@ typedef struct _MIB_UNICASTIPADDRESS_TABLE
MIB_UNICASTIPADDRESS_ROW Table[1];
} MIB_UNICASTIPADDRESS_TABLE, *PMIB_UNICASTIPADDRESS_TABLE;
+typedef struct _IP_ADDRESS_PREFIX {
+ SOCKADDR_INET Prefix;
+ UINT8 PrefixLength;
+} IP_ADDRESS_PREFIX, *PIP_ADDRESS_PREFIX;
+
+typedef struct _MIB_IPFORWARD_ROW2 {
+ NET_LUID InterfaceLuid;
+ NET_IFINDEX InterfaceIndex;
+ IP_ADDRESS_PREFIX DestinationPrefix;
+ SOCKADDR_INET NextHop;
+ UCHAR SitePrefixLength;
+ ULONG ValidLifetime;
+ ULONG PreferredLifetime;
+ ULONG Metric;
+ NL_ROUTE_PROTOCOL Protocol;
+ BOOLEAN Loopback;
+ BOOLEAN AutoconfigureAddress;
+ BOOLEAN Publish;
+ BOOLEAN Immortal;
+ ULONG Age;
+ NL_ROUTE_ORIGIN Origin;
+} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;
+
+typedef struct _MIB_IPFORWARD_TABLE2 {
+ ULONG NumEntries;
+ MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
+} MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_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 1f96773c8e..983b96c552 100644
--- a/include/nldef.h
+++ b/include/nldef.h
@@ -28,6 +28,15 @@ typedef enum
IpPrefixOriginUnchanged = 16,
} NL_PREFIX_ORIGIN;
+typedef enum _NL_ROUTE_ORIGIN
+{
+ NlroManual,
+ NlroWellKnown,
+ NlroDHCP,
+ NlroRouterAdvertisement,
+ Nlro6to4,
+} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
+
typedef enum
{
IpSuffixOriginOther = 0,
--
2.16.1
More information about the wine-devel
mailing list