The bcdVersion field is a version number of the header using the same 0xJJMN 
syntax.

The data is part of the complete packet regardless if the host is sending or 
receiving data to/from the device.

—scott


> On Dec 11, 2016, at 6:27 PM, Guy Harris <g...@alum.mit.edu> wrote:
> 
> On Dec 11, 2016, at 8:12 AM, Scott Deandrea <sdeand...@apple.com> wrote:
> 
>> The bcdVersion field is interpreted as described by the bcdUSB field of the 
>> standard device descriptor in section 9.6.1:
>> The bcdUSB field contains a BCD version number. The value of the bcdUSB 
>> field is 0xJJMN for version JJ.M.N (JJ – major version number, M – minor 
>> version number, N – sub-minor version number), e.g., version 2.1.3 is 
>> represented with value 0x0213 and version 2.0 is represented with a value of 
>> 0x0200.
> 
> The bcdUSB field in section 9.6.1 "Device" appears to be the version of the 
> USB specification that the device supports.  Is that the case?
> 
> If so, is the bcdVersion field also a USB specification version number, or is 
> it a version number of the USB-over-BPF protocol, using the same 0xJJMN 
> syntax as the USB specification version number in bsdUSB?
> 
>> Yes, for every USB request issued by the host there’s a 
>> kAppleUSBHostPacketFilterRequestSubmit packet emitted at request time and a 
>> kAppleUSBHostPacketFilterRequestComplete packet emitted when the request 
>> completes with the same ioID value.  For control endpoints, the submit 
>> packet also contains the setup data.  For all other endpoint types, the 
>> submit packet is only this header.  The complete packet contains any data 
>> that was transferred.
> 
> So that's the case both if the host is sending data to the device and if the 
> host is receiving data from the device - the complete packet has the data?

_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to