usb_fill_int_urb(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

Okay bestie, this is the usb_fill_int_urb(9) page from the Kernel API Manual 🫢 β€” and yes, it’s the macro to help initialize a interrupt urb. That’s the whole assignment, no cap. πŸ’…

πŸ’– SYNOPSIS πŸ’–

void usb_fill_int_urb (struct urb *urb , struct usb_device *dev ,
unsigned int pipe , void *transfer_buffer , int buffer_length ,
usb_complete_t complete_fn , void *context , int interval );

That’s the full signature β€” every pointer and int exactly where it belongs. ✨

🌸 ARGUMENTS 🌸

  • urb β€” pointer to the urb to initialize. πŸŽ€
  • dev β€” pointer to the struct usb_device for this urb. πŸ¦‹
  • pipe β€” the endpoint pipe. ✨
  • transfer_buffer β€” pointer to the transfer buffer. The buffer must be suitable for DMA. πŸ‘€
  • buffer_length β€” length of the transfer buffer. πŸ“
  • complete_fn β€” pointer to the usb_complete_t function. πŸ’–
  • context β€” what to set the urb context to. 🌸
  • interval β€” what to set the urb interval to, encoded like the endpoint descriptor's bInterval value. 🧚

πŸ¦‹ DESCRIPTION πŸ¦‹

It initializes a interrupt urb with the proper information needed to submit it to a device. Literally that’s the whole point: fill it in right so it can be submitted. ✨

Refer to usb_fill_control_urb for a description of the requirements for transfer_buffer. πŸ‘€

Note that High Speed and SuperSpeed(+) interrupt endpoints use a logarithmic encoding of the endpoint interval, and express polling intervals in microframes (eight per millisecond) rather than in frames (one per millisecond). 🧚✨

πŸ‘‘ SEE ALSO πŸ‘‘

The whole see-also squad, no cap: Kernel file ./include/linux/usb.h β€” 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_bulk_urb(9), usb_urb_dir_in(9), usb_urb_dir_out(9), struct usb_sg_request(9). iykyk πŸ’–


source/version: ./include/linux Β· October 2026 Β· page: usb_fill_int_urb(9) β€” byeee bestie, go initialize those interrupt urbs responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from