STRUCT IRIS_BUFFER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iris_buffer(9) β€” a Kernel API Manual moment

okay so bestie, buckle up πŸ’– we're looking at struct iris_buffer from the Kernel API Manual and honestly it's giving "kernel driver glow-up". It's a struct page, so there's literally no prose description after the dash in the NAME β€” she's a mystery, an icon, a struct with no subtitle. Periodt.


✨ NAME ✨

struct iris_buffer β€” (and that's it, no description, she said "my name is enough" πŸ’…)


πŸ“œ SYNOPSIS πŸ“œ

struct iris_buffer {
    struct vb2_v4l2_buffer          vb2;
    struct list_head                list;
    struct iris_inst                *inst;
    enum iris_buffer_type           type;
    u32 index;
    int fd;
    size_t buffer_size;
    u32 data_offset;
    size_t data_size;
    dma_addr_t device_addr;
    void *kvaddr;
    unsigned long                   dma_attrs;
    u32 flags;
    u64 timestamp;
    enum iris_buffer_attributes     attr;
 };

no cap, that's the whole shape of her πŸ¦‹


🌸 Members 🌸

bestie these are the fields, and every single one is doing main character energy in her own lane:

  • vb2 β€” the v4l2 vb2 buffer πŸŽ€
  • list β€” list head for the iris_buffers structure
  • inst β€” iris instance structure
  • type β€” enum for type of iris buffer
  • index β€” identifier for the iris buffer
  • fd β€” file descriptor of the buffer
  • buffer_size β€” accessible buffer size in bytes starting from addr_offset
  • data_offset β€” accessible buffer offset from base address
  • data_size β€” data size in bytes
  • device_addr β€” device address of the buffer
  • kvaddr β€” kernel virtual address of the buffer
  • dma_attrs β€” dma attributes
  • flags β€” buffer flags. It is represented as bit masks ⭐
  • timestamp β€” timestamp of the buffer in nano seconds (ns)
  • attr β€” enum for iris buffer attributes

like, fifteen fields and not one of them is filler. we love a structured queen πŸ‘‘


πŸ” SEE ALSO πŸ”

  • Kernel file ./drivers/media/platform/qcom/iris/iris_buffer.h enum iris_buffer_type(9)

go read those too, iykyk 🫢


lowkey a note to self: the accessible size in buffer_size is measured starting from addr_offset, and flags is bit masks β€” keep that in mind, bestie, don't come for me 😭

and that's the whole page, bestie!! πŸŽ€πŸ¦‹βœ¨ this cutie came from ./drivers/media/platform/qcom/... and she's dated October 2026 β€” a struct so far ahead of her time she's basically time travelling πŸ’œπŸŒ· see u in the next manpage, mwah πŸ’‹

πŸ“¦ where this page comes from