[PATCH 1/5] iphlpapi: Remove unused function getInterfaceStatsByName().
Huw Davies
huw at codeweavers.com
Tue Jul 20 02:43:23 CDT 2021
This should have been part of commit 0b5a6c704c06.
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/iphlpapi/ipstats.c | 130 ----------------------------------------
dlls/iphlpapi/ipstats.h | 5 --
2 files changed, 135 deletions(-)
diff --git a/dlls/iphlpapi/ipstats.c b/dlls/iphlpapi/ipstats.c
index 3cf0e811437..43c481c749f 100644
--- a/dlls/iphlpapi/ipstats.c
+++ b/dlls/iphlpapi/ipstats.c
@@ -199,16 +199,6 @@ static DWORD kstat_get_ui32( kstat_t *ksp, const char *name )
if (!strcmp( data[i].name, name )) return data[i].value.ui32;
return 0;
}
-
-static ULONGLONG kstat_get_ui64( kstat_t *ksp, const char *name )
-{
- unsigned int i;
- kstat_named_t *data = ksp->ks_data;
-
- for (i = 0; i < ksp->ks_ndata; i++)
- if (!strcmp( data[i].name, name )) return data[i].value.ui64;
- return 0;
-}
#endif
#if defined(HAVE_SYS_TIHDR_H) && defined(T_OPTMGMT_ACK)
@@ -286,126 +276,6 @@ static void *read_mib_entry( int fd, int level, int name, int *len )
}
#endif /* HAVE_SYS_TIHDR_H && T_OPTMGMT_ACK */
-DWORD getInterfaceStatsByName(const char *name, PMIB_IFROW entry)
-{
- DWORD ret = ERROR_NOT_SUPPORTED;
-
- if (!name || !entry) return ERROR_INVALID_PARAMETER;
-
-#ifdef __linux__
- {
- FILE *fp;
-
- if ((fp = fopen("/proc/net/dev", "r")))
- {
- DWORD skip;
- char buf[512], *ptr;
- int nameLen = strlen(name);
-
- while ((ptr = fgets(buf, sizeof(buf), fp)))
- {
- while (*ptr && isspace(*ptr)) ptr++;
- if (_strnicmp(ptr, name, nameLen) == 0 && *(ptr + nameLen) == ':')
- {
- ptr += nameLen + 1;
- sscanf( ptr, "%u %u %u %u %u %u %u %u %u %u %u %u",
- &entry->dwInOctets, &entry->dwInUcastPkts,
- &entry->dwInErrors, &entry->dwInDiscards,
- &skip, &skip, &skip,
- &entry->dwInNUcastPkts, &entry->dwOutOctets,
- &entry->dwOutUcastPkts, &entry->dwOutErrors,
- &entry->dwOutDiscards );
- break;
- }
- }
- fclose(fp);
- ret = NO_ERROR;
- }
- }
-#elif defined(HAVE_LIBKSTAT)
- {
- kstat_ctl_t *kc;
- kstat_t *ksp;
-
- if ((kc = kstat_open()) &&
- (ksp = kstat_lookup( kc, NULL, -1, (char *)name )) &&
- kstat_read( kc, ksp, NULL ) != -1 &&
- ksp->ks_type == KSTAT_TYPE_NAMED)
- {
- entry->dwMtu = 1500; /* FIXME */
- entry->dwSpeed = min( kstat_get_ui64( ksp, "ifspeed" ), ~0u );
- entry->dwInOctets = kstat_get_ui32( ksp, "rbytes" );
- entry->dwInNUcastPkts = kstat_get_ui32( ksp, "multircv" );
- entry->dwInNUcastPkts += kstat_get_ui32( ksp, "brdcstrcv" );
- entry->dwInUcastPkts = kstat_get_ui32( ksp, "ipackets" ) - entry->dwInNUcastPkts;
- entry->dwInDiscards = kstat_get_ui32( ksp, "norcvbuf" );
- entry->dwInErrors = kstat_get_ui32( ksp, "ierrors" );
- entry->dwInUnknownProtos = kstat_get_ui32( ksp, "unknowns" );
- entry->dwOutOctets = kstat_get_ui32( ksp, "obytes" );
- entry->dwOutNUcastPkts = kstat_get_ui32( ksp, "multixmt" );
- entry->dwOutNUcastPkts += kstat_get_ui32( ksp, "brdcstxmt" );
- entry->dwOutUcastPkts = kstat_get_ui32( ksp, "opackets" ) - entry->dwOutNUcastPkts;
- entry->dwOutDiscards = 0; /* FIXME */
- entry->dwOutErrors = kstat_get_ui32( ksp, "oerrors" );
- entry->dwOutQLen = kstat_get_ui32( ksp, "noxmtbuf" );
- ret = NO_ERROR;
- }
- if (kc) kstat_close( kc );
- }
-#elif defined(HAVE_SYS_SYSCTL_H) && defined(NET_RT_IFLIST)
- {
- int mib[] = {CTL_NET, PF_ROUTE, 0, AF_INET, NET_RT_IFLIST, if_nametoindex(name)};
- size_t needed;
- char *buf = NULL, *end;
- struct if_msghdr *ifm;
- struct if_data ifdata;
-
- if(sysctl(mib, ARRAY_SIZE(mib), NULL, &needed, NULL, 0) == -1)
- {
- ERR ("failed to get size of iflist\n");
- goto done;
- }
- buf = HeapAlloc (GetProcessHeap (), 0, needed);
- if (!buf)
- {
- ret = ERROR_OUTOFMEMORY;
- goto done;
- }
- if(sysctl(mib, ARRAY_SIZE(mib), buf, &needed, NULL, 0) == -1)
- {
- ERR ("failed to get iflist\n");
- goto done;
- }
- for ( end = buf + needed; buf < end; buf += ifm->ifm_msglen)
- {
- ifm = (struct if_msghdr *) buf;
- if(ifm->ifm_type == RTM_IFINFO)
- {
- ifdata = ifm->ifm_data;
- entry->dwMtu = ifdata.ifi_mtu;
- entry->dwSpeed = ifdata.ifi_baudrate;
- entry->dwInOctets = ifdata.ifi_ibytes;
- entry->dwInErrors = ifdata.ifi_ierrors;
- entry->dwInDiscards = ifdata.ifi_iqdrops;
- entry->dwInUcastPkts = ifdata.ifi_ipackets;
- entry->dwInNUcastPkts = ifdata.ifi_imcasts;
- entry->dwOutOctets = ifdata.ifi_obytes;
- entry->dwOutUcastPkts = ifdata.ifi_opackets;
- entry->dwOutErrors = ifdata.ifi_oerrors;
- ret = NO_ERROR;
- break;
- }
- }
- done:
- HeapFree (GetProcessHeap (), 0, buf);
- }
-#else
- FIXME( "unimplemented\n" );
-#endif
- return ret;
-}
-
-
/******************************************************************
* GetIcmpStatistics (IPHLPAPI.@)
*
diff --git a/dlls/iphlpapi/ipstats.h b/dlls/iphlpapi/ipstats.h
index 68bcb9c9ad8..bb0c77758f7 100644
--- a/dlls/iphlpapi/ipstats.h
+++ b/dlls/iphlpapi/ipstats.h
@@ -27,11 +27,6 @@
#include "winbase.h"
#include "iprtrmib.h"
-/* Fills in entry's interface stats, using name to find them.
- * Returns ERROR_INVALID_PARAMETER if name or entry is NULL, NO_ERROR otherwise.
- */
-DWORD getInterfaceStatsByName(const char *name, PMIB_IFROW entry) DECLSPEC_HIDDEN;
-
DWORD build_tcp_table(TCP_TABLE_CLASS, void **, BOOL, HANDLE, DWORD, DWORD *) DECLSPEC_HIDDEN;
DWORD build_tcp6_table(TCP_TABLE_CLASS, void **, BOOL, HANDLE, DWORD, DWORD *) DECLSPEC_HIDDEN;
DWORD build_udp_table(UDP_TABLE_CLASS, void **, BOOL, HANDLE, DWORD, DWORD *) DECLSPEC_HIDDEN;
--
2.23.0
More information about the wine-devel
mailing list