isodump(5)

πŸ’Ύ isodump(5) β€” the manual page, but make it cute ✨

okay so bestie, welcome to isodump(5), a Linux IEEE 1394 situation πŸ’… β€” specifically, the format of the IEEE 1394 isochronous packets dump file. Yes, that's a whole vibe. Let's get into it πŸŽ€


🌸 NAME 🌸

isodump</purg> β€” the format of the IEEE 1394 isochronous packets dump file πŸ¦‹


✨ DESCRIPTION ✨

So the isodump format is literally just a place where a whole series of IEEE 1394 isochronous stream packets get stored β€” possibly from multiple channels at once, no cap β€” and it keeps their headers too, because of course it does, the headers are the moment πŸ’–

Its main character energy comes from being:

πŸŽ€ The header (yes, it has a header, she's structured) πŸŽ€

The 32 byte header starts at offset 0 with the string "1394 isodump v1" followed by a zero byte. Iconic. Very signature-move of it πŸ’…

Then the next 8 bytes form a 64 bit big endian integer, which is a bit mask of the channels that were dumped. A set bit at position (1 << x) signifies that channel x was being listened on πŸ‘‚βœ¨

The following 8 bytes are set to zero. Periodt. Just zero. Nothing to see there πŸ™ˆ

πŸ¦‹ The packets πŸ¦‹

The iso packets follow the header and get appended to the data stream in the order they were received. Slay, chronological queen ⭐

Each packet consists of:

  • the header quadlet as originally received
  • the data quadlets following directly after it

The CRC quadlets after header and data do not appear 😭 (they said not today) and everything is in big endian, as seen on the bus. Fr fr. 🚌

πŸ’€ Finding packet boundaries πŸ’€

There is no further framing of the packets in the format β€” so don't go looking for a cute little separator, it's not there. Packet boundaries can be found by looking at the data size field in the header quadlet of each packet πŸ‘‘

And that data size field? It appears in the most significant 16 bits of the header quadlet, it contains the size in bytes (and btw the actual packet is padded to a multiple of four bytes), and it does not include the header packet. Write that down bestie, iykyk πŸ“


🌈 COMPATIBILITY 🌈

This format was introduced with the iso send and dump tools distributed with libraw1394. And... no one else uses it so far. πŸ’€ It's giving niche. It's giving exclusive. It's giving only-us-core πŸŽ€


πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

Andreas Bombe <aeb@debian.org> β€” thank you for your service, legend πŸ«‘πŸ’–


and that's the whole page bestie!! this manual came to you from libraw1394 2.1.2, and it's the isodump v1 era of isodump(5) β€” so go dump some iso packets and be the main character of your own bus πŸ¦‹βœ¨πŸ’