STRUCT USB_DATA_STREAM(9)
π NAME π
okay so welcome to the Kernel API Manual page for struct usb_data_stream(9) β it's the generic object of an USB stream, and honestly it's giving βkernel struct with main character energyβ β¨.
β¨ SYNOPSIS β¨
bestie, here's the exact shape, no cap:
struct usb_data_stream {
#define MAX_NO_URBS_FOR_DATA_STREAM 10;
struct usb_device *udev;
struct usb_data_stream_properties props;
#define USB_STATE_INIT 0x00;
#define USB_STATE_URB_BUF 0x01;
int state;
void (*complete) (struct usb_data_stream *, u8 *, size_t);
struct urb *urb_list[MAX_NO_URBS_FOR_DATA_STREAM];
int buf_num;
unsigned long buf_size;
u8 *buf_list[MAX_NO_URBS_FOR_DATA_STREAM];
dma_addr_t dma_addr[MAX_NO_URBS_FOR_DATA_STREAM];
int urbs_initialized;
int urbs_submitted;
void *user_priv;
};
quick value check: MAX_NO_URBS_FOR_DATA_STREAM is 10, USB_STATE_INIT is 0x00, and USB_STATE_URB_BUF is 0x01 β all right there in the struct, periodt π
.
π«Ά Members π«Ά
the members are the whole cast, and every single one matters:
udevβ the USB device. That's the main character device pointer.propsβ data stream properties. The vibe settings, basically.stateβ state of the stream. The synopsis also showsUSB_STATE_INITas0x00andUSB_STATE_URB_BUFas0x01.completeβ complete callback; the synopsis types it asvoid (*complete) (struct usb_data_stream *, u8 *, size_t);.urb_listβ list of URBs, shown asstruct urb *urb_list[MAX_NO_URBS_FOR_DATA_STREAM];.buf_numβ number of buffer allocated. (That's the original phrasing, bestie β we keep the lore.)buf_sizeβ size of each buffer inbuf_list.buf_listβ array containing all allocate buffers for streaming. (Again: lore preserved.)dma_addrβ list ofdma_addr_tfor each buffer inbuf_list.urbs_initializedβ number of URBs initialized.urbs_submittedβ number of URBs submitted.user_privβ for private use. No questions, just private-use energy π«Ά.
π₯ SEE ALSO π₯
Kernel file ./drivers/media/usb/dvb-usb/dvb-usb.h struct β and then the whole squad:
struct dvb_usb_device_description(9)struct dvb_usb_adapter_fe_properties(9)struct dvb_rc_legacy(9)struct dvb_rc(9)enum dvb_usb_mode(9)struct dvb_usb_device_properties(9)struct dvb_usb_fe_adapter(9)struct dvb_usb_adapter(9)struct dvb_usb_device(9)
cute sign-off: source/version ./drivers/media/usb/dvb-usb, date October 2026 β this is the struct usb_data_stream(9) page, and it ate, no crumbs. bye bestie π
π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms