STRUCT DMX_BUFFER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct dmx_buffer(9) β€” Kernel API Manual πŸ’…

okay bestie, welcome to the Kernel API Manual corner where we make kernel structs make sense πŸ’– this one is literally all about the dmx buffer info and it's kinda iconic.

πŸ’– NAME πŸ’–

  • struct dmx_buffer β€” dmx buffer info ✨ like, that's the whole vibe: it's the struct that carries dmx buffer info, no cap.

🌸 SYNOPSIS 🌸

here's the exact shape of it, bestie:

struct dmx_buffer {
    __u32 index;
    __u32 bytesused;
    __u32 offset;
    __u32 length;
    __u32 flags;
    __u32 count;
};

πŸŽ€ Members πŸŽ€

  • index β€” the id number of the buffer πŸ‘‘ it's the little name tag.
  • bytesused β€” number of bytes occupied by data in the buffer (payload); the actual payload amount, periodt.
  • offset β€” for buffers with memory == DMX_MEMORY_MMAP; offset from the start of the device memory for this plane, (or a "cookie" that should be passed to mmap as offset) πŸͺ yes, a cookie, we love a mysterious little offset.
  • length β€” size in bytes of the buffer πŸ“ that's the size, full stop.
  • flags β€” bit array of buffer flags as defined by enum dmx_buffer_flags. Filled only at DMX_DQBUF 🚩 so don't expect it to be filled before then.
  • count β€” monotonic counter for filled buffers. Helps to identify data stream loses. Filled only at DMX_DQBUF πŸ”’ it's giving "monotonic counter realness" and it's only filled at DMX_DQBUF.

πŸ¦‹ Description πŸ¦‹

Contains data exchanged by application and driver using one of the streaming I/O methods πŸ’« that's the whole point of this struct, bestie.

🚨 Please notice: for DMX_QBUF, only index should be filled. On DMX_DQBUF calls, all fields will be filled by the Kernel. so like, don't overfill it on DMX_QBUF, okay? the Kernel handles the rest on DMX_DQBUF 🫢

🌈 SEE ALSO 🌈

  • Kernel file ./include/uapi/linux/dvb/dmx.h
  • enum dmx_output(9)
  • enum dmx_input(9)
  • enum dmx_ts_pes(9)
  • struct dmx_filter(9)
  • struct dmx_sct_filter_params(9)
  • struct dmx_pes_filter_params(9)
  • struct dmx_stc(9)
  • enum dmx_buffer_flags(9)
  • struct dmx_requestbuffers(9)
  • struct dmx_exportbuffer(9)

mwah πŸ’‹ this page came from ./include/uapi/linux/dvb, dated October 2026, and it's serving struct dmx_buffer(9) realness 🫢✨

πŸ“¦ where this page comes from