X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/bfb7669b376344e4a5f0459138284cc305678ccd..fe4ef2d22bcc1b89f16c30480f7bff4348d1a014:/tcpdump.c diff --git a/tcpdump.c b/tcpdump.c index 9fd0393f..ddd5551d 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -25,12 +25,6 @@ * Seth Webster */ -#ifndef lint -static const char copyright[] _U_ = - "@(#) 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"; -#endif - /* * tcpdump - dump traffic on a network * @@ -40,7 +34,7 @@ The Regents of the University of California. All rights reserved.\n"; */ #ifdef HAVE_CONFIG_H -#include "config.h" +#include #endif /* @@ -55,7 +49,17 @@ The Regents of the University of California. All rights reserved.\n"; #endif #endif -#include +#include "netdissect-stdinc.h" + +/* + * This must appear after including netdissect-stdinc.h, so that _U_ is + * defined. + */ +#ifndef lint +static const char copyright[] _U_ = + "@(#) 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"; +#endif #include @@ -97,7 +101,9 @@ The Regents of the University of California. All rights reserved.\n"; #include #include #include -#ifndef _WIN32 +#ifdef _WIN32 +#include +#else #include #include #include @@ -225,7 +231,7 @@ void requestinfo(int); #endif #ifdef _WIN32 - static HANDLE timer_handle = INVALID_HANDLE; + static HANDLE timer_handle = INVALID_HANDLE_VALUE; static void CALLBACK verbose_stats_dump(PVOID param, BOOLEAN timer_fired); #else /* _WIN32 */ static void verbose_stats_dump(int sig); @@ -501,22 +507,22 @@ show_remote_devices_and_exit(void) * only use them for the same purposes that the other versions of tcpdump * use them: * - * OS X tcpdump uses -g to force non--v output for IP to be on one + * macOS tcpdump uses -g to force non--v output for IP to be on one * line, making it more "g"repable; * - * OS X tcpdump uses -k to specify that packet comments in pcap-ng files + * macOS tcpdump uses -k to specify that packet comments in pcapng files * should be printed; * * OpenBSD tcpdump uses -o to indicate that OS fingerprinting should be done * for hosts sending TCP SYN packets; * - * OS X tcpdump uses -P to indicate that -w should write pcap-ng rather + * macOS tcpdump uses -P to indicate that -w should write pcapng rather * than pcap files. * - * OS X tcpdump also uses -Q to specify expressions that match packet + * macOS tcpdump also uses -Q to specify expressions that match packet * metadata, including but not limited to the packet direction. * The expression syntax is different from a simple "in|out|inout", - * and those expressions aren't accepted by OS X tcpdump, but the + * and those expressions aren't accepted by macOS tcpdump, but the * equivalents would be "in" = "dir=in", "out" = "dir=out", and * "inout" = "dir=in or dir=out", and the parser could conceivably * special-case "in", "out", and "inout" as expressions for backwards @@ -927,10 +933,10 @@ set_dumper_capsicum_rights(pcap_dumper_t *p) * Copy arg vector into a new buffer, concatenating arguments with spaces. */ static char * -copy_argv(register char **argv) +copy_argv(char **argv) { - register char **p; - register u_int len = 0; + char **p; + u_int len = 0; char *buf; char *src, *dst; @@ -970,8 +976,8 @@ copy_argv(register char **argv) static char * read_infile(char *fname) { - register int i, fd, cc; - register char *cp; + int i, fd, cc; + char *cp; struct stat buf; fd = open(fname, O_RDONLY|O_BINARY); @@ -1280,10 +1286,10 @@ fprintf(stderr, "Opening %s\n", device); int main(int argc, char **argv) { - register int cnt, op, i; + int cnt, op, i; bpf_u_int32 localnet = 0, netmask = 0; int timezone_offset = 0; - register char *cp, *infile, *cmdbuf, *device, *RFileName, *VFileName, *WFileName; + char *cp, *infile, *cmdbuf, *device, *RFileName, *VFileName, *WFileName; char *endp; pcap_handler callback; int dlt; @@ -2212,7 +2218,7 @@ DIAG_ON_CLANG(assign-enum) * that printing the stats could be a "long wait". */ CreateTimerQueueTimer(&timer_handle, NULL, - verbose_stats_dump, NULL, 1000, 1000 + verbose_stats_dump, NULL, 1000, 1000, WT_EXECUTEDEFAULT|WT_EXECUTELONGFUNCTION); setvbuf(stderr, NULL, _IONBF, 0); #else /* _WIN32 */ @@ -2412,10 +2418,10 @@ static void cleanup(int signo _U_) { #ifdef _WIN32 - if (timer_handle != INVALID_HANDLE) { + if (timer_handle != INVALID_HANDLE_VALUE) { DeleteTimerQueueTimer(NULL, timer_handle, NULL); CloseHandle(timer_handle); - timer_handle = INVALID_HANDLE; + timer_handle = INVALID_HANDLE_VALUE; } #else /* _WIN32 */ struct itimerval timer; @@ -2469,7 +2475,7 @@ child_cleanup(int signo _U_) #endif /* HAVE_FORK && HAVE_VFORK */ static void -info(register int verbose) +info(int verbose) { struct pcap_stat stats;