DO
else if ((*p == DO) || (*p == DONT))
case DO:
ADD(DO);
case DO:
unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
case DO:
case DO:
case DO: cp = "DO"; goto common2;
DO(icps_error);
DO(icps_oldshort);
DO(icps_oldicmp);
DO(icps_outhist[i]);
DO(icps_badcode);
DO(icps_tooshort);
DO(icps_checksum);
DO(icps_badlen);
DO(icps_reflect);
DO(icps_inhist[i]);
DO(icps_bmcastecho);
DO(icps_bmcasttstamp);
DO(icps_badcode, 3, 0);
DO(icps_badlen, 4, 0);
DO(icps_checksum, 5, 0);
DO(icps_tooshort, 6, 0);
DO(icps_error, 3, 35);
DO(icps_oldshort, 4, 35);
DO(icps_oldicmp, 5, 35);
DO(icps_reflect, 6, 35);
DO(icps_bmcastecho, 7, 35);
DO(icps_bmcasttstamp, 8, 35);
#define DO2(type, row) DO(icps_inhist[type], row, 0); DO(icps_outhist[type], \
DO(icps_inhist[ICMP_ROUTERADVERT], 17, 0);
DO(icps_outhist[ICMP_ROUTERSOLICIT], 17, 35);
DO(icp6s_error);
DO(icp6s_tooshort);
DO(icp6s_canterror);
DO(icp6s_outhist[i]);
DO(icp6s_badcode);
DO(icp6s_tooshort);
DO(icp6s_checksum);
DO(icp6s_badlen);
DO(icp6s_reflect);
DO(icp6s_inhist[i]);
DO(icp6s_badcode, 3, 0);
DO(icp6s_badlen, 4, 0);
DO(icp6s_checksum, 5, 0);
DO(icp6s_tooshort, 6, 0);
DO(icp6s_error, 3, 35);
DO(icp6s_tooshort, 4, 35);
DO(icp6s_canterror, 5, 35);
DO(icp6s_reflect, 6, 35);
#define DO2(type, row) DO(icp6s_inhist[type], row, 0); DO(icp6s_outhist[type], \
DO(icp6s_inhist[ND_ROUTER_SOLICIT], 17, 0);
DO(icp6s_outhist[ND_ROUTER_ADVERT], 17, 35);
DO(i.ips_total);
DO(i.ips_badsum);
DO(i.ips_tooshort);
DO(i.ips_toosmall);
DO(i.ips_badhlen);
DO(i.ips_badlen);
DO(i.ips_fragments);
DO(i.ips_fragdropped);
DO(i.ips_fragtimeout);
DO(i.ips_forward);
DO(i.ips_cantforward);
DO(i.ips_redirectsent);
DO(i.ips_noproto);
DO(i.ips_delivered);
DO(i.ips_localout);
DO(i.ips_odropped);
DO(i.ips_reassembled);
DO(i.ips_fragmented);
DO(i.ips_ofragments);
DO(i.ips_cantfrag);
DO(i.ips_badoptions);
DO(i.ips_noroute);
DO(i.ips_badvers);
DO(i.ips_rawout);
DO(i.ips_toolong);
DO(i.ips_notmember);
DO(u.udps_ipackets);
DO(u.udps_hdrops);
DO(u.udps_badsum);
DO(u.udps_nosum);
DO(u.udps_badlen);
DO(u.udps_noport);
DO(u.udps_noportbcast);
DO(u.udps_fullsock);
DO(u.udps_opackets);
DO(i.ips_total, 2, 0);
DO(i.ips_badsum, 3, 0);
DO(i.ips_localout, 3, 35);
DO(i.ips_tooshort, 4, 0);
DO(i.ips_odropped, 4, 35);
DO(i.ips_toosmall, 5, 0);
DO(i.ips_ofragments, 5, 35);
DO(i.ips_badhlen, 6, 0);
DO(i.ips_cantfrag, 6, 35);
DO(i.ips_badlen, 7, 0);
DO(i.ips_noroute, 7, 35);
DO(i.ips_badvers, 8, 0);
DO(i.ips_rawout, 8, 35);
DO(i.ips_toolong, 9, 0);
DO(i.ips_fragments, 10, 0);
DO(i.ips_fragdropped, 11, 0);
DO(u.udps_ipackets, 11, 35);
DO(i.ips_fragtimeout, 12, 0);
DO(u.udps_hdrops, 12, 35);
DO(i.ips_reassembled, 13, 0);
DO(u.udps_badsum, 13, 35);
DO(i.ips_forward, 14, 0);
DO(u.udps_nosum, 14, 35);
DO(i.ips_cantforward, 15, 0);
DO(u.udps_badlen, 15, 35);
DO(i.ips_redirectsent, 16, 0);
DO(u.udps_noport, 16, 35);
DO(i.ips_badoptions, 17, 0);
DO(u.udps_noportbcast, 17, 35);
DO(i.ips_notmember, 18, 0);
DO(u.udps_fullsock, 18, 35);
DO(i.ips_delivered, 19, 0);
DO(u.udps_opackets, 19, 35);
DO(ip6s_total);
DO(ip6s_tooshort);
DO(ip6s_toosmall);
DO(ip6s_fragments);
DO(ip6s_fragdropped);
DO(ip6s_fragtimeout);
DO(ip6s_fragoverflow);
DO(ip6s_forward);
DO(ip6s_cantforward);
DO(ip6s_redirectsent);
DO(ip6s_delivered);
DO(ip6s_localout);
DO(ip6s_odropped);
DO(ip6s_reassembled);
DO(ip6s_fragmented);
DO(ip6s_ofragments);
DO(ip6s_cantfrag);
DO(ip6s_badoptions);
DO(ip6s_noroute);
DO(ip6s_badvers);
DO(ip6s_rawout);
DO(ip6s_notmember);
DO(ip6s_nxthist[i]);
DO(ip6s_badscope);
DO(ip6s_sources_none);
DO(ip6s_total, 2, 0);
DO(ip6s_tooshort, 3, 0);
DO(ip6s_localout, 3, 35);
DO(ip6s_toosmall, 4, 0);
DO(ip6s_odropped, 4, 35);
DO(ip6s_badvers, 5, 0);
DO(ip6s_ofragments, 5, 35);
DO(ip6s_fragments, 6, 0);
DO(ip6s_cantfrag, 6, 35);
DO(ip6s_fragdropped, 7, 0);
DO(ip6s_noroute, 7, 35);
DO(ip6s_fragtimeout, 8, 0);
DO(ip6s_rawout, 8, 35);
DO(ip6s_fragoverflow, 9, 0);
DO(ip6s_reassembled, 10, 0);
DO(ip6s_forward, 11, 0);
DO(ip6s_nxthist[IPPROTO_DSTOPTS], 11, 35);
DO(ip6s_cantforward, 12, 0);
DO(ip6s_nxthist[IPPROTO_HOPOPTS], 12, 35);
DO(ip6s_redirectsent, 13, 0);
DO(ip6s_nxthist[IPPROTO_IPV4], 13, 35);
DO(ip6s_badoptions, 14, 0);
DO(ip6s_nxthist[IPPROTO_TCP], 14, 35);
DO(ip6s_notmember, 15, 0);
DO(ip6s_nxthist[IPPROTO_UDP], 15, 35);
DO(ip6s_delivered, 16, 0);
DO(ip6s_nxthist[IPPROTO_IPV6], 16, 35);
DO(ip6s_badscope, 17, 0);
DO(ip6s_nxthist[IPPROTO_ROUTING], 17, 35);
DO(ip6s_sources_none, 18, 0);
DO(ip6s_nxthist[IPPROTO_FRAGMENT], 18, 35);
DO(ip6s_nxthist[IPPROTO_ICMPV6], 19, 35);
DO(ip6s_nxthist[IPPROTO_NONE], 20, 35);
DO(tcps_connattempt);
DO(tcps_accepts);
DO(tcps_connects);
DO(tcps_drops);
DO(tcps_conndrops);
DO(tcps_closed);
DO(tcps_segstimed);
DO(tcps_rttupdated);
DO(tcps_delack);
DO(tcps_timeoutdrop);
DO(tcps_rexmttimeo);
DO(tcps_persisttimeo);
DO(tcps_keeptimeo);
DO(tcps_keepprobe);
DO(tcps_keepdrops);
DO(tcps_sndtotal);
DO(tcps_sndpack);
DO(tcps_sndbyte);
DO(tcps_sndrexmitpack);
DO(tcps_sndrexmitbyte);
DO(tcps_sndacks);
DO(tcps_sndprobe);
DO(tcps_sndurg);
DO(tcps_sndwinup);
DO(tcps_sndctrl);
DO(tcps_rcvtotal);
DO(tcps_rcvpack);
DO(tcps_rcvbyte);
DO(tcps_rcvbadsum);
DO(tcps_rcvbadoff);
DO(tcps_rcvshort);
DO(tcps_rcvduppack);
DO(tcps_rcvdupbyte);
DO(tcps_rcvpartduppack);
DO(tcps_rcvpartdupbyte);
DO(tcps_rcvoopack);
DO(tcps_rcvoobyte);
DO(tcps_rcvpackafterwin);
DO(tcps_rcvbyteafterwin);
DO(tcps_rcvafterclose);
DO(tcps_rcvwinprobe);
DO(tcps_rcvdupack);
DO(tcps_rcvacktoomuch);
DO(tcps_rcvackpack);
DO(tcps_rcvackbyte);
DO(tcps_rcvwinupd);
DO(tcps_pawsdrop);
DO(tcps_predack);
DO(tcps_preddat);
DO(tcps_pcbcachemiss);
DO(tcps_cachedrtt);
DO(tcps_cachedrttvar);
DO(tcps_cachedssthresh);
DO(tcps_usedrtt);
DO(tcps_usedrttvar);
DO(tcps_usedssthresh);
DO(tcps_persistdrop);
DO(tcps_badsyn);
DO(tcps_mturesent);
DO(tcps_listendrop);
#define L(row, stat) DO(stat, row, 0)
#define R(row, stat) DO(stat, row, 35)
case DO:
printoption("RCVD", DO, c);
NET2ADD(IAC, DO);
printoption("SENT", DO, c);
case DO:
NET2ADD(IAC, DO);
printoption("SENT", DO, TELOPT_TM);
case DO:
(cmd == DO) ? "DO" : (cmd == DONT) ? "DONT" : 0;
case DO:
case DO: cp = "DO"; goto common2;
char bin[] = {IAC, DO, TELOPT_BINARY};
DO(tzh_magic);
DO(tzh_version);
DO(tzh_reserved);
DO(tzh_ttisgmtcnt);
DO(tzh_ttisstdcnt);
DO(tzh_leapcnt);
DO(tzh_timecnt);
DO(tzh_typecnt);
DO(tzh_charcnt);