USB_DEVICE_INTERFACE_CLASS(9)
π USB_DEVICE_INTERFACE_CLASS β like, the kernel API manual, bestie β¨
okay so we're in the Kernel API Manual and today's main character is USB_DEVICE_INTERFACE_CLASS(9). she's a macro. she's iconic. she describes a usb device with a specific interface class. let's get into it π
β¨ NAME β¨
USB_DEVICE_INTERFACE_CLASS β describe a usb device with a specific interface class π¦
πΈ SYNOPSIS πΈ
USB_DEVICE_INTERFACE_CLASS (vend , prod , cl );
literally that's the whole vibe. three args, no notes. π
π ARGUMENTS π
vendβ the 16 bit USB Vendor ID π like who made this thingprodβ the 16 bit USB Product ID π like which specific thing it isclβ thebInterfaceClassvalue π§ the actual interface class we're matching on
π DESCRIPTION π
okay so picture this: this macro is used to create a struct usb_device_id that matches a specific interface class of devices. that's it, that's the whole job, and she does it flawlessly. no cap. π₯
like, you're not matching the whole device here, you're matching specifically on the interface class β and honestly? that's the vibe check that matters. π
π«Ά SEE ALSO π«Ά
the whole friend group, fr fr β go say hi:
- 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_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_fill_int_urb(9)usb_urb_dir_in(9)usb_urb_dir_out(9)struct usb_sg_request(9)
and that's the page!! mwah π this lil beauty lives in ./include/linux and she's tagged October 2026 β so yeah, she's fresh, she's current, she's literally thriving. stan. ππ¦β¨
π¦ 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