]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-pflog.c
Use "len", not "payload_len", as we step through the packet; use
[tcpdump] / print-pflog.c
index b8485ea5ea299a7a22aabaa5b2b93ec4d4446199..3623e3036586c81bc5ee0c01319b4d14e06dc8c2 100644 (file)
@@ -22,8 +22,8 @@
  */
 
 #ifndef lint
-static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-pflog.c,v 1.4 2002-09-05 21:25:44 guy Exp $ (LBL)";
+static const char rcsid[] _U_ =
+    "@(#) $Header: /tcpdump/master/tcpdump/print-pflog.c,v 1.9 2003-11-16 09:36:32 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -96,30 +96,19 @@ pflog_print(const struct pfloghdr *hdr)
            hdr->ifname);
 }
 
-void
-pflog_if_print(u_char *user _U_, const struct pcap_pkthdr *h,
-     register const u_char *p)
+u_int
+pflog_if_print(const struct pcap_pkthdr *h, register const u_char *p)
 {
        u_int length = h->len;
        u_int caplen = h->caplen;
        const struct pfloghdr *hdr;
        u_int8_t af;
 
-       ts_print(&h->ts);
-
        if (caplen < PFLOG_HDRLEN) {
                printf("[|pflog]");
-               goto out;
+               return (caplen);
        }
 
-       /*
-        * Some printers want to get back at the link level addresses,
-        * and/or check that they're not walking off the end of the packet.
-        * Rather than pass them all the way down, we set these globals.
-        */
-       packetp = p;
-       snapend = p + caplen;
-
        hdr = (const struct pfloghdr *)p;
        if (eflag)
                pflog_print(hdr);
@@ -147,11 +136,5 @@ pflog_if_print(u_char *user _U_, const struct pcap_pkthdr *h,
                        default_print(p, caplen);
        }
 
-       if (xflag)
-               default_print(p, caplen);
-out:
-       putchar('\n');
-       --infodelay;
-       if (infoprint)
-               info(0);
+       return (PFLOG_HDRLEN);
 }