STRUCT TBSTREAM_FRAME(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct tbstream_frame β€” Frame submitted to/from the rings

okay so real talk, bestie: this page is straight out of the Kernel API Manual, section 9, and it's about one little struct that gets its whole main-character moment shuttling frames to and from the rings. that's it, that's the vibe. πŸ’…


✨ SYNOPSIS ✨

struct tbstream_frame {
    struct tbstream_dev *sdev;
    struct page *page;
    unsigned int offset;
    bool completed;
    struct ring_frame frame;
 };

like, look at her. five fields. no notes. πŸŽ€


🫢 Members 🫢

  • sdev β€” Pointer to the stream device. she's literally pointing at the stream device, that's her whole job πŸ”₯
  • page β€” Page holding the packet. the packet lives here, this is its home 🏠
  • offset β€” Offset inside page if partial read is done. iykyk, it's the "we only read part of it" situation πŸ™ˆ
  • completed β€” true if the RX frame is completed. true!! we love a finished RX frame, no cap ⭐
  • frame β€” Underlying frame structure. the frame under the frame, it's giving layers, it's giving onion πŸ§…

🌈 SEE ALSO 🌈

Kernel file ./drivers/thunderbolt/stream.c, plus the whole friend group:

  • enum tbstream_frame_pdf(9)
  • struct tbstream_ring(9)
  • struct tbstream_dev(9)
  • struct tbstream_group(9)
  • struct tbstream(9)

go read them, they all ate πŸ’…βœ¨


lowkey important: every one of these is an actual reference, so fr fr don't skip them if you're digging through ./drivers/thunderbolt πŸ¦‹

okay that's the whole page, bestie, you're officially caught up 🫢 this diva of a struct lives over in ./drivers/thunderbolt, the page is dated October 2026, and it's filed under struct tbstream_frame(9) β€” periodt. πŸ’œπŸŒΈ

πŸ“¦ where this page comes from