On Thu, 18 Sep 2003, Robert Schwebel wrote:

> Hi, 
> 
> According to the USB 2.0 specification Endpoint Descriptors must have a
> length of 7 bytes; linux/usb.h defines two additional bytes (bRefresh,
> bSynchAddress) and extra + extralen. Can anybody explain why these have
> been added? 

Read the second paragraph in section 9.6 of the USB 2.0 spec for an
explanation of why bRefresh and bSynchAddress are there.  They are an
extension made for the USB Audio device class.  (This is also explained in
include/linux/usb_ch9.h.)

The reason for extra and extralen is given in section 9.4.3 of the USB 
spec.  It says:

        Class-specific and/or vendor-specific descriptors follow the
        standard descriptors they extend or modify.

The extra pointer and extralen value point to the class-specific and/or 
vendor-specific descriptors that follow the endpoint descriptor and give 
their length.

Alan Stern



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to