+
+ if (header_len_64_bytes) {
+ /*
+ * This is either the "version 1" header, with
+ * 16 bytes of additional fields at the end, or
+ * a "version 0" header from a memory-mapped
+ * capture, with 16 bytes of zeroed-out padding
+ * at the end. Byte swap them as if this were
+ * a "version 1" header.
+ */
+ if (hdr->caplen < 52)
+ return;
+ uhdr->interval = SWAPLONG(uhdr->interval);
+ if (hdr->caplen < 56)
+ return;
+ uhdr->start_frame = SWAPLONG(uhdr->start_frame);
+ if (hdr->caplen < 60)
+ return;
+ uhdr->xfer_flags = SWAPLONG(uhdr->xfer_flags);
+ if (hdr->caplen < 64)
+ return;
+ uhdr->ndesc = SWAPLONG(uhdr->ndesc);
+ }