tcpdump mailing list archives
Re: DLT_ request
From: Guy Harris <guy () alum mit edu>
Date: Fri, 9 Dec 2016 17:40:38 -0800
On Dec 9, 2016, at 1:37 PM, Scott Deandrea <sdeandrea () apple com> wrote:
The link-layer header format is as follows: struct { // Control information uint16_t bcdVersion; // version of this structure
What's the current version? 0, 1, or something else?
uint8_t headerLength; // length of this structure
Presumably length in bytes.
uint8_t requestType; // tAppleUSBHostPacketFilterRequestType
So what are the possible values for requestType? (I don't see tAppleUSBHostPacketFilterRequestType anywhere in the public XNU source or any header from Xcode.)
// Transfer information uint32_t ioLength; // amount of data requested/transferred
Presumably length in bytes.
uint32_t ioStatus; // IOReturn uint32_t ioFrameCount; // number of isoch frames following uint64_t ioID; // unique id for this I/O // Device information uint32_t deviceLocation; // locationID of the device uint8_t deviceSpeed; // tEndpointSpeed
Is this an enumerated value, a bits/second value, or something else?
uint8_t deviceAddress; // tUSBHostDeviceAddress
So that's just a standard 7-bit USB device address, presumably, as per the USB 3.1 spec: A 7-bit value representing the address of a device on the USB. The device address is the default address (00H) when the USB device is first powered or the device is reset. Devices are assigned a unique device address by the USB system software. with the 8th bit zero?
uint8_t endpointAddress; // Address and Direction
So that's the endpoint in the lower 4 bits, and the direction somewhere in the upper 4 bits? What are the representations for IN and OUT?
uint8_t endpointType; // tEndpointType
So what are the values for bulk, control, interrupt, and isochronous?
// Additional information
So the additional information's presence would be indicated by a greater headerLength and possibly also by a different bcdVersion value?
} __attribute__((packed, aligned(sizeof(uint32_t)))); The packet payload is the raw USB data that was sent/received for I/O request.
So that would be the "data field" from section 8.3.4 "Data Field" from the USB 2.0 spec and the DWORDs following the 16-byte header from the USB 3.1 spec? _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- DLT_ request Scott Deandrea (Dec 07)
- Re: DLT_ request Guy Harris (Dec 07)
- Re: DLT_ request Scott Deandrea (Dec 09)
- Re: DLT_ request Guy Harris (Dec 09)
- Re: DLT_ request Scott Deandrea (Dec 09)
- Re: DLT_ request Guy Harris (Dec 10)
- Re: DLT_ request Scott Deandrea (Dec 11)
- Re: DLT_ request Guy Harris (Dec 11)
- Re: DLT_ request Scott Deandrea (Dec 12)
- Re: DLT_ request Guy Harris (Dec 12)
- Re: DLT_ request Scott Deandrea (Dec 12)
- Re: DLT_ request Scott Deandrea (Dec 09)
- Re: DLT_ request Guy Harris (Dec 07)
- Re: DLT_ request Guy Harris (Dec 09)
- Re: DLT_ request Guy Harris (Dec 10)
- Re: DLT_ request Scott Deandrea (Dec 11)