]> The Tcpdump Group git mirrors - tcpdump/blobdiff - tcpdump.c
From Manu Pathak: add support for LMP Service Discovery extensions
[tcpdump] / tcpdump.c
index 35c1153270e2f75a401cd8468c1d9e03b0281125..9348bd380b2d70db5d6c6d860cee133c528c4f84 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -30,7 +30,7 @@ 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";
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.250 2004-11-07 22:05:20 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.256 2005-05-12 07:10:55 hannes Exp $ (LBL)";
 #endif
 
 /*
@@ -106,6 +106,7 @@ static void usage(void) __attribute__((noreturn));
 static void show_dlts_and_exit(pcap_t *pd) __attribute__((noreturn));
 
 static void print_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
+static void ndo_default_print(netdissect_options *, const u_char *, u_int);
 static void dump_packet_and_trunc(u_char *, const struct pcap_pkthdr *, const u_char *);
 static void dump_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
 static void droproot(const char *, const char *);
@@ -224,6 +225,21 @@ static struct printer printers[] = {
 #endif
 #ifdef DLT_JUNIPER_ATM2
        { juniper_atm2_print,   DLT_JUNIPER_ATM2 },
+#endif
+#ifdef DLT_JUNIPER_MFR
+       { juniper_mfr_print,    DLT_JUNIPER_MFR },
+#endif
+#ifdef DLT_JUNIPER_MLFR
+       { juniper_mlfr_print,   DLT_JUNIPER_MLFR },
+#endif
+#ifdef DLT_JUNIPER_MLPPP
+       { juniper_mlppp_print,  DLT_JUNIPER_MLPPP },
+#endif
+#ifdef DLT_JUNIPER_PPPOE
+       { juniper_pppoe_print,  DLT_JUNIPER_PPPOE },
+#endif
+#ifdef DLT_JUNIPER_PPPOE_ATM
+       { juniper_pppoe_atm_print, DLT_JUNIPER_PPPOE_ATM },
 #endif
        { NULL,                 0 },
 };
@@ -431,6 +447,7 @@ main(int argc, char **argv)
         gndo->ndo_Oflag=1;
        gndo->ndo_Rflag=1;
        gndo->ndo_dlt=-1;
+       gndo->ndo_default_print=ndo_default_print;
        gndo->ndo_printf=tcpdump_printf;
        gndo->ndo_error=ndo_error;
        gndo->ndo_warning=ndo_warning;
@@ -1272,12 +1289,18 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
 /*
  * By default, print the specified data out in hex.
  */
-void
-default_print(register const u_char *bp, register u_int length)
+static void
+ndo_default_print(netdissect_options *ndo _U_, const u_char *bp, u_int length)
 {
        ascii_print("\n\t", bp, length); /* pass on lf and identation string */
 }
 
+void
+default_print(const u_char *bp, u_int length)
+{
+       ndo_default_print(gndo, bp, length);
+}
+
 #ifdef SIGINFO
 RETSIGTYPE requestinfo(int signo _U_)
 {