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