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