- printf(" to");
- printf(" %d:%d:%d", uh->bus_id, uh->device_address, uh->endpoint_number & 0x7f);
+ ND_PRINT((ndo, " to"));
+ ND_PRINT((ndo, " %d:%d:%d", uh->bus_id, uh->device_address, uh->endpoint_number & 0x7f));
+}
+
+/*
+ * This is the top level routine of the printer for captures with a
+ * 48-byte header.
+ *
+ * 'p' points to the header of the packet, 'h->ts' is the timestamp,
+ * 'h->len' is the length of the packet off the wire, and 'h->caplen'
+ * is the number of bytes actually captured.
+ */
+u_int
+usb_linux_48_byte_print(netdissect_options *ndo, const struct pcap_pkthdr *h,
+ register const u_char *p)
+{
+ if (h->caplen < sizeof(pcap_usb_header)) {
+ ND_PRINT((ndo, "%s", tstr));
+ return(sizeof(pcap_usb_header));
+ }
+
+ usb_header_print(ndo, (const pcap_usb_header *) p);