]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ether.c
NDOize LLC decoder
[tcpdump] / print-ether.c
index a092c47e0632bc9350caf9bf8f8acf72d0b62fa7..c1ebcae9e14f82e7b425bccf9871f3705a78cc50 100644 (file)
@@ -26,8 +26,6 @@
 
 #include <tcpdump-stdinc.h>
 
-#include <stdio.h>
-
 #include "interface.h"
 #include "extract.h"
 #include "addrtoname.h"
@@ -158,7 +156,7 @@ recurse:
         */
        if (ether_type <= ETHERMTU) {
                /* Try to print the LLC-layer header & higher layers */
-               if (llc_print(p, length, caplen, ESRC(ep), EDST(ep),
+               if (llc_print(ndo, p, length, caplen, ESRC(ep), EDST(ep),
                    &extracted_ether_type) == 0) {
                        /* ether_type not known, print raw packet */
                        if (!ndo->ndo_eflag) {
@@ -209,7 +207,7 @@ recurse:
                 * there's an LLC header and payload.
                 */
                /* Try to print the LLC-layer header & higher layers */
-               if (llc_print(p, length, caplen, ESRC(ep), EDST(ep),
+               if (llc_print(ndo, p, length, caplen, ESRC(ep), EDST(ep),
                    &extracted_ether_type) == 0) {
                        /* ether_type not known, print raw packet */
                        if (!ndo->ndo_eflag) {
@@ -268,7 +266,7 @@ netanalyzer_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h,
         * Fail if we don't have enough data for the Hilscher pseudo-header.
         */
        if (h->len < 4 || h->caplen < 4) {
-               printf("[|netanalyzer]");
+               ND_PRINT((ndo, "[|netanalyzer]"));
                return (h->caplen);
        }
 
@@ -298,7 +296,7 @@ netanalyzer_transparent_if_print(netdissect_options *ndo,
         * preamble, and SOF.
         */
        if (h->len < 12 || h->caplen < 12) {
-               printf("[|netanalyzer-transparent]");
+               ND_PRINT((ndo, "[|netanalyzer-transparent]"));
                return (h->caplen);
        }
 
@@ -377,7 +375,7 @@ ethertype_print(netdissect_options *ndo,
 
        case ETHERTYPE_PPP:
                if (length) {
-                       printf(": ");
+                       ND_PRINT((ndo, ": "));
                        ppp_print(/*ndo,*/p, length);
                }
                return (1);