Line 48:
Line 48:
| Releases the device change callback with 0 as return code.
| Releases the device change callback with 0 as return code.
|-
|-
β
| 3 || GetDeviceInfo || 0x20 || 0xc0
+
| 3 || GetDeviceInfo ||
β
| calls /dev/usb/usb ioctl 2
+
0x20 bytes
+
+
1-2: Device index<br>
+
2-4: Device number
+
+
(0-4 is considered as a whole as as the device ID, but IOS only cares about these two values.)
+
+
| 0xc0 bytes (memset to 0)
+
+
20-40: Device descriptor<br>
+
40-52: Config descriptor<br>
+
52-64: Interface descriptor<br>
+
64-72: Endpoint descriptors (interface.bNumEndpoints times)
+
+
| Get USB descriptors for a device. Behind the scenes, calls /dev/usb/usb ioctl 2 (input: internal ID, output: descriptors) and copies information to the output buffer and the internal device struct.
+
+
The descriptor structures match the ones used by libusb (with padding).
|-
|-
| 4 || ? || 0x20 || None
| 4 || ? || 0x20 || None