iphlpapi: Add GetIpForwardTable2 stub.

Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Austin English 2018-04-13 16:11:15 -05:00 committed by Alexandre Julliard
parent 6cae93a36e
commit cf9eced885
4 changed files with 56 additions and 1 deletions

View file

@ -102,7 +102,7 @@
#@ stub GetIpErrorString #@ stub GetIpErrorString
#@ stub GetIpForwardEntry2 #@ stub GetIpForwardEntry2
@ stdcall GetIpForwardTable( ptr ptr long ) @ stdcall GetIpForwardTable( ptr ptr long )
#@ stub GetIpForwardTable2 @ stdcall GetIpForwardTable2( long ptr )
@ stub GetIpForwardTableFromStack @ stub GetIpForwardTableFromStack
#@ stub GetIpInterfaceEntry #@ stub GetIpInterfaceEntry
#@ stub GetIpInterfaceTable #@ stub GetIpInterfaceTable

View file

@ -3264,3 +3264,14 @@ PCHAR WINAPI IPHLP_if_indextoname(NET_IFINDEX index, PCHAR name)
return getInterfaceNameByIndex(index, 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;
}

View file

@ -21,6 +21,10 @@
#include <ntddndis.h> #include <ntddndis.h>
#ifndef ANY_SIZE
#define ANY_SIZE 1
#endif
typedef enum _MIB_IF_TABLE_LEVEL typedef enum _MIB_IF_TABLE_LEVEL
{ {
MibIfTableNormal, MibIfTableNormal,
@ -158,6 +162,37 @@ typedef struct _MIB_UNICASTIPADDRESS_TABLE
MIB_UNICASTIPADDRESS_ROW Table[1]; MIB_UNICASTIPADDRESS_ROW Table[1];
} MIB_UNICASTIPADDRESS_TABLE, *PMIB_UNICASTIPADDRESS_TABLE; } 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, typedef VOID (WINAPI *PIPINTERFACE_CHANGE_CALLBACK)(PVOID, PMIB_IPINTERFACE_ROW,
MIB_NOTIFICATION_TYPE); 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,

View file

@ -28,6 +28,15 @@ typedef enum
IpPrefixOriginUnchanged = 16, IpPrefixOriginUnchanged = 16,
} NL_PREFIX_ORIGIN; } NL_PREFIX_ORIGIN;
typedef enum _NL_ROUTE_ORIGIN
{
NlroManual,
NlroWellKnown,
NlroDHCP,
NlroRouterAdvertisement,
Nlro6to4,
} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
typedef enum typedef enum
{ {
IpSuffixOriginOther = 0, IpSuffixOriginOther = 0,