X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/513f782ae18791f0c925b9235da749b38159b607..e32c6dba38bc28d74f55e0d28745c25f6ecb7527:/print-ap1394.c diff --git a/print-ap1394.c b/print-ap1394.c index 6d5b85ef..8e6454dd 100644 --- a/print-ap1394.c +++ b/print-ap1394.c @@ -22,7 +22,7 @@ /* \summary: Apple IP-over-IEEE 1394 printer */ #ifdef HAVE_CONFIG_H -#include "config.h" +#include #endif #include "netdissect-stdinc.h" @@ -52,10 +52,10 @@ struct firewire_header { static const char * fwaddr_string(netdissect_options *ndo, const u_char *addr) { - return (linkaddr_string(ndo, addr, LINKADDR_IEEE1394, FIREWIRE_EUI64_LEN)); + return GET_LINKADDR_STRING(addr, LINKADDR_IEEE1394, FIREWIRE_EUI64_LEN); } -static inline void +static void ap1394_hdr_print(netdissect_options *ndo, const u_char *bp, u_int length) { const struct firewire_header *fp; @@ -67,7 +67,7 @@ ap1394_hdr_print(netdissect_options *ndo, const u_char *bp, u_int length) fwaddr_string(ndo, fp->firewire_shost), fwaddr_string(ndo, fp->firewire_dhost)); - firewire_type = EXTRACT_BE_U_2(fp->firewire_type); + firewire_type = GET_BE_U_2(fp->firewire_type); if (!ndo->ndo_qflag) { ND_PRINT(", ethertype %s (0x%04x)", tok2str(ethertype_values,"Unknown", firewire_type), @@ -85,7 +85,7 @@ ap1394_hdr_print(netdissect_options *ndo, const u_char *bp, u_int length) * 'h->len' is the length of the packet off the wire, and 'h->caplen' * is the number of bytes actually captured. */ -u_int +void ap1394_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_char *p) { u_int length = h->len; @@ -94,10 +94,13 @@ ap1394_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_ch u_short ether_type; struct lladdr_info src, dst; + ndo->ndo_protocol = "ap1394"; if (caplen < FIREWIRE_HDRLEN) { - ND_PRINT("[|ap1394]"); - return FIREWIRE_HDRLEN; + ndo->ndo_ll_hdr_len += caplen; + nd_print_trunc(ndo); + return; } + ndo->ndo_ll_hdr_len += FIREWIRE_HDRLEN; if (ndo->ndo_eflag) ap1394_hdr_print(ndo, p, length); @@ -107,7 +110,7 @@ ap1394_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_ch fp = (const struct firewire_header *)p; p += FIREWIRE_HDRLEN; - ether_type = EXTRACT_BE_U_2(fp->firewire_type); + ether_type = GET_BE_U_2(fp->firewire_type); src.addr = fp->firewire_shost; src.addr_string = fwaddr_string; dst.addr = fp->firewire_dhost; @@ -121,5 +124,5 @@ ap1394_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_ch ND_DEFAULTPRINT(p, caplen); } - return FIREWIRE_HDRLEN; + return; }