X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/2c0a8eb4eb535eb1863e18497cd7dff54cc0d97e..56a6db2e51fbfc67c77962d2e336f58e704a3f01:/tcpdump.c diff --git a/tcpdump.c b/tcpdump.c index fe922707..587ed321 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -87,6 +87,12 @@ extern int SIZE_BUF; #define NAME_MAX 255 #endif +#ifdef SIGINFO +#define SIGNAL_REQ_INFO SIGINFO +#elif SIGUSR1 +#define SIGNAL_REQ_INFO SIGUSR1 +#endif + netdissect_options Gndo; netdissect_options *gndo = &Gndo; @@ -119,7 +125,7 @@ static void ndo_error(netdissect_options *ndo, const char *fmt, ...) __attribute__ ((noreturn, format (printf, 2, 3))); static void ndo_warning(netdissect_options *ndo, const char *fmt, ...); -#ifdef SIGINFO +#ifdef SIGNAL_REQ_INFO RETSIGTYPE requestinfo(int); #endif @@ -314,6 +320,12 @@ static struct ndo_printer ndo_printers[] = { #endif #ifdef DLT_PPI { ppi_if_print, DLT_PPI }, +#endif +#ifdef DLT_NETANALYZER + { netanalyzer_if_print, DLT_NETANALYZER }, +#endif +#ifdef DLT_NETANALYZER_TRANSPARENT + { netanalyzer_transparent_if_print, DLT_NETANALYZER_TRANSPARENT }, #endif { NULL, 0 }, }; @@ -927,6 +939,8 @@ main(int argc, char **argv) packettype = PT_TFTP; else if (strcasecmp(optarg, "aodv") == 0) packettype = PT_AODV; + else if (strcasecmp(optarg, "carp") == 0) + packettype = PT_CARP; else error("unknown packet type `%s'", optarg); break; @@ -1341,13 +1355,13 @@ main(int argc, char **argv) pcap_userdata = (u_char *)&printinfo; } -#ifdef SIGINFO +#ifdef SIGNAL_REQ_INFO /* * We can't get statistics when reading from a file rather * than capturing from a device. */ if (RFileName == NULL) - (void)setsignal(SIGINFO, requestinfo); + (void)setsignal(SIGNAL_REQ_INFO, requestinfo); #endif if (vflag > 0 && WFileName) { @@ -1836,7 +1850,7 @@ default_print(const u_char *bp, u_int length) ndo_default_print(gndo, bp, length); } -#ifdef SIGINFO +#ifdef SIGNAL_REQ_INFO RETSIGTYPE requestinfo(int signo _U_) { if (infodelay)