X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/6fd8f4665dab5527a66b9b1b1e6404624f28cb97..381b94ccaff9dd04f21cdbb4bf8ddeb8b72d8688:/tcpdump.c diff --git a/tcpdump.c b/tcpdump.c index c714444b..acf449ad 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -30,7 +30,7 @@ static const char copyright[] = "@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000\n\ The Regents of the University of California. All rights reserved.\n"; static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.198 2003-01-07 09:56:00 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.205 2003-05-02 08:46:28 guy Exp $ (LBL)"; #endif /* @@ -132,6 +132,9 @@ struct printer { static struct printer printers[] = { { arcnet_if_print, DLT_ARCNET }, +#ifdef DLT_ARCNET_LINUX + { arcnet_linux_if_print, DLT_ARCNET_LINUX }, +#endif { ether_if_print, DLT_EN10MB }, { token_if_print, DLT_IEEE802 }, #ifdef DLT_LANE8023 @@ -144,9 +147,13 @@ static struct printer printers[] = { { cip_if_print, DLT_ATM_CLIP }, #endif { sl_if_print, DLT_SLIP }, +#ifdef DLT_SLIP_BSDOS { sl_bsdos_if_print, DLT_SLIP_BSDOS }, +#endif { ppp_if_print, DLT_PPP }, +#ifdef DLT_PPP_BSDOS { ppp_bsdos_if_print, DLT_PPP_BSDOS }, +#endif { fddi_if_print, DLT_FDDI }, { null_if_print, DLT_NULL }, #ifdef DLT_LOOP @@ -195,6 +202,9 @@ static struct printer printers[] = { #endif #ifdef DLT_IEEE802_11_RADIO { ieee802_11_radio_if_print, DLT_IEEE802_11_RADIO }, +#endif +#ifdef DLT_ENC + { enc_if_print, DLT_ENC }, #endif { NULL, 0 }, }; @@ -727,12 +737,15 @@ main(int argc, char **argv) #endif #ifndef WIN32 if (RFileName == NULL) { - if (vflag == 0) - (void)fprintf(stderr, "%s: verbose output suppressed, use -v or -vv for full protocol decode\n",program_name); - else - (void)fprintf(stderr, "%s: ",program_name); - (void)fprintf(stderr, "listening on %s, capture size %u bytes\n", device, snaplen); - (void)fflush(stderr); + if (!vflag && !WFileName) { + (void)fprintf(stderr, + "%s: verbose output suppressed, use -v or -vv for full protocol decode\n", + program_name); + } else + (void)fprintf(stderr, "%s: ", program_name); + (void)fprintf(stderr, "listening on %s, capture size %u bytes\n", + device, snaplen); + (void)fflush(stderr); } #endif /* WIN32 */ if (pcap_loop(pd, cnt, callback, pcap_userdata) < 0) { @@ -990,21 +1003,28 @@ static void usage(void) { extern char version[]; +#ifndef HAVE_PCAP_LIB_VERSION #if defined(WIN32) || defined(HAVE_PCAP_VERSION) extern char pcap_version[]; -#else +#else /* defined(WIN32) || defined(HAVE_PCAP_VERSION) */ static char pcap_version[] = "unknown"; -#endif +#endif /* defined(WIN32) || defined(HAVE_PCAP_VERSION) */ +#endif /* HAVE_PCAP_LIB_VERSION */ +#ifdef HAVE_PCAP_LIB_VERSION + (void)fprintf(stderr, "%s version %s\n", program_name, version); + (void)fprintf(stderr, "%s\n", pcap_lib_version()); +#else /* HAVE_PCAP_LIB_VERSION */ #ifdef WIN32 (void)fprintf(stderr, "%s version %s, based on tcpdump version %s\n", program_name, WDversion, version); (void)fprintf(stderr, "WinPcap version %s, based on libpcap version %s\n",Wpcap_version, pcap_version); -#else +#else /* WIN32 */ (void)fprintf(stderr, "%s version %s\n", program_name, version); (void)fprintf(stderr, "libpcap version %s\n", pcap_version); #endif /* WIN32 */ +#endif /* HAVE_PCAP_LIB_VERSION */ (void)fprintf(stderr, -"Usage: %s [-aAd" D_FLAG "eflLnNOpqRStu" U_FLAG "vxXy]" B_FLAG_USAGE " [-c count] [ -C file_size ]\n", program_name); +"Usage: %s [-aAd" D_FLAG "eflLnNOpqRStu" U_FLAG "vxX]" B_FLAG_USAGE " [-c count] [ -C file_size ]\n", program_name); (void)fprintf(stderr, "\t\t[ -E algo:secret ] [ -F file ] [ -i interface ] [ -r file ]\n"); (void)fprintf(stderr,