usb_check_int_endpoints(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… usb_check_int_endpoints(9) β€” the kernel API manual, but make it make sense

okay bestie, so this is a page from the Kernel API Manual, and the star of the show is usb_check_int_endpoints β€” a whole function whose entire personality is "does this interface's current altsetting actually have the interrupt endpoints you're looking for, with these exact addresses?" iconic honestly ✨


✨ NAME ✨

usb_check_int_endpoints β€” checks whether an interface's current altsetting contains a set of interrupt endpoints with the given addresses. that's it, that's the whole job πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

bool usb_check_int_endpoints (const struct usb_interface *intf , const
u8 *ep_addrs );

yes it returns a bool, yes it takes const pointers, yes we respect the const in this house πŸ’œ


🌸 ARGUMENTS 🌸

  • intf β€” the interface whose current altsetting should be searched. like, this one, the current one, not some other altsetting lurking in the back πŸ‘€
  • ep_addrs β€” a 0-terminated array of the endpoint addresses (number and direction) to look for. so it's number + direction per endpoint, and the whole thing is capped off with a 0 to say "that's everyone, stop looking" 🫢

πŸ”₯ DESCRIPTION πŸ”₯

Search for endpoints with the specified addresses and check their types.

that's literally the whole thing, no cap. you hand it a list of addresses, it goes looking, and it also vibe-checks the type of what it finds. so it's not just "are you there" β€” it's "are you there AND are you the right kind of endpoint." main character energy fr fr πŸ’…


πŸ‘‘ RETURN πŸ‘‘

true if all the endpoints are found and are interrupt, false otherwise.

and yes β€” all of them. one missing or one wrong type and it's false, sorry babe 😭


🧚 SEE ALSO 🧚

bestie the friend group is huge, buckle up:

Kernel file ./drivers/usb/core/usb.c plus usb_find_common_endpoints(9), usb_find_common_endpoints_reverse(9), usb_find_endpoint(9), usb_check_bulk_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)

like I said. a whole squad 🌈


reminder bestie: keep every one of those names exactly as written β€” the kernel does not accept vibes in place of correct identifiers πŸ’€

anyway that's the page!! brought to you by ./drivers/usb/core, dated October 2026, and living under the very official title usb_check_int_endpoints(9). mwah, go check those interrupt endpoints, love u πŸ«ΆπŸ’–

πŸ“¦ where this page comes from