tcpstat
struct tcpstat tcpstat;
ii = sizeof(tcpstat);
&tcpstat, &ii, NULL, 0) == -1, tcpstat);
struct tcpstat stats;
len = sizeof(struct tcpstat);
if (len != sizeof(struct tcpstat))
errx(1, "len not %zu: %zu", sizeof(struct tcpstat), len);
struct tcpstat tcpstat;
#define ASSIGN(field) do { tcpstat.field = counters[i++]; } while (0)
memset(&tcpstat, 0, sizeof tcpstat);
tcpstat.tcps_sc_hash_size = set->scs_size;
tcpstat.tcps_sc_entry_count = set->scs_count;
tcpstat.tcps_sc_entry_limit = atomic_load_int(&tcp_syn_cache_limit);
tcpstat.tcps_sc_bucket_maxlen = 0;
if (tcpstat.tcps_sc_bucket_maxlen <
tcpstat.tcps_sc_bucket_maxlen =
tcpstat.tcps_sc_bucket_limit = atomic_load_int(&tcp_syn_bucket_limit);
tcpstat.tcps_sc_uses_left = set->scs_use;
&tcpstat, sizeof(tcpstat)));
struct tcpstat tcpstat;
size_t len = sizeof(tcpstat);
&tcpstat, &len, NULL, 0) == -1) {
#define p(f, m) if (tcpstat.f || sflag <= 1) \
printf(m, tcpstat.f, plural(tcpstat.f))
#define p1(f, m) if (tcpstat.f || sflag <= 1) \
printf(m, tcpstat.f)
#define p2(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \
printf(m, tcpstat.f1, plural(tcpstat.f1), tcpstat.f2, plural(tcpstat.f2))
#define p2a(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \
printf(m, tcpstat.f1, plural(tcpstat.f1), tcpstat.f2)
#define p2b(f1, f2, m) if (tcpstat.f1 || sflag <= 1) \
printf(m, tcpstat.f1, tcpstat.f2)
#define p2bys(f1, f2, m) if (tcpstat.f1 || sflag <= 1) \
printf(m, tcpstat.f1, pluralys(tcpstat.f1), tcpstat.f2)
#define pes(f, m) if (tcpstat.f || sflag <= 1) \
printf(m, tcpstat.f, plurales(tcpstat.f))
#define pys(f, m) if (tcpstat.f || sflag <= 1) \
printf(m, tcpstat.f, pluralys(tcpstat.f))