1. NAME

usb_get_descriptor - issues a generic GET_DESCRIPTOR request

2. SYNOPSIS

int usb_get_descriptor(struct usb_device *  dev , unsigned char  type , unsigned char  index , void *  buf , int  size );

3. ARGUMENTS

dev
    the device whose descriptor is being retrieved

type
    the descriptor type (USB_DT_*)

index
    the number of the descriptor

buf
    where to put the descriptor

size
    how big is « buf »?

4. CONTEXT

!in_interrupt ()

5. DESCRIPTION

Gets a USB descriptor. Convenience functions exist to simplify getting some types of descriptors. Use usb_get_string or usb_string for USB_DT_STRING. Device (USB_DT_DEVICE) and configuration descriptors (USB_DT_CONFIG) are part of the device structure. In addition to a number of USB-standard descriptors, some devices also use class-specific or vendor-specific descriptors.

This call is synchronous, and may not be used in an interrupt context.

Returns the number of bytes received on success, or else the status code returned by the underlying usb_control_msg call.

6. COPYRIGHT