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