117680Spst/* 298527Sfenner * Copyright (c) 1988-2002 317680Spst * The Regents of the University of California. All rights reserved. 417680Spst * 517680Spst * Redistribution and use in source and binary forms, with or without 617680Spst * modification, are permitted provided that: (1) source code distributions 717680Spst * retain the above copyright notice and this paragraph in its entirety, (2) 817680Spst * distributions including binary code include the above copyright notice and 917680Spst * this paragraph in its entirety in the documentation or other materials 1017680Spst * provided with the distribution, and (3) all advertising materials mentioning 1117680Spst * features or use of this software display the following acknowledgement: 1217680Spst * ``This product includes software developed by the University of California, 1317680Spst * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 1417680Spst * the University nor the names of its contributors may be used to endorse 1517680Spst * or promote products derived from this software without specific prior 1617680Spst * written permission. 1717680Spst * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 1817680Spst * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 1917680Spst * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 2017680Spst * 21214478Srpaulo * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.285 2008-08-16 11:36:20 hannes Exp $ (LBL) 2217680Spst */ 2317680Spst 2417680Spst#ifndef tcpdump_interface_h 2517680Spst#define tcpdump_interface_h 2617680Spst 2717680Spst#ifdef HAVE_OS_PROTO_H 2817680Spst#include "os-proto.h" 2917680Spst#endif 3017680Spst 3175118Sfenner/* snprintf et al */ 3275118Sfenner 3375118Sfenner#include <stdarg.h> 3475118Sfenner 35147904Ssam#if HAVE_STDINT_H 36147904Ssam#include <stdint.h> 37147904Ssam#endif 38147904Ssam 3975118Sfenner#if !defined(HAVE_SNPRINTF) 4098527Sfennerint snprintf(char *, size_t, const char *, ...) 4198527Sfenner __attribute__((format(printf, 3, 4))); 4275118Sfenner#endif 4375118Sfenner 4475118Sfenner#if !defined(HAVE_VSNPRINTF) 4598527Sfennerint vsnprintf(char *, size_t, const char *, va_list) 4698527Sfenner __attribute__((format(printf, 3, 0))); 4775118Sfenner#endif 4875118Sfenner 4975118Sfenner#ifndef HAVE_STRLCAT 5098527Sfennerextern size_t strlcat(char *, const char *, size_t); 5175118Sfenner#endif 5275118Sfenner#ifndef HAVE_STRLCPY 5398527Sfennerextern size_t strlcpy(char *, const char *, size_t); 5475118Sfenner#endif 5575118Sfenner 5698527Sfenner#ifndef HAVE_STRDUP 5798527Sfennerextern char *strdup(const char *); 5898527Sfenner#endif 5998527Sfenner 60127675Sbms#ifndef HAVE_STRSEP 61127675Sbmsextern char *strsep(char **, const char *); 62127675Sbms#endif 63127675Sbms 6417680Spst#define PT_VAT 1 /* Visual Audio Tool */ 6517680Spst#define PT_WB 2 /* distributed White Board */ 6617680Spst#define PT_RPC 3 /* Remote Procedure Call */ 6717680Spst#define PT_RTP 4 /* Real-Time Applications protocol */ 6817680Spst#define PT_RTCP 5 /* Real-Time Applications control protocol */ 6956896Sfenner#define PT_SNMP 6 /* Simple Network Management Protocol */ 7075118Sfenner#define PT_CNFP 7 /* Cisco NetFlow protocol */ 71127675Sbms#define PT_TFTP 8 /* trivial file transfer protocol */ 72127675Sbms#define PT_AODV 9 /* Ad-hoc On-demand Distance Vector Protocol */ 73252283Sdelphij#define PT_CARP 10 /* Common Address Redundancy Protocol */ 74252283Sdelphij#define PT_RADIUS 11 /* RADIUS authentication Protocol */ 75252283Sdelphij#define PT_ZMTP1 12 /* ZeroMQ Message Transport Protocol 1.0 */ 76252283Sdelphij#define PT_VXLAN 13 /* Virtual eXtensible Local Area Network */ 7717680Spst 7826180Sfenner#ifndef min 7926180Sfenner#define min(a,b) ((a)>(b)?(b):(a)) 8026180Sfenner#endif 8126180Sfenner#ifndef max 8226180Sfenner#define max(a,b) ((b)>(a)?(b):(a)) 8326180Sfenner#endif 8426180Sfenner 8526180Sfenner#define ESRC(ep) ((ep)->ether_shost) 8626180Sfenner#define EDST(ep) ((ep)->ether_dhost) 8726180Sfenner 8826180Sfenner#ifndef NTOHL 8926180Sfenner#define NTOHL(x) (x) = ntohl(x) 9026180Sfenner#define NTOHS(x) (x) = ntohs(x) 9126180Sfenner#define HTONL(x) (x) = htonl(x) 9226180Sfenner#define HTONS(x) (x) = htons(x) 9326180Sfenner#endif 9426180Sfenner#endif 9526180Sfenner 96172686Smlaier#ifndef MIN 97172686Smlaier#define MIN(a,b) ((a)<(b)?(a):(b)) 98172686Smlaier#endif 99172686Smlaier 10017680Spstextern char *program_name; /* used to generate self-identifying messages */ 10117680Spst 10217680Spstextern int32_t thiszone; /* seconds offset from gmt to local time */ 10317680Spst 10498348Sfenner/* 10598348Sfenner * True if "l" bytes of "var" were captured. 10698348Sfenner * 10798348Sfenner * The "snapend - (l) <= snapend" checks to make sure "l" isn't so large 10898348Sfenner * that "snapend - (l)" underflows. 10998348Sfenner * 11098348Sfenner * The check is for <= rather than < because "l" might be 0. 11198348Sfenner */ 11298348Sfenner#define TTEST2(var, l) (snapend - (l) <= snapend && \ 11398348Sfenner (const u_char *)&(var) <= snapend - (l)) 11426180Sfenner 11526180Sfenner/* True if "var" was captured */ 11626180Sfenner#define TTEST(var) TTEST2(var, sizeof(var)) 11726180Sfenner 11826180Sfenner/* Bail if "l" bytes of "var" were not captured */ 11926180Sfenner#define TCHECK2(var, l) if (!TTEST2(var, l)) goto trunc 12026180Sfenner 12126180Sfenner/* Bail if "var" was not captured */ 12217680Spst#define TCHECK(var) TCHECK2(var, sizeof(var)) 12317680Spst 12417680Spstextern void ts_print(const struct timeval *); 12556896Sfennerextern void relts_print(int); 12617680Spst 12717680Spstextern int fn_print(const u_char *, const u_char *); 12817680Spstextern int fn_printn(const u_char *, u_int, const u_char *); 129147904Ssamextern int fn_printzp(const u_char *, u_int, const u_char *); 130127675Sbmsextern int mask2plen(u_int32_t); 13198527Sfennerextern const char *tok2strary_internal(const char **, int, const char *, int); 13298527Sfenner#define tok2strary(a,f,i) tok2strary_internal(a, sizeof(a)/sizeof(a[0]),f,i) 13317680Spst 13498527Sfennerextern const char *dnaddr_string(u_short); 13517680Spst 13675118Sfennerextern void error(const char *, ...) 13775118Sfenner __attribute__((noreturn, format (printf, 1, 2))); 13817680Spstextern void warning(const char *, ...) __attribute__ ((format (printf, 1, 2))); 13917680Spst 14017680Spstextern char *read_infile(char *); 14117680Spstextern char *copy_argv(char **); 14217680Spst 14375118Sfennerextern void safeputchar(int); 144172686Smlaierextern void safeputs(const char *, int); 14575118Sfenner 146146778Ssamextern const char *isonsap_string(const u_char *, register u_int); 14798527Sfennerextern const char *protoid_string(const u_char *); 14898527Sfennerextern const char *ipxsap_string(u_short); 14998527Sfennerextern const char *dnname_string(u_short); 15098527Sfennerextern const char *dnnum_string(u_short); 15117680Spst 152190207Srpaulo/* checksum routines */ 153190207Srpauloextern void init_checksum(void); 154190207Srpauloextern u_int16_t verify_crc10_cksum(u_int16_t, const u_char *, int); 155190207Srpauloextern u_int16_t create_osi_cksum(const u_int8_t *, int, int); 156190207Srpaulo 15717680Spst/* The printer routines. */ 15817680Spst 15998527Sfenner#include <pcap.h> 16017680Spst 161127675Sbmsextern int print_unknown_data(const u_char *, const char *,int); 162162021Ssamextern void ascii_print(const u_char *, u_int); 163162021Ssamextern void hex_and_ascii_print_with_offset(const char *, const u_char *, 164162021Ssam u_int, u_int); 165162021Ssamextern void hex_and_ascii_print(const char *, const u_char *, u_int); 166146778Ssamextern void hex_print_with_offset(const char *, const u_char *, u_int, u_int); 167162021Ssamextern void hex_print(const char *, const u_char *, u_int); 168127675Sbmsextern void telnet_print(const u_char *, u_int); 16926180Sfennerextern int llc_print(const u_char *, u_int, u_int, const u_char *, 17075118Sfenner const u_char *, u_short *); 171214478Srpauloextern int snap_print(const u_char *, u_int, u_int, u_int); 17226180Sfennerextern void aarp_print(const u_char *, u_int); 173127675Sbmsextern void aodv_print(const u_char *, u_int, int); 17417680Spstextern void atalk_print(const u_char *, u_int); 175127675Sbmsextern void atm_print(u_int, u_int, u_int, const u_char *, u_int, u_int); 176127675Sbmsextern u_int atm_if_print(const struct pcap_pkthdr *, const u_char *); 177127675Sbmsextern u_int sunatm_if_print(const struct pcap_pkthdr *, const u_char *); 178147904Ssamextern int oam_print(const u_char *, u_int, u_int); 179127675Sbmsextern void bootp_print(const u_char *, u_int); 18056896Sfennerextern void bgp_print(const u_char *, int); 18198527Sfennerextern void beep_print(const u_char *, u_int); 182127675Sbmsextern void cnfp_print(const u_char *, const u_char *); 18317680Spstextern void decnet_print(const u_char *, u_int, u_int); 18426180Sfennerextern void default_print(const u_char *, u_int); 18526180Sfennerextern void dvmrp_print(const u_char *, u_int); 186146778Ssamextern void egp_print(const u_char *, u_int); 187127675Sbmsextern u_int enc_if_print(const struct pcap_pkthdr *, const u_char *); 188127675Sbmsextern u_int pflog_if_print(const struct pcap_pkthdr *, const u_char *); 189252283Sdelphijextern void pfsync_ip_print(const u_char *, u_int); 190127675Sbmsextern u_int arcnet_if_print(const struct pcap_pkthdr *, const u_char *); 191127675Sbmsextern u_int arcnet_linux_if_print(const struct pcap_pkthdr *, const u_char *); 192127675Sbmsextern u_int token_print(const u_char *, u_int, u_int); 193127675Sbmsextern u_int token_if_print(const struct pcap_pkthdr *, const u_char *); 194127675Sbmsextern void fddi_print(const u_char *, u_int, u_int); 195127675Sbmsextern u_int fddi_if_print(const struct pcap_pkthdr *, const u_char *); 196127675Sbmsextern u_int fr_if_print(const struct pcap_pkthdr *, const u_char *); 197172686Smlaierextern u_int mfr_if_print(const struct pcap_pkthdr *, const u_char *); 198147904Ssamextern u_int fr_print(register const u_char *, u_int); 199162021Ssamextern u_int mfr_print(register const u_char *, u_int); 200190207Srpauloextern char *q922_string(const u_char *); 201127675Sbmsextern u_int ieee802_11_if_print(const struct pcap_pkthdr *, const u_char *); 202127675Sbmsextern u_int ieee802_11_radio_if_print(const struct pcap_pkthdr *, 20398527Sfenner const u_char *); 204127675Sbmsextern u_int ap1394_if_print(const struct pcap_pkthdr *, const u_char *); 205190207Srpauloextern u_int ieee802_11_radio_avs_if_print(const struct pcap_pkthdr *, 206190207Srpaulo const u_char *); 20726180Sfennerextern void gre_print(const u_char *, u_int); 208127675Sbmsextern void icmp_print(const u_char *, u_int, const u_char *, int); 20998527Sfennerextern void igmp_print(const u_char *, u_int); 21026180Sfennerextern void igrp_print(const u_char *, u_int, const u_char *); 21175118Sfennerextern void ipN_print(const u_char *, u_int); 212127675Sbmsextern u_int ipfc_if_print(const struct pcap_pkthdr *, const u_char *); 21317680Spstextern void ipx_print(const u_char *, u_int); 214127675Sbmsextern void isoclns_print(const u_char *, u_int, u_int); 215127675Sbmsextern void krb_print(const u_char *); 216127675Sbmsextern u_int llap_print(const u_char *, u_int); 217127675Sbmsextern u_int ltalk_if_print(const struct pcap_pkthdr *, const u_char *); 21898527Sfennerextern void msdp_print(const unsigned char *, u_int); 21917680Spstextern void nfsreply_print(const u_char *, u_int, const u_char *); 22017680Spstextern void nfsreq_print(const u_char *, u_int, const u_char *); 221127675Sbmsextern void ns_print(const u_char *, u_int, int); 222252283Sdelphijextern const u_char * ns_nprint (register const u_char *, register const u_char *); 22317680Spstextern void ntp_print(const u_char *, u_int); 224127675Sbmsextern u_int null_if_print(const struct pcap_pkthdr *, const u_char *); 22517680Spstextern void ospf_print(const u_char *, u_int, const u_char *); 226214478Srpauloextern void olsr_print (const u_char *, u_int, int); 22756896Sfennerextern void pimv1_print(const u_char *, u_int); 22856896Sfennerextern void cisco_autorp_print(const u_char *, u_int); 229127675Sbmsextern void rsvp_print(const u_char *, u_int); 230127675Sbmsextern void ldp_print(const u_char *, u_int); 231190207Srpauloextern void lldp_print(const u_char *, u_int); 232236192Sdelphijextern void rpki_rtr_print(const u_char *, u_int); 233146778Ssamextern void lmp_print(const u_char *, u_int); 234146778Ssamextern void lspping_print(const u_char *, u_int); 235190207Srpauloextern void lwapp_control_print(const u_char *, u_int, int); 236190207Srpauloextern void lwapp_data_print(const u_char *, u_int); 237146778Ssamextern void eigrp_print(const u_char *, u_int); 23856896Sfennerextern void mobile_print(const u_char *, u_int); 239214478Srpauloextern void pim_print(const u_char *, u_int, u_int); 240127675Sbmsextern u_int pppoe_print(const u_char *, u_int); 241127675Sbmsextern u_int ppp_print(register const u_char *, u_int); 242127675Sbmsextern u_int ppp_if_print(const struct pcap_pkthdr *, const u_char *); 243127675Sbmsextern u_int ppp_hdlc_if_print(const struct pcap_pkthdr *, const u_char *); 244127675Sbmsextern u_int ppp_bsdos_if_print(const struct pcap_pkthdr *, const u_char *); 245127675Sbmsextern u_int pppoe_if_print(const struct pcap_pkthdr *, const u_char *); 246127675Sbmsextern u_int prism_if_print(const struct pcap_pkthdr *, const u_char *); 247146778Ssamextern void q933_print(const u_char *, u_int); 248127675Sbmsextern int vjc_print(register const char *, u_short); 249190207Srpauloextern void vqp_print(register const u_char *, register u_int); 250127675Sbmsextern u_int raw_if_print(const struct pcap_pkthdr *, const u_char *); 25117680Spstextern void rip_print(const u_char *, u_int); 252127675Sbmsextern u_int sl_if_print(const struct pcap_pkthdr *, const u_char *); 253127675Sbmsextern void lane_print(const u_char *, u_int, u_int); 254127675Sbmsextern u_int lane_if_print(const struct pcap_pkthdr *, const u_char *); 255127675Sbmsextern u_int cip_if_print(const struct pcap_pkthdr *, const u_char *); 256127675Sbmsextern u_int sl_bsdos_if_print(const struct pcap_pkthdr *, const u_char *); 257127675Sbmsextern u_int chdlc_if_print(const struct pcap_pkthdr *, const u_char *); 258162021Ssamextern u_int chdlc_print(register const u_char *, u_int); 259146778Ssamextern u_int juniper_atm1_print(const struct pcap_pkthdr *, const u_char *); 260146778Ssamextern u_int juniper_atm2_print(const struct pcap_pkthdr *, const u_char *); 261147904Ssamextern u_int juniper_mfr_print(const struct pcap_pkthdr *, register const u_char *); 262146778Ssamextern u_int juniper_mlfr_print(const struct pcap_pkthdr *, const u_char *); 263146778Ssamextern u_int juniper_mlppp_print(const struct pcap_pkthdr *, const u_char *); 264147904Ssamextern u_int juniper_pppoe_print(const struct pcap_pkthdr *, const u_char *); 265147904Ssamextern u_int juniper_pppoe_atm_print(const struct pcap_pkthdr *, const u_char *); 266147904Ssamextern u_int juniper_ggsn_print(const struct pcap_pkthdr *, const u_char *); 267147904Ssamextern u_int juniper_es_print(const struct pcap_pkthdr *, const u_char *); 268147904Ssamextern u_int juniper_monitor_print(const struct pcap_pkthdr *, const u_char *); 269147904Ssamextern u_int juniper_services_print(const struct pcap_pkthdr *, const u_char *); 270162021Ssamextern u_int juniper_ether_print(const struct pcap_pkthdr *, const u_char *); 271162021Ssamextern u_int juniper_ppp_print(const struct pcap_pkthdr *, const u_char *); 272162021Ssamextern u_int juniper_frelay_print(const struct pcap_pkthdr *, const u_char *); 273162021Ssamextern u_int juniper_chdlc_print(const struct pcap_pkthdr *, const u_char *); 274127675Sbmsextern u_int sll_if_print(const struct pcap_pkthdr *, const u_char *); 27517680Spstextern void snmp_print(const u_char *, u_int); 27617680Spstextern void sunrpcrequest_print(const u_char *, u_int, const u_char *); 277146778Ssamextern u_int symantec_if_print(const struct pcap_pkthdr *, const u_char *); 27875118Sfennerextern void tcp_print(const u_char *, u_int, const u_char *, int); 27917680Spstextern void tftp_print(const u_char *, u_int); 280127675Sbmsextern void timed_print(const u_char *); 281190207Srpauloextern void udld_print(const u_char *, u_int); 28275118Sfennerextern void udp_print(const u_char *, u_int, const u_char *, int); 283190207Srpauloextern void vtp_print(const u_char *, u_int); 28417680Spstextern void wb_print(const void *, u_int); 285127675Sbmsextern int ah_print(register const u_char *); 286127675Sbmsextern int ipcomp_print(register const u_char *, int *); 28756896Sfennerextern void rx_print(register const u_char *, int, int, int, u_char *); 28898527Sfennerextern void netbeui_print(u_short, const u_char *, int); 28998527Sfennerextern void ipx_netbios_print(const u_char *, u_int); 29056896Sfennerextern void nbt_tcp_print(const u_char *, int); 29198527Sfennerextern void nbt_udp137_print(const u_char *, int); 29298527Sfennerextern void nbt_udp138_print(const u_char *, int); 293190207Srpauloextern void smb_tcp_print(const u_char *, int); 29456896Sfennerextern char *smb_errstr(int, int); 295146778Ssamextern const char *nt_errstr(u_int32_t); 29656896Sfennerextern void print_data(const unsigned char *, int); 29756896Sfennerextern void l2tp_print(const u_char *, u_int); 29898527Sfennerextern void vrrp_print(const u_char *, u_int, int); 299236192Sdelphijextern void carp_print(const u_char *, u_int, int); 300162021Ssamextern void slow_print(const u_char *, u_int); 301190207Srpauloextern void sflow_print(const u_char *, u_int); 302190207Srpauloextern void mpcp_print(const u_char *, u_int); 303190207Srpauloextern void cfm_print(const u_char *, u_int); 304147904Ssamextern void pgm_print(const u_char *, u_int, const u_char *); 305127675Sbmsextern void cdp_print(const u_char *, u_int, u_int); 306190207Srpauloextern void dtp_print(const u_char *, u_int); 30798527Sfennerextern void stp_print(const u_char *, u_int); 30875118Sfennerextern void radius_print(const u_char *, u_int); 30998527Sfennerextern void lwres_print(const u_char *, u_int); 310127675Sbmsextern void pptp_print(const u_char *); 311162021Ssamextern void dccp_print(const u_char *, const u_char *, u_int); 31298527Sfennerextern void sctp_print(const u_char *, const u_char *, u_int); 313214478Srpauloextern void forces_print(const u_char *, u_int); 31498527Sfennerextern void mpls_print(const u_char *, u_int); 315127675Sbmsextern void mpls_lsp_ping_print(const u_char *, u_int); 31698527Sfennerextern void zephyr_print(const u_char *, int); 317252283Sdelphijextern void zmtp1_print(const u_char *, u_int); 31898527Sfennerextern void hsrp_print(const u_char *, u_int); 319127675Sbmsextern void bfd_print(const u_char *, u_int, u_int); 320146778Ssamextern void sip_print(const u_char *, u_int); 321146778Ssamextern void syslog_print(const u_char *, u_int); 322190207Srpauloextern u_int bt_if_print(const struct pcap_pkthdr *, const u_char *); 323214478Srpauloextern u_int usb_linux_48_byte_print(const struct pcap_pkthdr *, const u_char *); 324214478Srpauloextern u_int usb_linux_64_byte_print(const struct pcap_pkthdr *, const u_char *); 325252283Sdelphijextern void vxlan_print(const u_char *, u_int); 326252283Sdelphijextern void otv_print(const u_char *, u_int); 32756896Sfenner 328236192Sdelphij 32956896Sfenner#ifdef INET6 33056896Sfennerextern void ip6_opt_print(const u_char *, int); 33156896Sfennerextern int hbhopt_print(const u_char *); 33256896Sfennerextern int dstopt_print(const u_char *); 33356896Sfennerextern int frag6_print(const u_char *, const u_char *); 334127675Sbmsextern int mobility_print(const u_char *, const u_char *); 33598527Sfennerextern void ripng_print(const u_char *, unsigned int); 33656896Sfennerextern int rt6_print(const u_char *, const u_char *); 33756896Sfennerextern void ospf6_print(const u_char *, u_int); 338127675Sbmsextern void dhcp6_print(const u_char *, u_int); 339236192Sdelphijextern void babel_print(const u_char *, u_int); 340214478Srpauloextern int mask62plen(const u_char *); 34156896Sfenner#endif /*INET6*/ 342236192Sdelphij 343236192Sdelphijstruct cksum_vec { 344236192Sdelphij const u_int8_t *ptr; 345236192Sdelphij int len; 346236192Sdelphij}; 347236192Sdelphijextern u_int16_t in_cksum(const struct cksum_vec *, int); 348127675Sbmsextern u_int16_t in_cksum_shouldbe(u_int16_t, u_int16_t); 34998527Sfenner 35098527Sfenner#ifndef HAVE_BPF_DUMP 35198527Sfennerstruct bpf_program; 35298527Sfenner 353190207Srpauloextern void bpf_dump(const struct bpf_program *, int); 354146778Ssam 35598527Sfenner#endif 356146778Ssam 357146778Ssam#include "netdissect.h" 358146778Ssam 359146778Ssam/* forward compatibility */ 360146778Ssam 361190207Srpaulo#ifndef NETDISSECT_REWORKED 362147904Ssamextern netdissect_options *gndo; 363146778Ssam 364214478Srpaulo#define bflag gndo->ndo_bflag 365146778Ssam#define eflag gndo->ndo_eflag 366146778Ssam#define fflag gndo->ndo_fflag 367236192Sdelphij#define jflag gndo->ndo_jflag 368190207Srpaulo#define Kflag gndo->ndo_Kflag 369146778Ssam#define nflag gndo->ndo_nflag 370146778Ssam#define Nflag gndo->ndo_Nflag 371146778Ssam#define Oflag gndo->ndo_Oflag 372146778Ssam#define pflag gndo->ndo_pflag 373146778Ssam#define qflag gndo->ndo_qflag 374146778Ssam#define Rflag gndo->ndo_Rflag 375146778Ssam#define sflag gndo->ndo_sflag 376146778Ssam#define Sflag gndo->ndo_Sflag 377146778Ssam#define tflag gndo->ndo_tflag 378146778Ssam#define Uflag gndo->ndo_Uflag 379146778Ssam#define uflag gndo->ndo_uflag 380146778Ssam#define vflag gndo->ndo_vflag 381146778Ssam#define xflag gndo->ndo_xflag 382146778Ssam#define Xflag gndo->ndo_Xflag 383146778Ssam#define Cflag gndo->ndo_Cflag 384190207Srpaulo#define Gflag gndo->ndo_Gflag 385146778Ssam#define Aflag gndo->ndo_Aflag 386190207Srpaulo#define Bflag gndo->ndo_Bflag 387190207Srpaulo#define Iflag gndo->ndo_Iflag 388162021Ssam#define suppress_default_print gndo->ndo_suppress_default_print 389146778Ssam#define packettype gndo->ndo_packettype 390214478Srpaulo#define sigsecret gndo->ndo_sigsecret 391146778Ssam#define Wflag gndo->ndo_Wflag 392146778Ssam#define WflagChars gndo->ndo_WflagChars 393146778Ssam#define Cflag_count gndo->ndo_Cflag_count 394190207Srpaulo#define Gflag_count gndo->ndo_Gflag_count 395190207Srpaulo#define Gflag_time gndo->ndo_Gflag_time 396236192Sdelphij#define Hflag gndo->ndo_Hflag 397146778Ssam#define snaplen gndo->ndo_snaplen 398146778Ssam#define snapend gndo->ndo_snapend 399146778Ssam 400190207Srpaulo#endif 401