usb_find_co...ints_reverse(9)
β¨ usb_find_common_endpoints_reverse (9) β¨
okay bestie, buckle up π this is a page from the Kernel API Manual and it's literally about finding USB endpoints β but like, the last ones. yes, reverse. we're going backwards, and we're slaying while we do it π¦
πΈ NAME πΈ
usb_find_common_endpoints_reverse β look up common endpoint descriptors, but make it reverse π
π SYNOPSIS π
int usb_find_common_endpoints_reverse (struct usb_host_interface *alt ,
struct usb_endpoint_descriptor **bulk_in , struct
usb_endpoint_descriptor **bulk_out , struct usb_endpoint_descriptor
**int_in , struct usb_endpoint_descriptor **int_out );
no cap, that's the whole signature β five args, one int back π«Ά
β ARGUMENTS β
altβ the alternate setting you wanna search, like the little sub-config bestie you're digging through πbulk_inβ a pointer to a descriptor pointer, orNULL(yes,NULLis a whole valid vibe here)bulk_outβ pointer to descriptor pointer, orNULLπ«int_inβ pointer to descriptor pointer, orNULLπ§int_outβ pointer to descriptor pointer, orNULLπ
lowkey theNULLthing matters β every single one of these last four can beNULLand that's fine, no drama π
π DESCRIPTION π
so here's the tea, bestie β β this function goes through the alternate setting's endpoint descriptors and hunts down the last bulk-in, bulk-out, interrupt-in and interrupt-out endpoints. reverse search, main character energy π
when it finds them, it hands them back to you through the pointers you provided β unless they're NULL, in which case it just doesn't bother with that one π
and if a requested endpoint justβ¦ isn't there? not found? ghosted? π» the corresponding pointer gets set to NULL. that's it. that's the whole mood.
π₯ RETURN π₯
0β slay, every descriptor you asked for was found β¨-ENXIOβ nope, something's missing, and the kernel is telling you with a whole negative errno π
π¦ SEE ALSO π¦
kernel file ./drivers/usb/core/usb.c, plus the whole friend group π«Ά:
usb_find_common_endpoints(9)usb_find_endpoint(9)usb_check_bulk_endpoints(9)usb_check_int_endpoints(9)usb_find_alt_setting(9)usb_ifnum_to_if(9)usb_altnum_to_altsetting(9)usb_find_interface(9)usb_for_each_dev(9)usb_release_dev(9)usb_alloc_dev(9)usb_get_dev(9)usb_put_dev(9)usb_get_intf(9)usb_put_intf(9)usb_intf_get_dma_device(9)usb_lock_device_for_reset(9)usb_get_current_frame_number(9)usb_alloc_coherent(9)usb_free_coherent(9)usb_alloc_noncoherent(9)usb_free_noncoherent(9)usb_endpoint_max_periodic_payload(9)usb_endpoint_is_hs_isoc_double(9)
and that's the page, bestie!! π
this little icon lives over in ./drivers/usb/core and it's stamped October 2026 β periodt, see you in the next manpage πΈβ¨π
π¦ 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