This is an old revision of the document!
The current API, this will hopefully change for http://lists.freebsd.org/pipermail/freebsd-usb/2009-March/006631.html
Probiing
struct usb2_attach_arg; struct usb2_device_id; usb2_lookup_id_by_uaa() device_set_usb2_desc()
Descriptors
const char *usb2_errstr(usb2_error_t error); struct usb2_config_descriptor *usb2_get_config_descriptor(struct usb2_device *udev); struct usb2_device_descriptor *usb2_get_device_descriptor(struct usb2_device *udev); struct usb2_interface *usb2_get_iface(struct usb2_device *udev, uint8_t iface_index); struct usb2_interface_descriptor *usb2_get_interface_descriptor(struct usb2_interface *iface); usb2_req_set_config() usb2_set_parent_iface()
Xfers
usb2_callback_t; struct usb2_config; usb2_transfer_setup() usb2_transfer_unsetup() usb2_transfer_start() usb2_transfer_stop() usb2_transfer_set_stall() usb2_start_hardware() USB_GET_STATE()
Procs
usb2_proc_create() usb2_proc_free() usb2_proc_drain() usb2_proc_msignal() usb2_proc_mwait()
Control requests
struct usb2_device_request; usb2_do_request()
Misc
usb2_pause_mtx()