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);

uint8_t usb2_get_interface_altindex(struct usb2_interface *iface);
usb2_error_t usb2_set_alt_interface_index(struct usb2_device *udev,
            uint8_t iface_index, uint8_t alt_index);
uint8_t usb2_get_mode(struct usb2_device *udev);
uint8_t usb2_get_speed(struct usb2_device *udev);
void    usb2_set_parent_iface(struct usb2_device *udev, uint8_t iface_index,
            uint8_t parent_index);

usb2_req_set_config()

Xfers

usb2_callback_t;
struct usb2_config;

usb2_error_t usb2_transfer_setup(struct usb2_device *udev,
            const uint8_t *ifaces, struct usb2_xfer **pxfer,
            const struct usb2_config *setup_start, uint16_t n_setup,
            void *priv_sc, struct mtx *priv_mtx);
void    usb2_set_frame_data(struct usb2_xfer *xfer, void *ptr,
            usb2_frcount_t frindex);
void    usb2_set_frame_offset(struct usb2_xfer *xfer, usb2_frlength_t offset,
            usb2_frcount_t frindex);
void    usb2_start_hardware(struct usb2_xfer *xfer);
void    usb2_transfer_clear_stall(struct usb2_xfer *xfer);
void    usb2_transfer_drain(struct usb2_xfer *xfer);
void    usb2_transfer_set_stall(struct usb2_xfer *xfer);
uint8_t usb2_transfer_pending(struct usb2_xfer *xfer);
void    usb2_transfer_start(struct usb2_xfer *xfer);
void    usb2_transfer_stop(struct usb2_xfer *xfer);
void    usb2_transfer_unsetup(struct usb2_xfer **pxfer, uint16_t n_setup);

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

uint8_t usb2_get_bus_index(struct usb2_device *udev);
uint8_t usb2_get_device_index(struct usb2_device *udev);
void    usb2_set_power_mode(struct usb2_device *udev, uint8_t power_mode);

uint32_t usb2_get_isoc_fps(struct usb2_device *udev);

usb2_pause_mtx()
  • usb/usbperiphapi.1238439184.txt.gz
  • Last modified: 2009/03/30 18:53
  • by AndrewThompson