STRUCT EM28XX_USB_CTL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct em28xx_usb_ctl(9) πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ this one's a struct page, and honestly? she's giving backstage pass to the URB pipeline. let's get into it πŸŽ€


✨ NAME ✨

struct em28xx_usb_ctl β€” literally the home of all your URB-related buffer data πŸ¦‹ no cap, that's the whole vibe.


✨ SYNOPSIS ✨

struct em28xx_usb_ctl {
    struct em28xx_usb_bufs          analog_bufs;
    struct em28xx_usb_bufs          digital_bufs;
    struct em28xx_buffer    *vid_buf;
    struct em28xx_buffer    *vbi_buf;
    int (*urb_data_copy)(struct em28xx *dev, struct urb *urb);
 };

look at her. five members. main character energy, fr fr πŸ‘‘


🫢 Members 🫢

  • analog_bufs β€” the isoc/bulk transfer buffers for analog mode πŸ’– when you're in analog era, this is where the buffering lives.
  • digital_bufs β€” the isoc/bulk transfer buffers for digital mode 🌈 same deal, but digital. she contains multitudes.
  • vid_buf β€” stores already requested video buffers πŸŽ€ key word: already requested. not new ones. the ones that asked first.
  • vbi_buf β€” stores already requested VBI buffers πŸ¦‹ yes, VBI gets her own field. vertical blanking interval girlies stay winning.
  • urb_data_copy β€” the function pointer that copies data from the URB πŸ”₯ signature is int (*urb_data_copy)(struct em28xx *dev, struct urb *urb), iykyk.

🌸 SEE ALSO 🌸

  • the kernel file ./drivers/media/usb/em28xx/em28xx.h β€” that's where she actually lives πŸ’œ
  • struct em28xx_usb_bufs(9)
  • struct em28xx_fmt(9)
  • struct em28xx_buffer(9)
  • enum em28xx_amux(9)

go read those next, bestie, they're all in the same friend group 🧚


lowkey reminder: this page is struct documentation, so every field above is a real part of the layout β€” no invented fields, no skipping. slay responsibly πŸ’…

and that's the page!! mwah πŸ’‹ this cutie came out of ./drivers/media/usb/em28xx, dated October 2026, and yes she's still titled struct em28xx_usb_ctl(9) β€” periodt. πŸ“β­

πŸ“¦ where this page comes from