[0.4.14][IPHLPAPI][TCPIP] Port back minor fixes and formatting

by porting back:
0.4.15-dev-6231-g a5360f542f [IPHLPAPI] Formatting only, no functional change
partially 0.4.15-dev-4492-g 03422451b3 [IPHLPAPI] Add a missing \n in an ERR() logging within ipstats_reactos.c getNumRoutes(). And strip a good-path TRACE in return in the same func.
This commit is contained in:
Joachim Henze 2023-07-03 01:03:58 +02:00
parent 42d3931b33
commit 2490844a07
4 changed files with 274 additions and 474 deletions

View file

@ -1,84 +1,84 @@
@ stdcall AddIPAddress( long long long ptr ptr ) @ stdcall AddIPAddress(long long long ptr ptr)
@ stub AllocateAndGetArpEntTableFromStack @ stub AllocateAndGetArpEntTableFromStack
@ stdcall AllocateAndGetIfTableFromStack( ptr long long long ) @ stdcall AllocateAndGetIfTableFromStack(ptr long long long)
@ stdcall AllocateAndGetIpAddrTableFromStack( ptr long long long ) @ stdcall AllocateAndGetIpAddrTableFromStack(ptr long long long)
@ stdcall AllocateAndGetIpForwardTableFromStack( ptr long long long ) @ stdcall AllocateAndGetIpForwardTableFromStack(ptr long long long)
@ stdcall AllocateAndGetIpNetTableFromStack( ptr long long long ) @ stdcall AllocateAndGetIpNetTableFromStack(ptr long long long)
@ stdcall AllocateAndGetTcpExTable2FromStack( ptr long long long long long ) @ stdcall AllocateAndGetTcpExTable2FromStack(ptr long long long long long)
@ stdcall AllocateAndGetTcpExTableFromStack( ptr long long long long ) @ stdcall AllocateAndGetTcpExTableFromStack(ptr long long long long)
@ stdcall AllocateAndGetTcpTableFromStack( ptr long long long ) @ stdcall AllocateAndGetTcpTableFromStack(ptr long long long)
@ stdcall AllocateAndGetUdpExTable2FromStack( ptr long long long long long ) @ stdcall AllocateAndGetUdpExTable2FromStack(ptr long long long long long)
@ stdcall AllocateAndGetUdpExTableFromStack( ptr long long long long ) @ stdcall AllocateAndGetUdpExTableFromStack(ptr long long long long)
@ stdcall AllocateAndGetUdpTableFromStack( ptr long long long ) @ stdcall AllocateAndGetUdpTableFromStack(ptr long long long)
@ stdcall CancelIPChangeNotify(ptr) @ stdcall CancelIPChangeNotify(ptr)
@ stub CancelSecurityHealthChangeNotify @ stub CancelSecurityHealthChangeNotify
@ stdcall CreateIpForwardEntry( ptr ) @ stdcall CreateIpForwardEntry(ptr)
@ stdcall CreateIpNetEntry( ptr ) @ stdcall CreateIpNetEntry(ptr)
@ stdcall CreateProxyArpEntry( long long long ) @ stdcall CreateProxyArpEntry(long long long)
@ stdcall DeleteIPAddress( long ) @ stdcall DeleteIPAddress(long)
@ stdcall DeleteIpForwardEntry( ptr ) @ stdcall DeleteIpForwardEntry(ptr)
@ stdcall DeleteIpNetEntry( ptr ) @ stdcall DeleteIpNetEntry(ptr)
@ stdcall DeleteProxyArpEntry( long long long ) @ stdcall DeleteProxyArpEntry(long long long)
@ stdcall DisableMediaSense(ptr ptr) @ stdcall DisableMediaSense(ptr ptr)
@ stdcall EnableRouter( ptr ptr ) @ stdcall EnableRouter(ptr ptr)
@ stdcall FlushIpNetTable( long ) @ stdcall FlushIpNetTable(long)
@ stub FlushIpNetTableFromStack @ stub FlushIpNetTableFromStack
@ stdcall GetAdapterIndex( wstr ptr ) @ stdcall GetAdapterIndex(wstr ptr)
@ stdcall GetAdapterOrderMap() @ stdcall GetAdapterOrderMap()
@ stdcall GetAdaptersAddresses( long long ptr ptr ptr ) @ stdcall GetAdaptersAddresses(long long ptr ptr ptr)
@ stdcall GetAdaptersInfo( ptr ptr ) @ stdcall GetAdaptersInfo(ptr ptr)
@ stdcall GetBestInterface( long ptr ) @ stdcall GetBestInterface(long ptr)
@ stdcall GetBestInterfaceEx(ptr ptr) @ stdcall GetBestInterfaceEx(ptr ptr)
@ stub GetBestInterfaceFromStack @ stub GetBestInterfaceFromStack
@ stdcall GetBestRoute( long long long ) @ stdcall GetBestRoute(long long long)
@ stub GetBestRouteFromStack @ stub GetBestRouteFromStack
@ stdcall GetExtendedTcpTable( ptr ptr long long long long ) @ stdcall GetExtendedTcpTable(ptr ptr long long long long)
@ stdcall GetExtendedUdpTable( ptr ptr long long long long ) @ stdcall GetExtendedUdpTable(ptr ptr long long long long)
@ stdcall GetFriendlyIfIndex( long ) @ stdcall GetFriendlyIfIndex(long)
@ stdcall GetIcmpStatistics( ptr ) @ stdcall GetIcmpStatistics(ptr)
@ stdcall GetIcmpStatisticsEx(ptr long) @ stdcall GetIcmpStatisticsEx(ptr long)
@ stub GetIcmpStatsFromStack @ stub GetIcmpStatsFromStack
@ stub GetIcmpStatsFromStackEx @ stub GetIcmpStatsFromStackEx
@ stdcall GetIfEntry( ptr ) @ stdcall GetIfEntry(ptr)
@ stub GetIfEntryFromStack @ stub GetIfEntryFromStack
@ stdcall GetIfTable( ptr ptr long ) @ stdcall GetIfTable(ptr ptr long)
@ stub GetIfTableFromStack @ stub GetIfTableFromStack
@ stub GetIgmpList @ stub GetIgmpList
@ stdcall GetInterfaceInfo( ptr ptr ) @ stdcall GetInterfaceInfo(ptr ptr)
@ stdcall GetIpAddrTable( ptr ptr long ) @ stdcall GetIpAddrTable(ptr ptr long)
@ stub GetIpAddrTableFromStack @ stub GetIpAddrTableFromStack
@ stdcall GetIpErrorString(long ptr ptr) @ stdcall GetIpErrorString(long ptr ptr)
@ stdcall GetIpForwardTable( ptr ptr long ) @ stdcall GetIpForwardTable(ptr ptr long)
@ stub GetIpForwardTableFromStack @ stub GetIpForwardTableFromStack
@ stdcall GetIpNetTable( ptr ptr long ) @ stdcall GetIpNetTable(ptr ptr long)
@ stub GetIpNetTableFromStack @ stub GetIpNetTableFromStack
@ stdcall GetIpStatistics( ptr ) @ stdcall GetIpStatistics(ptr)
@ stdcall GetIpStatisticsEx(ptr long) @ stdcall GetIpStatisticsEx(ptr long)
@ stub GetIpStatsFromStack @ stub GetIpStatsFromStack
@ stub GetIpStatsFromStackEx @ stub GetIpStatsFromStackEx
@ stdcall GetNetworkParams( ptr ptr ) @ stdcall GetNetworkParams(ptr ptr)
@ stdcall GetNumberOfInterfaces( ptr ) @ stdcall GetNumberOfInterfaces(ptr)
@ stub GetOwnerModuleFromTcp6Entry @ stub GetOwnerModuleFromTcp6Entry
@ stdcall GetOwnerModuleFromTcpEntry ( ptr long ptr ptr ) @ stdcall GetOwnerModuleFromTcpEntry(ptr long ptr ptr)
@ stub GetOwnerModuleFromUdp6Entry @ stub GetOwnerModuleFromUdp6Entry
@ stdcall GetOwnerModuleFromUdpEntry ( ptr long ptr ptr ) @ stdcall GetOwnerModuleFromUdpEntry(ptr long ptr ptr)
@ stdcall GetPerAdapterInfo( long ptr ptr ) @ stdcall GetPerAdapterInfo(long ptr ptr)
@ stdcall GetRTTAndHopCount( long ptr long ptr ) @ stdcall GetRTTAndHopCount(long ptr long ptr)
@ stub GetTcpExTable2FromStack @ stub GetTcpExTable2FromStack
@ stdcall GetTcpStatistics( ptr ) @ stdcall GetTcpStatistics(ptr)
@ stdcall GetTcpStatisticsEx(ptr long) @ stdcall GetTcpStatisticsEx(ptr long)
@ stub GetTcpStatsFromStack @ stub GetTcpStatsFromStack
@ stub GetTcpStatsFromStackEx @ stub GetTcpStatsFromStackEx
@ stdcall GetTcpTable( ptr ptr long ) @ stdcall GetTcpTable(ptr ptr long)
@ stub GetTcpTableFromStack @ stub GetTcpTableFromStack
@ stub GetUdpExTable2FromStack @ stub GetUdpExTable2FromStack
@ stdcall GetUdpStatistics( ptr ) @ stdcall GetUdpStatistics(ptr)
@ stdcall GetUdpStatisticsEx(ptr long) @ stdcall GetUdpStatisticsEx(ptr long)
@ stub GetUdpStatsFromStack @ stub GetUdpStatsFromStack
@ stub GetUdpStatsFromStackEx @ stub GetUdpStatsFromStackEx
@ stdcall GetUdpTable( ptr ptr long ) @ stdcall GetUdpTable(ptr ptr long)
@ stub GetUdpTableFromStack @ stub GetUdpTableFromStack
@ stdcall GetUniDirectionalAdapterInfo( ptr ptr ) @ stdcall GetUniDirectionalAdapterInfo(ptr ptr)
@ stdcall Icmp6CreateFile() @ stdcall Icmp6CreateFile()
@ stdcall Icmp6ParseReplies(ptr long) @ stdcall Icmp6ParseReplies(ptr long)
@ stdcall Icmp6SendEcho2(ptr ptr ptr ptr ptr ptr ptr long ptr ptr long long) @ stdcall Icmp6SendEcho2(ptr ptr ptr ptr ptr ptr ptr long ptr ptr long long)
@ -102,8 +102,8 @@
@ stub InternalSetIpNetEntry @ stub InternalSetIpNetEntry
@ stub InternalSetIpStats @ stub InternalSetIpStats
@ stub InternalSetTcpEntry @ stub InternalSetTcpEntry
@ stdcall IpReleaseAddress( ptr ) @ stdcall IpReleaseAddress(ptr)
@ stdcall IpRenewAddress( ptr ) @ stdcall IpRenewAddress(ptr)
@ stub IsLocalAddress @ stub IsLocalAddress
@ stub NTPTimeToNTFileTime @ stub NTPTimeToNTFileTime
@ stub NTTimeToNTPTime @ stub NTTimeToNTPTime
@ -112,8 +112,8 @@
@ stdcall NhGetInterfaceNameFromGuid(ptr ptr ptr long long) @ stdcall NhGetInterfaceNameFromGuid(ptr ptr ptr long long)
@ stdcall NhpAllocateAndGetInterfaceInfoFromStack(ptr ptr long ptr long) @ stdcall NhpAllocateAndGetInterfaceInfoFromStack(ptr ptr long ptr long)
@ stub NhpGetInterfaceIndexFromStack @ stub NhpGetInterfaceIndexFromStack
@ stdcall NotifyAddrChange( ptr ptr ) @ stdcall NotifyAddrChange(ptr ptr)
@ stdcall NotifyRouteChange( ptr ptr ) @ stdcall NotifyRouteChange(ptr ptr)
@ stub NotifyRouteChangeEx @ stub NotifyRouteChangeEx
@ stub NotifySecurityHealthChange @ stub NotifySecurityHealthChange
@ stdcall _PfAddFiltersToInterface@24() @ stdcall _PfAddFiltersToInterface@24()
@ -136,22 +136,22 @@
@ stdcall SendARP(long long ptr ptr) @ stdcall SendARP(long long ptr ptr)
@ stub SetAdapterIpAddress @ stub SetAdapterIpAddress
@ stub SetBlockRoutes @ stub SetBlockRoutes
@ stdcall SetIfEntry( ptr ) @ stdcall SetIfEntry(ptr)
@ stub SetIfEntryToStack @ stub SetIfEntryToStack
@ stdcall SetIpForwardEntry( ptr ) @ stdcall SetIpForwardEntry(ptr)
@ stdcall SetIpForwardEntryToStack( ptr ) @ stdcall SetIpForwardEntryToStack(ptr)
@ stub SetIpMultihopRouteEntryToStack @ stub SetIpMultihopRouteEntryToStack
@ stdcall SetIpNetEntry( ptr ) @ stdcall SetIpNetEntry(ptr)
@ stub SetIpNetEntryToStack @ stub SetIpNetEntryToStack
@ stub SetIpRouteEntryToStack @ stub SetIpRouteEntryToStack
@ stdcall SetIpStatistics( ptr ) @ stdcall SetIpStatistics(ptr)
@ stub SetIpStatsToStack @ stub SetIpStatsToStack
@ stdcall SetIpTTL( long ) @ stdcall SetIpTTL(long)
@ stub SetProxyArpEntryToStack @ stub SetProxyArpEntryToStack
@ stub SetRouteWithRef @ stub SetRouteWithRef
@ stdcall SetTcpEntry( ptr ) @ stdcall SetTcpEntry(ptr)
@ stub SetTcpEntryToStack @ stub SetTcpEntryToStack
@ stdcall UnenableRouter( ptr ptr ) @ stdcall UnenableRouter(ptr ptr)
@ stub do_echo_rep @ stub do_echo_rep
@ stub do_echo_req @ stub do_echo_req
@ stub register_icmp @ stub register_icmp

View file

@ -54,9 +54,7 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
/****************************************************************** /******************************************************************
* AddIPAddress (IPHLPAPI.@) * AddIPAddress (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* Address [In] * Address [In]
* IpMask [In] * IpMask [In]
* IfIndex [In] * IfIndex [In]
@ -64,9 +62,7 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
* NTEInstance [In/Out] * NTEInstance [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AddIPAddress(IPAddr Address, IPMask Netmask, DWORD IfIndex, PULONG NteContext, PULONG NteInstance) DWORD WINAPI AddIPAddress(IPAddr Address, IPMask Netmask, DWORD IfIndex, PULONG NteContext, PULONG NteInstance)
{ {
@ -75,9 +71,9 @@ DWORD WINAPI AddIPAddress(IPAddr Address, IPMask Netmask, DWORD IfIndex, PULONG
DWORD getInterfaceGatewayByIndex(DWORD index) DWORD getInterfaceGatewayByIndex(DWORD index)
{ {
DWORD ndx, retVal = 0, numRoutes = getNumRoutes(); DWORD ndx, retVal = 0, numRoutes = getNumRoutes();
RouteTable *table = getRouteTable(); RouteTable *table = getRouteTable();
if (!table) return 0; if (!table) return 0;
for (ndx = 0; ndx < numRoutes; ndx++) for (ndx = 0; ndx < numRoutes; ndx++)
{ {
@ -91,9 +87,7 @@ DWORD getInterfaceGatewayByIndex(DWORD index)
/****************************************************************** /******************************************************************
* AllocateAndGetIfTableFromStack (IPHLPAPI.@) * AllocateAndGetIfTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppIfTable [Out] -- pointer into which the MIB_IFTABLE is * ppIfTable [Out] -- pointer into which the MIB_IFTABLE is
* allocated and returned. * allocated and returned.
* bOrder [In] -- passed to GetIfTable to order the table * bOrder [In] -- passed to GetIfTable to order the table
@ -102,7 +96,6 @@ DWORD getInterfaceGatewayByIndex(DWORD index)
* *
* RETURNS -- ERROR_INVALID_PARAMETER if ppIfTable is NULL, whatever * RETURNS -- ERROR_INVALID_PARAMETER if ppIfTable is NULL, whatever
* GetIfTable returns otherwise * GetIfTable returns otherwise
*
*/ */
DWORD WINAPI AllocateAndGetIfTableFromStack(PMIB_IFTABLE *ppIfTable, DWORD WINAPI AllocateAndGetIfTableFromStack(PMIB_IFTABLE *ppIfTable,
BOOL bOrder, HANDLE heap, DWORD flags) BOOL bOrder, HANDLE heap, DWORD flags)
@ -135,18 +128,14 @@ DWORD WINAPI AllocateAndGetIfTableFromStack(PMIB_IFTABLE *ppIfTable,
/****************************************************************** /******************************************************************
* AllocateAndGetIpAddrTableFromStack (IPHLPAPI.@) * AllocateAndGetIpAddrTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppIpAddrTable [Out] * ppIpAddrTable [Out]
* bOrder [In] -- passed to GetIpAddrTable to order the table * bOrder [In] -- passed to GetIpAddrTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
* flags [In] -- flags to HeapAlloc * flags [In] -- flags to HeapAlloc
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetIpAddrTableFromStack(PMIB_IPADDRTABLE *ppIpAddrTable, DWORD WINAPI AllocateAndGetIpAddrTableFromStack(PMIB_IPADDRTABLE *ppIpAddrTable,
BOOL bOrder, HANDLE heap, DWORD flags) BOOL bOrder, HANDLE heap, DWORD flags)
@ -179,7 +168,6 @@ DWORD WINAPI AllocateAndGetIpAddrTableFromStack(PMIB_IPADDRTABLE *ppIpAddrTable,
/****************************************************************** /******************************************************************
* AllocateAndGetIpForwardTableFromStack (IPHLPAPI.@) * AllocateAndGetIpForwardTableFromStack (IPHLPAPI.@)
* *
*
* ppIpForwardTable [Out] -- pointer into which the MIB_IPFORWARDTABLE is * ppIpForwardTable [Out] -- pointer into which the MIB_IPFORWARDTABLE is
* allocated and returned. * allocated and returned.
* bOrder [In] -- passed to GetIfTable to order the table * bOrder [In] -- passed to GetIfTable to order the table
@ -188,7 +176,6 @@ DWORD WINAPI AllocateAndGetIpAddrTableFromStack(PMIB_IPADDRTABLE *ppIpAddrTable,
* *
* RETURNS -- ERROR_INVALID_PARAMETER if ppIfTable is NULL, whatever * RETURNS -- ERROR_INVALID_PARAMETER if ppIfTable is NULL, whatever
* GetIpForwardTable returns otherwise * GetIpForwardTable returns otherwise
*
*/ */
DWORD WINAPI AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE * DWORD WINAPI AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE *
ppIpForwardTable, BOOL bOrder, HANDLE heap, DWORD flags) ppIpForwardTable, BOOL bOrder, HANDLE heap, DWORD flags)
@ -221,18 +208,14 @@ DWORD WINAPI AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE *
/****************************************************************** /******************************************************************
* AllocateAndGetIpNetTableFromStack (IPHLPAPI.@) * AllocateAndGetIpNetTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppIpNetTable [Out] * ppIpNetTable [Out]
* bOrder [In] -- passed to GetIpNetTable to order the table * bOrder [In] -- passed to GetIpNetTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
* flags [In] -- flags to HeapAlloc * flags [In] -- flags to HeapAlloc
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable, DWORD WINAPI AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable,
BOOL bOrder, HANDLE heap, DWORD flags) BOOL bOrder, HANDLE heap, DWORD flags)
@ -265,18 +248,14 @@ DWORD WINAPI AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable,
/****************************************************************** /******************************************************************
* AllocateAndGetTcpTableFromStack (IPHLPAPI.@) * AllocateAndGetTcpTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppTcpTable [Out] * ppTcpTable [Out]
* bOrder [In] -- passed to GetTcpTable to order the table * bOrder [In] -- passed to GetTcpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
* flags [In] -- flags to HeapAlloc * flags [In] -- flags to HeapAlloc
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable, DWORD WINAPI AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable,
BOOL bOrder, HANDLE heap, DWORD flags) BOOL bOrder, HANDLE heap, DWORD flags)
@ -309,9 +288,7 @@ DWORD WINAPI AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable,
/****************************************************************** /******************************************************************
* AllocateAndGetTcpExTableFromStack (IPHLPAPI.@) * AllocateAndGetTcpExTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppTcpTable [Out] * ppTcpTable [Out]
* bOrder [In] -- passed to GetExtendedTcpTable to order the table * bOrder [In] -- passed to GetExtendedTcpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
@ -319,9 +296,7 @@ DWORD WINAPI AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable,
* family [In] -- passed to GetExtendedTcpTable to select INET family * family [In] -- passed to GetExtendedTcpTable to select INET family
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID *ppTcpTable, DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID *ppTcpTable,
BOOL bOrder, HANDLE heap, DWORD flags, DWORD family) BOOL bOrder, HANDLE heap, DWORD flags, DWORD family)
@ -354,9 +329,7 @@ DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID *ppTcpTable,
/****************************************************************** /******************************************************************
* AllocateAndGetTcpExTable2FromStack (IPHLPAPI.@) * AllocateAndGetTcpExTable2FromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppTcpTable [Out] * ppTcpTable [Out]
* bOrder [In] -- passed to GetExtendedTcpTable to order the table * bOrder [In] -- passed to GetExtendedTcpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
@ -365,9 +338,7 @@ DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID *ppTcpTable,
* class [In] -- passed to GetExtendedTcpTable to select information * class [In] -- passed to GetExtendedTcpTable to select information
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetTcpExTable2FromStack(PVOID *ppTcpTable, DWORD WINAPI AllocateAndGetTcpExTable2FromStack(PVOID *ppTcpTable,
BOOL bOrder, HANDLE heap, DWORD flags, DWORD family, TCP_TABLE_CLASS class) BOOL bOrder, HANDLE heap, DWORD flags, DWORD family, TCP_TABLE_CLASS class)
@ -400,18 +371,14 @@ DWORD WINAPI AllocateAndGetTcpExTable2FromStack(PVOID *ppTcpTable,
/****************************************************************** /******************************************************************
* AllocateAndGetUdpTableFromStack (IPHLPAPI.@) * AllocateAndGetUdpTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppUdpTable [Out] * ppUdpTable [Out]
* bOrder [In] -- passed to GetUdpTable to order the table * bOrder [In] -- passed to GetUdpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
* flags [In] -- flags to HeapAlloc * flags [In] -- flags to HeapAlloc
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable, DWORD WINAPI AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable,
BOOL bOrder, HANDLE heap, DWORD flags) BOOL bOrder, HANDLE heap, DWORD flags)
@ -444,9 +411,7 @@ DWORD WINAPI AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable,
/****************************************************************** /******************************************************************
* AllocateAndGetUdpExTableFromStack (IPHLPAPI.@) * AllocateAndGetUdpExTableFromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppUdpTable [Out] * ppUdpTable [Out]
* bOrder [In] -- passed to GetExtendedUdpTable to order the table * bOrder [In] -- passed to GetExtendedUdpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
@ -454,9 +419,7 @@ DWORD WINAPI AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable,
* family [In] -- passed to GetExtendedUdpTable to select INET family * family [In] -- passed to GetExtendedUdpTable to select INET family
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetUdpExTableFromStack(PVOID *ppUdpTable, DWORD WINAPI AllocateAndGetUdpExTableFromStack(PVOID *ppUdpTable,
BOOL bOrder, HANDLE heap, DWORD flags, DWORD family) BOOL bOrder, HANDLE heap, DWORD flags, DWORD family)
@ -489,9 +452,7 @@ DWORD WINAPI AllocateAndGetUdpExTableFromStack(PVOID *ppUdpTable,
/****************************************************************** /******************************************************************
* AllocateAndGetUdpExTable2FromStack (IPHLPAPI.@) * AllocateAndGetUdpExTable2FromStack (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* ppUdpTable [Out] * ppUdpTable [Out]
* bOrder [In] -- passed to GetExtendedUdpTable to order the table * bOrder [In] -- passed to GetExtendedUdpTable to order the table
* heap [In] -- heap from which the table is allocated * heap [In] -- heap from which the table is allocated
@ -500,9 +461,7 @@ DWORD WINAPI AllocateAndGetUdpExTableFromStack(PVOID *ppUdpTable,
* class [In] -- passed to GetExtendedUdpTable to select information * class [In] -- passed to GetExtendedUdpTable to select information
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI AllocateAndGetUdpExTable2FromStack(PVOID *ppUdpTable, DWORD WINAPI AllocateAndGetUdpExTable2FromStack(PVOID *ppUdpTable,
BOOL bOrder, HANDLE heap, DWORD flags, DWORD family, UDP_TABLE_CLASS class) BOOL bOrder, HANDLE heap, DWORD flags, DWORD family, UDP_TABLE_CLASS class)
@ -535,15 +494,11 @@ DWORD WINAPI AllocateAndGetUdpExTable2FromStack(PVOID *ppUdpTable,
/****************************************************************** /******************************************************************
* CreateIpForwardEntry (IPHLPAPI.@) * CreateIpForwardEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pRoute [In/Out] * pRoute [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute) DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute)
{ {
@ -554,15 +509,11 @@ DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute)
/****************************************************************** /******************************************************************
* CreateIpNetEntry (IPHLPAPI.@) * CreateIpNetEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pArpEntry [In/Out] * pArpEntry [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW pArpEntry) DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW pArpEntry)
{ {
@ -576,17 +527,13 @@ DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW pArpEntry)
/****************************************************************** /******************************************************************
* CreateProxyArpEntry (IPHLPAPI.@) * CreateProxyArpEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* dwAddress [In] * dwAddress [In]
* dwMask [In] * dwMask [In]
* dwIfIndex [In] * dwIfIndex [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex) DWORD WINAPI CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex)
{ {
@ -601,15 +548,11 @@ DWORD WINAPI CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex)
/****************************************************************** /******************************************************************
* DeleteIPAddress (IPHLPAPI.@) * DeleteIPAddress (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* NTEContext [In] * NTEContext [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI DeleteIPAddress(ULONG NTEContext) DWORD WINAPI DeleteIPAddress(ULONG NTEContext)
{ {
@ -621,15 +564,11 @@ DWORD WINAPI DeleteIPAddress(ULONG NTEContext)
/****************************************************************** /******************************************************************
* DeleteIpForwardEntry (IPHLPAPI.@) * DeleteIpForwardEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pRoute [In/Out] * pRoute [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute) DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute)
{ {
@ -640,15 +579,11 @@ DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute)
/****************************************************************** /******************************************************************
* DeleteIpNetEntry (IPHLPAPI.@) * DeleteIpNetEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pArpEntry [In/Out] * pArpEntry [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW pArpEntry) DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW pArpEntry)
{ {
@ -662,17 +597,13 @@ DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW pArpEntry)
/****************************************************************** /******************************************************************
* DeleteProxyArpEntry (IPHLPAPI.@) * DeleteProxyArpEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* dwAddress [In] * dwAddress [In]
* dwMask [In] * dwMask [In]
* dwIfIndex [In] * dwIfIndex [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI DeleteProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex) DWORD WINAPI DeleteProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex)
{ {
@ -686,16 +617,12 @@ DWORD WINAPI DeleteProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex)
/****************************************************************** /******************************************************************
* EnableRouter (IPHLPAPI.@) * EnableRouter (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pHandle [In/Out] * pHandle [In/Out]
* pOverlapped [In/Out] * pOverlapped [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI EnableRouter(HANDLE * pHandle, OVERLAPPED * pOverlapped) DWORD WINAPI EnableRouter(HANDLE * pHandle, OVERLAPPED * pOverlapped)
{ {
@ -711,15 +638,11 @@ DWORD WINAPI EnableRouter(HANDLE * pHandle, OVERLAPPED * pOverlapped)
/****************************************************************** /******************************************************************
* FlushIpNetTable (IPHLPAPI.@) * FlushIpNetTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* dwIfIndex [In] * dwIfIndex [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI FlushIpNetTable(DWORD dwIfIndex) DWORD WINAPI FlushIpNetTable(DWORD dwIfIndex)
{ {
@ -734,16 +657,12 @@ DWORD WINAPI FlushIpNetTable(DWORD dwIfIndex)
/****************************************************************** /******************************************************************
* GetAdapterIndex (IPHLPAPI.@) * GetAdapterIndex (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* AdapterName [In/Out] * AdapterName [In/Out]
* IfIndex [In/Out] * IfIndex [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetAdapterIndex(LPWSTR AdapterName, PULONG IfIndex) DWORD WINAPI GetAdapterIndex(LPWSTR AdapterName, PULONG IfIndex)
{ {
@ -757,16 +676,12 @@ DWORD WINAPI GetAdapterIndex(LPWSTR AdapterName, PULONG IfIndex)
/****************************************************************** /******************************************************************
* GetAdaptersInfo (IPHLPAPI.@) * GetAdaptersInfo (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pAdapterInfo [In/Out] * pAdapterInfo [In/Out]
* pOutBufLen [In/Out] * pOutBufLen [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen) DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
{ {
@ -827,7 +742,7 @@ DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
winsEnabled = TRUE; winsEnabled = TRUE;
RegCloseKey(hKey); RegCloseKey(hKey);
} }
TRACE("num of index is %lu\n", table->numIndexes); TRACE("num of index is %lu\n", table->numIndexes);
for (ndx = 0; ndx < table->numIndexes; ndx++) { for (ndx = 0; ndx < table->numIndexes; ndx++) {
PIP_ADAPTER_INFO ptr = &pAdapterInfo[ndx]; PIP_ADAPTER_INFO ptr = &pAdapterInfo[ndx];
DWORD addrLen = sizeof(ptr->Address), type; DWORD addrLen = sizeof(ptr->Address), type;
@ -894,16 +809,12 @@ DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
/****************************************************************** /******************************************************************
* GetBestInterface (IPHLPAPI.@) * GetBestInterface (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* dwDestAddr [In] * dwDestAddr [In]
* pdwBestIfIndex [In/Out] * pdwBestIfIndex [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetBestInterface(IPAddr dwDestAddr, PDWORD pdwBestIfIndex) DWORD WINAPI GetBestInterface(IPAddr dwDestAddr, PDWORD pdwBestIfIndex)
{ {
@ -927,17 +838,13 @@ DWORD WINAPI GetBestInterface(IPAddr dwDestAddr, PDWORD pdwBestIfIndex)
/****************************************************************** /******************************************************************
* GetBestRoute (IPHLPAPI.@) * GetBestRoute (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* dwDestAddr [In] * dwDestAddr [In]
* dwSourceAddr [In] * dwSourceAddr [In]
* OUT [In] * OUT [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetBestRoute(DWORD dwDestAddr, DWORD dwSourceAddr, PMIB_IPFORWARDROW pBestRoute) DWORD WINAPI GetBestRoute(DWORD dwDestAddr, DWORD dwSourceAddr, PMIB_IPFORWARDROW pBestRoute)
{ {
@ -1016,10 +923,7 @@ static int TcpTableSorter(const void *a, const void *b)
* RETURNS * RETURNS
* Success: NO_ERROR * Success: NO_ERROR
* Failure: either ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER * Failure: either ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER
*
* NOTES
*/ */
DWORD WINAPI GetExtendedTcpTable(PVOID pTcpTable, PDWORD pdwSize, BOOL bOrder, ULONG ulAf, TCP_TABLE_CLASS TableClass, ULONG Reserved) DWORD WINAPI GetExtendedTcpTable(PVOID pTcpTable, PDWORD pdwSize, BOOL bOrder, ULONG ulAf, TCP_TABLE_CLASS TableClass, ULONG Reserved)
{ {
DWORD i, count, size; DWORD i, count, size;
@ -1403,7 +1307,6 @@ DWORD WINAPI GetExtendedTcpTable(PVOID pTcpTable, PDWORD pdwSize, BOOL bOrder, U
return ret; return ret;
} }
static int UdpTableSorter(const void *a, const void *b) static int UdpTableSorter(const void *a, const void *b)
{ {
int ret; int ret;
@ -1436,14 +1339,11 @@ static int UdpTableSorter(const void *a, const void *b)
* RETURNS * RETURNS
* Success: NO_ERROR * Success: NO_ERROR
* Failure: either ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER * Failure: either ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_PARAMETER
*
* NOTES
*/ */
DWORD WINAPI GetExtendedUdpTable(PVOID pUdpTable, PDWORD pdwSize, BOOL bOrder, ULONG ulAf, UDP_TABLE_CLASS TableClass, ULONG Reserved) DWORD WINAPI GetExtendedUdpTable(PVOID pUdpTable, PDWORD pdwSize, BOOL bOrder, ULONG ulAf, UDP_TABLE_CLASS TableClass, ULONG Reserved)
{ {
DWORD size; DWORD size;
DWORD ret = NO_ERROR; DWORD ret = NO_ERROR;
if (!pdwSize) if (!pdwSize)
{ {
@ -1551,15 +1451,11 @@ DWORD WINAPI GetExtendedUdpTable(PVOID pUdpTable, PDWORD pdwSize, BOOL bOrder, U
/****************************************************************** /******************************************************************
* GetFriendlyIfIndex (IPHLPAPI.@) * GetFriendlyIfIndex (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* IfIndex [In] * IfIndex [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetFriendlyIfIndex(DWORD IfIndex) DWORD WINAPI GetFriendlyIfIndex(DWORD IfIndex)
{ {
@ -1574,15 +1470,11 @@ DWORD WINAPI GetFriendlyIfIndex(DWORD IfIndex)
/****************************************************************** /******************************************************************
* GetIcmpStatistics (IPHLPAPI.@) * GetIcmpStatistics (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIcmpStatistics(PMIB_ICMP pStats) DWORD WINAPI GetIcmpStatistics(PMIB_ICMP pStats)
{ {
@ -1598,15 +1490,11 @@ DWORD WINAPI GetIcmpStatistics(PMIB_ICMP pStats)
/****************************************************************** /******************************************************************
* GetIfEntry (IPHLPAPI.@) * GetIfEntry (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIfRow [In/Out] * pIfRow [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIfEntry(PMIB_IFROW pIfRow) DWORD WINAPI GetIfEntry(PMIB_IFROW pIfRow)
{ {
@ -1646,17 +1534,13 @@ static int IfTableSorter(const void *a, const void *b)
/****************************************************************** /******************************************************************
* GetIfTable (IPHLPAPI.@) * GetIfTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIfTable [In/Out] * pIfTable [In/Out]
* pdwSize [In/Out] * pdwSize [In/Out]
* bOrder [In] * bOrder [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIfTable(PMIB_IFTABLE pIfTable, PULONG pdwSize, BOOL bOrder) DWORD WINAPI GetIfTable(PMIB_IFTABLE pIfTable, PULONG pdwSize, BOOL bOrder)
{ {
@ -1714,16 +1598,12 @@ DWORD WINAPI GetIfTable(PMIB_IFTABLE pIfTable, PULONG pdwSize, BOOL bOrder)
/****************************************************************** /******************************************************************
* GetInterfaceInfo (IPHLPAPI.@) * GetInterfaceInfo (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIfTable [In/Out] * pIfTable [In/Out]
* dwOutBufLen [In/Out] * dwOutBufLen [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen) DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen)
{ {
@ -1801,17 +1681,13 @@ static int IpAddrTableSorter(const void *a, const void *b)
/****************************************************************** /******************************************************************
* GetIpAddrTable (IPHLPAPI.@) * GetIpAddrTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIpAddrTable [In/Out] * pIpAddrTable [In/Out]
* pdwSize [In/Out] * pdwSize [In/Out]
* bOrder [In] * bOrder [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable, PULONG pdwSize, BOOL bOrder) DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable, PULONG pdwSize, BOOL bOrder)
{ {
@ -1905,17 +1781,13 @@ static int IpForwardTableSorter(const void *a, const void *b)
/****************************************************************** /******************************************************************
* GetIpForwardTable (IPHLPAPI.@) * GetIpForwardTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIpForwardTable [In/Out] * pIpForwardTable [In/Out]
* pdwSize [In/Out] * pdwSize [In/Out]
* bOrder [In] * bOrder [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable, PULONG pdwSize, BOOL bOrder) DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable, PULONG pdwSize, BOOL bOrder)
{ {
@ -2005,17 +1877,13 @@ static int IpNetTableSorter(const void *a, const void *b)
/****************************************************************** /******************************************************************
* GetIpNetTable (IPHLPAPI.@) * GetIpNetTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pIpNetTable [In/Out] * pIpNetTable [In/Out]
* pdwSize [In/Out] * pdwSize [In/Out]
* bOrder [In] * bOrder [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE pIpNetTable, PULONG pdwSize, BOOL bOrder) DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE pIpNetTable, PULONG pdwSize, BOOL bOrder)
{ {
@ -2065,15 +1933,11 @@ DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE pIpNetTable, PULONG pdwSize, BOOL bOr
/****************************************************************** /******************************************************************
* GetIpStatistics (IPHLPAPI.@) * GetIpStatistics (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIpStatistics(PMIB_IPSTATS pStats) DWORD WINAPI GetIpStatistics(PMIB_IPSTATS pStats)
{ {
@ -2083,16 +1947,12 @@ DWORD WINAPI GetIpStatistics(PMIB_IPSTATS pStats)
/****************************************************************** /******************************************************************
* GetIpStatisticsEx (IPHLPAPI.@) * GetIpStatisticsEx (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* dwFamily [In] * dwFamily [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS pStats, DWORD dwFamily) DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS pStats, DWORD dwFamily)
{ {
@ -2107,16 +1967,12 @@ DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS pStats, DWORD dwFamily)
/****************************************************************** /******************************************************************
* GetNetworkParams (IPHLPAPI.@) * GetNetworkParams (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pFixedInfo [In/Out] * pFixedInfo [In/Out]
* pOutBufLen [In/Out] * pOutBufLen [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen) DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen)
{ {
@ -2260,15 +2116,11 @@ DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen)
/****************************************************************** /******************************************************************
* GetNumberOfInterfaces (IPHLPAPI.@) * GetNumberOfInterfaces (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pdwNumIf [In/Out] * pdwNumIf [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf) DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf)
{ {
@ -2466,7 +2318,7 @@ static DWORD GetOwnerModuleFromTagEntry(DWORD OwningPid, DWORD OwningTag, TCPIP_
* NOTES * NOTES
* The type of data returned in Buffer is indicated by the value of the Class parameter. * The type of data returned in Buffer is indicated by the value of the Class parameter.
*/ */
DWORD WINAPI GetOwnerModuleFromTcpEntry( PMIB_TCPROW_OWNER_MODULE pTcpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID Buffer, PDWORD pdwSize) DWORD WINAPI GetOwnerModuleFromTcpEntry(PMIB_TCPROW_OWNER_MODULE pTcpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID Buffer, PDWORD pdwSize)
{ {
/* If we have a service tag, that's a service connection */ /* If we have a service tag, that's a service connection */
if (pTcpEntry->OwningModuleInfo[0] != 0) if (pTcpEntry->OwningModuleInfo[0] != 0)
@ -2498,7 +2350,7 @@ DWORD WINAPI GetOwnerModuleFromTcpEntry( PMIB_TCPROW_OWNER_MODULE pTcpEntry, TCP
* NOTES * NOTES
* The type of data returned in Buffer is indicated by the value of the Class parameter. * The type of data returned in Buffer is indicated by the value of the Class parameter.
*/ */
DWORD WINAPI GetOwnerModuleFromUdpEntry( PMIB_UDPROW_OWNER_MODULE pUdpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID Buffer, PDWORD pdwSize) DWORD WINAPI GetOwnerModuleFromUdpEntry(PMIB_UDPROW_OWNER_MODULE pUdpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID Buffer, PDWORD pdwSize)
{ {
/* If we have a service tag, that's a service connection */ /* If we have a service tag, that's a service connection */
if (pUdpEntry->OwningModuleInfo[0] != 0) if (pUdpEntry->OwningModuleInfo[0] != 0)
@ -2544,17 +2396,13 @@ static void CreateNameServerListEnumNamesFunc( PWCHAR Interface, PWCHAR Server,
/****************************************************************** /******************************************************************
* GetPerAdapterInfo (IPHLPAPI.@) * GetPerAdapterInfo (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* IfIndex [In] * IfIndex [In]
* pPerAdapterInfo [In/Out] * pPerAdapterInfo [In/Out]
* pOutBufLen [In/Out] * pOutBufLen [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen) DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen)
{ {
@ -2618,18 +2466,14 @@ DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterIn
/****************************************************************** /******************************************************************
* GetRTTAndHopCount (IPHLPAPI.@) * GetRTTAndHopCount (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* DestIpAddress [In] * DestIpAddress [In]
* HopCount [In/Out] * HopCount [In/Out]
* MaxHops [In] * MaxHops [In]
* RTT [In/Out] * RTT [In/Out]
* *
* RETURNS * RETURNS
*
* BOOL * BOOL
*
*/ */
BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT) BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT)
{ {
@ -2643,16 +2487,12 @@ BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHo
/****************************************************************** /******************************************************************
* GetTcpStatisticsEx (IPHLPAPI.@) * GetTcpStatisticsEx (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* dwFamily [In] * dwFamily [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily) DWORD WINAPI GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily)
{ {
@ -2667,15 +2507,11 @@ DWORD WINAPI GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily)
/****************************************************************** /******************************************************************
* GetTcpStatistics (IPHLPAPI.@) * GetTcpStatistics (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS pStats) DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS pStats)
{ {
@ -2707,23 +2543,19 @@ DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS pStats)
*/ */
DWORD WINAPI GetTcpTable(PMIB_TCPTABLE pTcpTable, PDWORD pdwSize, BOOL bOrder) DWORD WINAPI GetTcpTable(PMIB_TCPTABLE pTcpTable, PDWORD pdwSize, BOOL bOrder)
{ {
return GetExtendedTcpTable(pTcpTable, pdwSize, bOrder, AF_INET, TCP_TABLE_BASIC_ALL, 0); return GetExtendedTcpTable(pTcpTable, pdwSize, bOrder, AF_INET, TCP_TABLE_BASIC_ALL, 0);
} }
/****************************************************************** /******************************************************************
* GetUdpStatisticsEx (IPHLPAPI.@) * GetUdpStatisticsEx (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* dwFamily [In] * dwFamily [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily) DWORD WINAPI GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily)
{ {
@ -2738,15 +2570,11 @@ DWORD WINAPI GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily)
/****************************************************************** /******************************************************************
* GetUdpStatistics (IPHLPAPI.@) * GetUdpStatistics (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pStats [In/Out] * pStats [In/Out]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS pStats) DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS pStats)
{ {
@ -2757,21 +2585,17 @@ DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS pStats)
/****************************************************************** /******************************************************************
* GetUdpTable (IPHLPAPI.@) * GetUdpTable (IPHLPAPI.@)
* *
*
* PARAMS * PARAMS
*
* pUdpTable [In/Out] * pUdpTable [In/Out]
* pdwSize [In/Out] * pdwSize [In/Out]
* bOrder [In] * bOrder [In]
* *
* RETURNS * RETURNS
*
* DWORD * DWORD
*
*/ */
DWORD WINAPI GetUdpTable(PMIB_UDPTABLE pUdpTable, PDWORD pdwSize, BOOL bOrder) DWORD WINAPI GetUdpTable(PMIB_UDPTABLE pUdpTable, PDWORD pdwSize, BOOL bOrder)
{ {
return GetExtendedUdpTable(pUdpTable, pdwSize, bOrder, AF_INET, UDP_TABLE_BASIC, 0); return GetExtendedUdpTable(pUdpTable, pdwSize, bOrder, AF_INET, UDP_TABLE_BASIC, 0);
} }
@ -2812,7 +2636,6 @@ DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIP
* RETURNS * RETURNS
* Success: NO_ERROR * Success: NO_ERROR
* Failure: error code from winerror.h * Failure: error code from winerror.h
*
*/ */
DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo) DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo)
{ {
@ -2984,7 +2807,6 @@ DWORD WINAPI SetIfEntry(PMIB_IFROW pIfRow)
* RETURNS * RETURNS
* Success: NO_ERROR * Success: NO_ERROR
* Failure: error code from winerror.h * Failure: error code from winerror.h
*
*/ */
DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW pRoute) DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW pRoute)
{ {
@ -3163,9 +2985,6 @@ PIP_ADAPTER_ORDER_MAP WINAPI GetAdapterOrderMap(VOID)
return 0L; return 0L;
} }
/*
* @implemented
*/
#ifdef GetAdaptersAddressesV1 #ifdef GetAdaptersAddressesV1
DWORD WINAPI DECLSPEC_HOTPATCH GetAdaptersAddresses(ULONG Family,ULONG Flags,PVOID Reserved,PIP_ADAPTER_ADDRESSES pAdapterAddresses,PULONG pOutBufLen) DWORD WINAPI DECLSPEC_HOTPATCH GetAdaptersAddresses(ULONG Family,ULONG Flags,PVOID Reserved,PIP_ADAPTER_ADDRESSES pAdapterAddresses,PULONG pOutBufLen)
{ {
@ -3470,9 +3289,6 @@ DWORD GetInterfaceNameInternal(_In_ const GUID * pInterfaceGUID,
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
/*
* @implemented
*/
DWORD WINAPI DWORD WINAPI
NhGetInterfaceNameFromDeviceGuid(_In_ const GUID * pInterfaceGUID, NhGetInterfaceNameFromDeviceGuid(_In_ const GUID * pInterfaceGUID,
_Out_writes_bytes_to_(*pOutBufLen, *pOutBufLen) PWCHAR pInterfaceName, _Out_writes_bytes_to_(*pOutBufLen, *pOutBufLen) PWCHAR pInterfaceName,
@ -3488,9 +3304,6 @@ NhGetInterfaceNameFromDeviceGuid(_In_ const GUID * pInterfaceGUID,
return GetInterfaceNameInternal(pInterfaceGUID, pInterfaceName, pOutBufLen); return GetInterfaceNameInternal(pInterfaceGUID, pInterfaceName, pOutBufLen);
} }
/*
* @implemented
*/
DWORD WINAPI DWORD WINAPI
NhGetInterfaceNameFromGuid(_In_ const GUID * pInterfaceGUID, NhGetInterfaceNameFromGuid(_In_ const GUID * pInterfaceGUID,
_Out_writes_bytes_to_(*pOutBufLen, *pOutBufLen) PWCHAR pInterfaceName, _Out_writes_bytes_to_(*pOutBufLen, *pOutBufLen) PWCHAR pInterfaceName,

View file

@ -108,14 +108,14 @@ NTSTATUS tdiGetMibForIpEntity
req.ID.toi_id = IP_MIB_STATS_ID; req.ID.toi_id = IP_MIB_STATS_ID;
req.ID.toi_entity = *ent; req.ID.toi_entity = *ent;
status = DeviceIoControl( tcpFile, status = DeviceIoControl(tcpFile,
IOCTL_TCP_QUERY_INFORMATION_EX, IOCTL_TCP_QUERY_INFORMATION_EX,
&req, &req,
sizeof(req), sizeof(req),
entry, entry,
sizeof(*entry), sizeof(*entry),
&returnSize, &returnSize,
NULL ); NULL);
TRACE("TdiGetMibForIpEntity() => status = 0x%08lx, entry = {\n" TRACE("TdiGetMibForIpEntity() => status = 0x%08lx, entry = {\n"
" ipsi_forwarding ............ %lu\n" " ipsi_forwarding ............ %lu\n"
@ -153,16 +153,16 @@ NTSTATUS tdiGetRoutesForIpEntity
TRACE("TdiGetRoutesForIpEntity(tcpFile 0x%p, entityId 0x%x)\n", TRACE("TdiGetRoutesForIpEntity(tcpFile 0x%p, entityId 0x%x)\n",
tcpFile, ent->tei_instance); tcpFile, ent->tei_instance);
status = tdiGetSetOfThings( tcpFile, status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL, INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER, INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID, IP_MIB_ARPTABLE_ENTRY_ID,
CL_NL_ENTITY, CL_NL_ENTITY,
ent->tei_instance, ent->tei_instance,
0, 0,
sizeof(IPRouteEntry), sizeof(IPRouteEntry),
(PVOID *)routes, (PVOID *)routes,
numRoutes); numRoutes);
return status; return status;
} }
@ -174,16 +174,16 @@ NTSTATUS tdiGetIpAddrsForIpEntity
TRACE("TdiGetIpAddrsForIpEntity(tcpFile 0x%p, entityId 0x%x)\n", TRACE("TdiGetIpAddrsForIpEntity(tcpFile 0x%p, entityId 0x%x)\n",
tcpFile, ent->tei_instance); tcpFile, ent->tei_instance);
status = tdiGetSetOfThings( tcpFile, status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL, INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER, INFO_TYPE_PROVIDER,
IP_MIB_ADDRTABLE_ENTRY_ID, IP_MIB_ADDRTABLE_ENTRY_ID,
CL_NL_ENTITY, CL_NL_ENTITY,
ent->tei_instance, ent->tei_instance,
0, 0,
sizeof(IPAddrEntry), sizeof(IPAddrEntry),
(PVOID *)addrs, (PVOID *)addrs,
numAddrs ); numAddrs);
return status; return status;
} }
@ -361,26 +361,27 @@ DWORD getNumRoutes(void)
TRACE("called.\n"); TRACE("called.\n");
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status)) {
ERR("tdiGetEntityIDSet returned 0x%08lx\n", status); ERR("tdiGetEntityIDSet returned 0x%08lx\n", status);
closeTcpFile( tcpFile ); closeTcpFile( tcpFile );
return 0; return 0;
} }
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( isIpEntity( tcpFile, &entitySet[i] ) ) { if (isIpEntity(tcpFile, &entitySet[i])) {
IPSNMPInfo isnmp; IPSNMPInfo isnmp;
memset( &isnmp, 0, sizeof( isnmp ) ); memset(&isnmp, 0, sizeof(isnmp));
status = tdiGetMibForIpEntity( tcpFile, &entitySet[i], &isnmp ); status = tdiGetMibForIpEntity(tcpFile, &entitySet[i], &isnmp);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status)) {
ERR("tdiGetMibForIpEntity returned 0x%08lx, for i = %d", status, i); ERR("tdiGetMibForIpEntity returned 0x%08lx, for i = %d\n", status, i);
numRoutes = 0; numRoutes = 0;
break; break;
} }
@ -388,10 +389,8 @@ DWORD getNumRoutes(void)
} }
} }
TRACE("numRoutes = %lu\n", numRoutes); tdiFreeThingSet(entitySet);
closeTcpFile(tcpFile);
tdiFreeThingSet( entitySet );
closeTcpFile( tcpFile );
return numRoutes; return numRoutes;
} }
@ -415,17 +414,17 @@ RouteTable *getRouteTable(void)
DWORD numRoutes = getNumRoutes(), routesAdded = 0; DWORD numRoutes = getNumRoutes(), routesAdded = 0;
TDIEntityID ent; TDIEntityID ent;
HANDLE tcpFile; HANDLE tcpFile;
NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA ); NTSTATUS status = openTcpFile(&tcpFile, FILE_READ_DATA);
int i; int i;
if( !NT_SUCCESS(status) ) if (!NT_SUCCESS(status))
return 0; return 0;
TRACE("GETTING ROUTE TABLE\n"); TRACE("GETTING ROUTE TABLE\n");
out_route_table = HeapAlloc( GetProcessHeap(), 0, out_route_table = HeapAlloc(GetProcessHeap(), 0,
sizeof(RouteTable) + sizeof(RouteTable) +
(sizeof(RouteEntry) * (numRoutes - 1)) ); (sizeof(RouteEntry) * (numRoutes - 1)));
if (!out_route_table) { if (!out_route_table) {
closeTcpFile(tcpFile); closeTcpFile(tcpFile);
return NULL; return NULL;
@ -433,28 +432,27 @@ RouteTable *getRouteTable(void)
out_route_table->numRoutes = numRoutes; out_route_table->numRoutes = numRoutes;
for( i = 0; routesAdded < out_route_table->numRoutes; i++ ) { for (i = 0; routesAdded < out_route_table->numRoutes; i++) {
int j; int j;
IPRouteEntry *route_set; IPRouteEntry *route_set;
getNthIpEntity( tcpFile, i, &ent ); getNthIpEntity(tcpFile, i, &ent);
tdiGetRoutesForIpEntity( tcpFile, &ent, &route_set, &numRoutes ); tdiGetRoutesForIpEntity(tcpFile, &ent, &route_set, &numRoutes);
if (!route_set) {
if( !route_set ) { closeTcpFile(tcpFile);
closeTcpFile( tcpFile ); HeapFree(GetProcessHeap(), 0, out_route_table);
HeapFree( GetProcessHeap(), 0, out_route_table );
return 0; return 0;
} }
TRACE("%lu routes in instance %d\n", numRoutes, i); TRACE("%lu routes in instance %d\n", numRoutes, i);
#if 0 #if 0
HexDump( route_set, HexDump(route_set,
sizeof( IPRouteEntry ) * sizeof(IPRouteEntry) *
snmpInfo.ipsi_numroutes ); snmpInfo.ipsi_numroutes);
#endif #endif
for( j = 0; j < numRoutes; j++ ) { for (j = 0; j < numRoutes; j++) {
int routeNum = j + routesAdded; int routeNum = j + routesAdded;
out_route_table->routes[routeNum].dest = out_route_table->routes[routeNum].dest =
route_set[j].ire_dest; route_set[j].ire_dest;
@ -468,15 +466,13 @@ RouteTable *getRouteTable(void)
route_set[j].ire_metric1; route_set[j].ire_metric1;
} }
if( route_set ) tdiFreeThingSet( route_set ); if (route_set) tdiFreeThingSet(route_set);
routesAdded += numRoutes; routesAdded += numRoutes;
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
TRACE("status = 0x%08lx, out_route_table = 0x%p\n", status, out_route_table); TRACE("status = 0x%08lx, out_route_table = 0x%p\n", status, out_route_table);
return out_route_table; return out_route_table;
} }
@ -492,39 +488,39 @@ DWORD getNumArpEntries(void)
TRACE("called.\n"); TRACE("called.\n");
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( isInterface( &entitySet[i] ) && if (isInterface(&entitySet[i]) && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID,
AT_ENTITY,
entitySet[i].tei_instance,
0,
sizeof(MIB_IPNETROW),
(PVOID *)&IpArpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) totalNumber += returnSize;
INFO_CLASS_PROTOCOL, if (IpArpTable) {
INFO_TYPE_PROVIDER, tdiFreeThingSet(IpArpTable);
IP_MIB_ARPTABLE_ENTRY_ID, IpArpTable = NULL;
AT_ENTITY, }
entitySet[i].tei_instance, }
0,
sizeof(MIB_IPNETROW),
(PVOID *)&IpArpTable,
&returnSize );
if( status == STATUS_SUCCESS ) totalNumber += returnSize;
if( IpArpTable ) {
tdiFreeThingSet( IpArpTable );
IpArpTable = NULL;
}
}
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
if( entitySet ) tdiFreeThingSet( entitySet ); if (entitySet) tdiFreeThingSet(entitySet);
return totalNumber; return totalNumber;
} }
@ -542,50 +538,47 @@ PMIB_IPNETTABLE getArpTable(void)
totalNumber = getNumArpEntries(); totalNumber = getNumArpEntries();
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
IpArpTable = HeapAlloc IpArpTable = HeapAlloc(GetProcessHeap(), 0,
( GetProcessHeap(), 0, sizeof(DWORD) + (sizeof(MIB_IPNETROW) * totalNumber));
sizeof(DWORD) + (sizeof(MIB_IPNETROW) * totalNumber) );
if (!IpArpTable) { if (!IpArpTable) {
closeTcpFile(tcpFile); closeTcpFile(tcpFile);
return NULL; return NULL;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( isInterface( &entitySet[i] ) && if (isInterface(&entitySet[i]) && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID,
AT_ENTITY,
entitySet[i].tei_instance,
0,
sizeof(MIB_IPNETROW),
(PVOID *)&AdapterArpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) {
INFO_CLASS_PROTOCOL, for (TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++)
INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID,
AT_ENTITY,
entitySet[i].tei_instance,
0,
sizeof(MIB_IPNETROW),
(PVOID *)&AdapterArpTable,
&returnSize );
if( status == STATUS_SUCCESS ) {
for( TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++ )
IpArpTable->table[CurrIdx] = AdapterArpTable[TmpIdx]; IpArpTable->table[CurrIdx] = AdapterArpTable[TmpIdx];
tdiFreeThingSet( AdapterArpTable ); tdiFreeThingSet(AdapterArpTable);
} }
} }
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
tdiFreeThingSet(entitySet);
tdiFreeThingSet( entitySet );
IpArpTable->dwNumEntries = CurrIdx; IpArpTable->dwNumEntries = CurrIdx;
return IpArpTable; return IpArpTable;
} }
@ -616,39 +609,39 @@ DWORD getNumUdpEntries(void)
TRACE("called.\n"); TRACE("called.\n");
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( entitySet[i].tei_entity == CL_TL_ENTITY && if (entitySet[i].tei_entity == CL_TL_ENTITY && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID,
CL_TL_ENTITY,
entitySet[i].tei_instance,
0,
sizeof(MIB_UDPROW),
(PVOID *)&IpUdpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) totalNumber += returnSize;
INFO_CLASS_PROTOCOL, if (IpUdpTable) {
INFO_TYPE_PROVIDER, tdiFreeThingSet(IpUdpTable);
IP_MIB_ARPTABLE_ENTRY_ID, IpUdpTable = NULL;
CL_TL_ENTITY, }
entitySet[i].tei_instance, }
0,
sizeof(MIB_UDPROW),
(PVOID *)&IpUdpTable,
&returnSize );
if( status == STATUS_SUCCESS ) totalNumber += returnSize;
if( IpUdpTable ) {
tdiFreeThingSet( IpUdpTable );
IpUdpTable = NULL;
}
}
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
if( entitySet ) tdiFreeThingSet( entitySet ); if (entitySet) tdiFreeThingSet(entitySet);
return totalNumber; return totalNumber;
} }
@ -666,52 +659,49 @@ PVOID getUdpTable(CLASS_TABLE Class)
totalNumber = getNumUdpEntries(); totalNumber = getNumUdpEntries();
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
IpUdpTable = HeapAlloc IpUdpTable = HeapAlloc(GetProcessHeap(), 0,
( GetProcessHeap(), 0, UdpTcpTableCall[Class].UdpOffset + (UdpTcpTableCall[Class].UdpSize * totalNumber));
UdpTcpTableCall[Class].UdpOffset + (UdpTcpTableCall[Class].UdpSize * totalNumber) );
if (!IpUdpTable) { if (!IpUdpTable) {
closeTcpFile(tcpFile); closeTcpFile(tcpFile);
return NULL; return NULL;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( entitySet[i].tei_entity == CL_TL_ENTITY && if (entitySet[i].tei_entity == CL_TL_ENTITY && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
UdpTcpTableCall[Class].TOIID,
CL_TL_ENTITY,
entitySet[i].tei_instance,
0,
UdpTcpTableCall[Class].UdpSize,
&AdapterUdpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) {
INFO_CLASS_PROTOCOL, for (TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++)
INFO_TYPE_PROVIDER,
UdpTcpTableCall[Class].TOIID,
CL_TL_ENTITY,
entitySet[i].tei_instance,
0,
UdpTcpTableCall[Class].UdpSize,
&AdapterUdpTable,
&returnSize );
if( status == STATUS_SUCCESS ) {
for( TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++ )
CopyMemory(Add2Ptr(IpUdpTable, UdpTcpTableCall[Class].UdpOffset + UdpTcpTableCall[Class].UdpSize * CurrIdx), CopyMemory(Add2Ptr(IpUdpTable, UdpTcpTableCall[Class].UdpOffset + UdpTcpTableCall[Class].UdpSize * CurrIdx),
Add2Ptr(AdapterUdpTable, UdpTcpTableCall[Class].UdpSize * TmpIdx), Add2Ptr(AdapterUdpTable, UdpTcpTableCall[Class].UdpSize * TmpIdx),
UdpTcpTableCall[Class].UdpSize); UdpTcpTableCall[Class].UdpSize);
tdiFreeThingSet( AdapterUdpTable ); tdiFreeThingSet(AdapterUdpTable);
} }
} }
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
tdiFreeThingSet(entitySet);
tdiFreeThingSet( entitySet );
IpUdpTable->dwNumEntries = CurrIdx; IpUdpTable->dwNumEntries = CurrIdx;
return IpUdpTable; return IpUdpTable;
} }
@ -727,39 +717,39 @@ DWORD getNumTcpEntries(void)
TRACE("called.\n"); TRACE("called.\n");
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( entitySet[i].tei_entity == CO_TL_ENTITY && if (entitySet[i].tei_entity == CO_TL_ENTITY && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
IP_MIB_ARPTABLE_ENTRY_ID,
CO_TL_ENTITY,
entitySet[i].tei_instance,
0,
sizeof(MIB_TCPROW),
(PVOID *)&IpTcpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) totalNumber += returnSize;
INFO_CLASS_PROTOCOL, if (IpTcpTable) {
INFO_TYPE_PROVIDER, tdiFreeThingSet(IpTcpTable);
IP_MIB_ARPTABLE_ENTRY_ID, IpTcpTable = NULL;
CO_TL_ENTITY, }
entitySet[i].tei_instance, }
0,
sizeof(MIB_TCPROW),
(PVOID *)&IpTcpTable,
&returnSize );
if( status == STATUS_SUCCESS ) totalNumber += returnSize;
if( IpTcpTable ) {
tdiFreeThingSet( IpTcpTable );
IpTcpTable = NULL;
}
}
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
if( entitySet ) tdiFreeThingSet( entitySet ); if (entitySet) tdiFreeThingSet(entitySet);
return totalNumber; return totalNumber;
} }
@ -777,51 +767,48 @@ PVOID getTcpTable(CLASS_TABLE Class)
totalNumber = getNumTcpEntries(); totalNumber = getNumTcpEntries();
status = openTcpFile( &tcpFile, FILE_READ_DATA ); status = openTcpFile(&tcpFile, FILE_READ_DATA);
if( !NT_SUCCESS(status) ) { if (!NT_SUCCESS(status))
{
ERR("openTcpFile returned 0x%08lx\n", status); ERR("openTcpFile returned 0x%08lx\n", status);
return 0; return 0;
} }
IpTcpTable = HeapAlloc IpTcpTable = HeapAlloc(GetProcessHeap(), 0,
( GetProcessHeap(), 0, UdpTcpTableCall[Class].TcpOffset + (UdpTcpTableCall[Class].TcpSize * totalNumber));
UdpTcpTableCall[Class].TcpOffset + (UdpTcpTableCall[Class].TcpSize * totalNumber) );
if (!IpTcpTable) { if (!IpTcpTable) {
closeTcpFile(tcpFile); closeTcpFile(tcpFile);
return NULL; return NULL;
} }
status = tdiGetEntityIDSet( tcpFile, &entitySet, &numEntities ); status = tdiGetEntityIDSet(tcpFile, &entitySet, &numEntities);
for( i = 0; i < numEntities; i++ ) { for (i = 0; i < numEntities; i++) {
if( entitySet[i].tei_entity == CO_TL_ENTITY && if (entitySet[i].tei_entity == CO_TL_ENTITY && hasArp(tcpFile, &entitySet[i]))
hasArp( tcpFile, &entitySet[i] ) ) { {
status = tdiGetSetOfThings(tcpFile,
INFO_CLASS_PROTOCOL,
INFO_TYPE_PROVIDER,
UdpTcpTableCall[Class].TOIID,
CO_TL_ENTITY,
entitySet[i].tei_instance,
0,
UdpTcpTableCall[Class].TcpSize,
&AdapterTcpTable,
&returnSize);
status = tdiGetSetOfThings( tcpFile, if (status == STATUS_SUCCESS) {
INFO_CLASS_PROTOCOL, for (TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++)
INFO_TYPE_PROVIDER,
UdpTcpTableCall[Class].TOIID,
CO_TL_ENTITY,
entitySet[i].tei_instance,
0,
UdpTcpTableCall[Class].TcpSize,
&AdapterTcpTable,
&returnSize );
if( status == STATUS_SUCCESS ) {
for( TmpIdx = 0; TmpIdx < returnSize; TmpIdx++, CurrIdx++ )
CopyMemory(Add2Ptr(IpTcpTable, UdpTcpTableCall[Class].TcpOffset + UdpTcpTableCall[Class].TcpSize * CurrIdx), CopyMemory(Add2Ptr(IpTcpTable, UdpTcpTableCall[Class].TcpOffset + UdpTcpTableCall[Class].TcpSize * CurrIdx),
Add2Ptr(AdapterTcpTable, UdpTcpTableCall[Class].TcpSize * TmpIdx), Add2Ptr(AdapterTcpTable, UdpTcpTableCall[Class].TcpSize * TmpIdx),
UdpTcpTableCall[Class].TcpSize); UdpTcpTableCall[Class].TcpSize);
tdiFreeThingSet( AdapterTcpTable ); tdiFreeThingSet(AdapterTcpTable);
} }
} }
} }
closeTcpFile( tcpFile ); closeTcpFile(tcpFile);
tdiFreeThingSet(entitySet);
tdiFreeThingSet( entitySet );
IpTcpTable->dwNumEntries = CurrIdx; IpTcpTable->dwNumEntries = CurrIdx;
return IpTcpTable; return IpTcpTable;
} }

View file

@ -25,7 +25,7 @@ TDI_STATUS InfoTdiQueryGetRouteTable( PIP_INTERFACE IF, PNDIS_BUFFER Buffer, PUI
TI_DbgPrint(DEBUG_INFO, ("Called, routes = %d\n", TI_DbgPrint(DEBUG_INFO, ("Called, routes = %d\n",
RtCount)); RtCount));
if (RtCount == 0) if (RtCount == 0)
return InfoCopyOut(NULL, 0, NULL, BufferSize); return InfoCopyOut(NULL, 0, NULL, BufferSize);