icmpstat
icmpstat.icps_checksum++;
extern struct icmpstat icmpstat; /* icmp statistics */
icmpstat.icps_noroute++;
icmpstat.icps_error++;
icmpstat.icps_oldicmp++;
icmpstat.icps_outhist[type]++;
icmpstat.icps_tooshort++;
icmpstat.icps_tooshort++;
icmpstat.icps_checksum++;
icmpstat.icps_inhist[icp->icmp_type]++;
struct icmpstat icmpstat;
icmpstat.icps_badlen++;
&icmpstat, icmpstat, "ICMP statistics");
icmpstat.icps_badcode++;
icmpstat.icps_bmcastecho++;
icmpstat.icps_bmcasttstamp++;
icmpstat.icps_badlen++;
icmpstat.icps_reflect++;
icmpstat.icps_outhist[icp->icmp_type]++;
icmpstat.icps_badlen++;
icmpstat.icps_badaddr++;
struct icmpstat icmpstat, zerostat;
len = sizeof icmpstat;
if (sysctl(mib, 4, &icmpstat, &len,
#define p(f, m) if (icmpstat.f || sflag <= 1) \
printf(m, icmpstat.f, plural(icmpstat.f))
#define p1a(f, m) if (icmpstat.f || sflag <= 1) \
printf(m, icmpstat.f)
#define p2(f, m) if (icmpstat.f || sflag <= 1) \
printf(m, icmpstat.f, plurales(icmpstat.f))
if (icmpstat.icps_outhist[i] != 0) {
icmpstat.icps_outhist[i]);
if (icmpstat.icps_inhist[i] != 0) {
icmpstat.icps_inhist[i]);
domode(struct icmpstat *ret)
const struct icmpstat *sub;
*ret = icmpstat;
#define DO(stat) ret->stat = (double)(icmpstat.stat - sub->stat) / divisor
struct icmpstat stats;
if (len > sizeof icmpstat) {
oldstat = icmpstat;
len = sizeof icmpstat;
if (sysctl(name, 4, &icmpstat, &len, 0, 0) < 0)
static struct icmpstat icmpstat, initstat, oldstat;