usb_fill_bulk_urb(9)
π usb_fill_bulk_urb(9) π
okay bestie, welcome to the Kernel API Manual β this one's a macro, and it's here to help you initialize a bulk urb β¨ no cap.
πΈ NAME πΈ
usb_fill_bulk_urb β the macro that helps you initialize a bulk urb π
β¨ SYNOPSIS β¨
void usb_fill_bulk_urb (struct urb *urb , struct usb_device *dev ,
unsigned int pipe , void *transfer_buffer , int buffer_length ,
usb_complete_t complete_fn , void *context );
π«Ά ARGUMENTS π«Ά
urbβ pointer to the urb you're about to initialize. that's your main character rn πdevβ pointer to thestruct usb_devicefor this urb.pipeβ the endpoint pipe π§transfer_bufferβ pointer to the transfer buffer. and listen, the buffer must be suitable for DMA. like, that's not a vibe suggestion, that's a requirement πbuffer_lengthβ length of the transfer buffer.complete_fnβ pointer to theusb_complete_tfunction.contextβ what to set the urb context to.
π¦ DESCRIPTION π¦
So what does it actually do? it initializes a bulk urb with the proper information you need to submit it to a device. that's it, that's the whole slay π
heads up bestie: go readusb_fill_control_urbfor a description of the requirements fortransfer_bufferβ the lore lives there, iykyk π
π₯ SEE ALSO π₯
Kernel file ./include/linux/usb.h plus a whole squad of friends β literally the entire group chat:
struct usb_host_endpoint(9)struct usb_interface(9)usb_set_intfdata(9)struct usb_interface_cache(9)struct usb_host_config(9)struct usb_device(9)usb_hub_for_each_child(9)usb_interface_claimed(9)usb_make_path(9)USB_DEVICE(9)USB_DEVICE_VER(9)USB_DEVICE_INTERFACE_CLASS(9)USB_DEVICE_INTERFACE_PROTOCOL(9)USB_DEVICE_INTERFACE_NUMBER(9)USB_DEVICE_INFO(9)USB_INTERFACE_INFO(9)USB_DEVICE_AND_INTERFACE_INFO(9)USB_VENDOR_AND_INTERFACE_INFO(9)struct usb_driver(9)struct usb_device_driver(9)struct usb_class_driver(9)module_usb_driver(9)struct urb(9)usb_fill_control_urb(9)usb_fill_int_urb(9)usb_urb_dir_in(9)usb_urb_dir_out(9)struct usb_sg_request(9)
and that's the page, bestie π«Ά this lil gem lives over in ./include/linux and it's dated October 2026, filed under usb_fill_bulk_urb(9) β go forth and initialize urbs, you've got this πβ¨π
π¦ 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