USB Library Reference

This chapter includes descriptions of the USB functions in alphabetical order, along with a listing of the functions arranged by category.


Note: These functions are defined in the libusbdi library. Use the -l usbdi option to link against this library.

This chapter includes the following:

usbd_abort_pipe()
usbd_alloc()
usbd_alloc_urb()
usbd_args_lookup()
usbd_attach()
usbd_close_pipe()
usbd_configuration_descriptor()
usbd_connect()
usbd_descriptor()
usbd_detach()
usbd_device_descriptor()
usbd_device_extra()
usbd_device_lookup()
usbd_disconnect()
usbd_endpoint_descriptor()
usbd_feature()
usbd_free()
usbd_free_urb()
usbd_get_frame()
usbd_hcd_ext_info(), usbd_hcd_info()
usbd_hub_descriptor()
usbd_interface_descriptor()
usbd_io()
usbd_languages_descriptor()
usbd_mphys()
usbd_open_pipe()
usbd_parse_descriptors()
usbd_pipe_device()
usbd_pipe_endpoint()
usbd_reset_device()
usbd_reset_pipe()
usbd_select_config()
usbd_select_interface()
usbd_setup_bulk()
usbd_setup_control()
usbd_setup_interrupt()
usbd_setup_isochronous()
usbd_setup_vendor()
usbd_status()
usbd_string()
usbd_topology(), usbd_topology_ext()
usbd_urb_status()

Functions arranged by category

The USB functions may be grouped into these categories:

Connection functions

usbd_connect()
Connect a client driver to the USB stack.
usbd_disconnect()
Disconnect a client driver from the USB stack.
usbd_attach()
Attach to a USB device.
usbd_detach()
Detach from a USB device.

Memory-management functions

usbd_alloc()
Allocate memory area to use for data transfers.
usbd_free()
Free memory allocated by usbd_alloc().
usbd_mphys()
Get the physical address of memory allocated by usbd_alloc().
usbd_alloc_urb()
Allocate a USB Request Block for subsequent URB-based operations.
usbd_free_urb()
Free the URB allocated by usbd_alloc_urb().

I/O functions

usbd_setup_bulk()
Set up a URB for a bulk data transfer.
usbd_setup_interrupt()
Set up a URB for an interrupt transfer.
usbd_setup_isochronous()
Set up a URB for an isochronous transfer.
usbd_setup_vendor()
Set up a URB for a vendor-specific transfer.
usbd_setup_control()
Set up a URB for a control transfer.
usbd_io()
Submit a previously set up URB to the USB stack.
usbd_feature()
Control a feature for a USB device.
usbd_descriptor()
Get or set USB descriptors.
usbd_status()
Get specific device status.

Pipe-management functions

usbd_open_pipe()
Initialize the pipe described by the device or endpoint descriptor.
usbd_close_pipe()
Close a pipe previously opened by the usbd_open_pipe() function.
usbd_reset_pipe()
Clear a stall condition on an endpoint identified by the pipe handle.
usbd_abort_pipe()
Abort all requests on a pipe.
usbd_pipe_device()
Retrieve the device associated with the pipe.
usbd_pipe_endpoint()
Retrieve the endpoint number associated with the pipe.

Configuration and interface functions

usbd_select_config()
Select the configuration for a USB device.
usbd_select_interface()
Select the interface for a USB device.

Miscellaneous and convenience functions

usbd_args_lookup()
Look up a driver's command-line arguments.
usbd_configuration_descriptor()
Get the configuration descriptor for a specific configuration setting.
usbd_device_lookup()
Map the device instance identifier to an opaque device handle (from usbd_attach()).
usbd_device_extra()
Retrieve a pointer to the device-specific extra memory allocated by usbd_attach().
usbd_device_descriptor()
Get the device descriptor for a specific device.
usbd_endpoint_descriptor()
Get the endpoint descriptor for a specific endpoint setting.
usbd_get_frame()
Get the current frame number and frame length for a device.
usbd_hcd_ext_info(), usbd_hcd_info()
Get information on the USB host controller and DDK library.
usbd_hub_descriptor()
Get the hub descriptor for a specific (hub) device.
usbd_interface_descriptor()
Get the interface descriptor for a specific interface setting.
usbd_languages_descriptor()
Get the table of supported LANGIDs for the given device.
usbd_parse_descriptors()
Parse device descriptors looking for a specific entry.
usbd_reset_device()
Reset a USB device.
usbd_string()
Get a string descriptor.
usbd_urb_status()
Return status information on a URB.
usbd_topology(), usbd_topology_ext()
Get the USB bus physical topology.