diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec index fd00cc093a8..30d9ed7efe0 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 c7140cd9747..62739491472 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 f15a80fdc80..e9de7ddf146 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 983b96c5529..ef30f7fa4c4 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 */