Line 54:
Line 54:
2-4: Device number
2-4: Device number
β
(0-4 is considered as a whole as as the device ID, but IOS only cares about these two values.)
+
(0-4 is considered as a whole as the device ID, but IOS only cares about these two values.)
| 0xc0 bytes (memset to 0)
| 0xc0 bytes (memset to 0)
Line 67:
Line 67:
The descriptor structures match the ones used by libusb (with padding).
The descriptor structures match the ones used by libusb (with padding).
|-
|-
β
| 4 || ? || 0x20 || None
+
| 4 || ?
β
|
+
| 0x20 bytes
+
+
1-2: Device index<br>
+
2-4: Device number
+
| None
+
| ? (related to callbacks) {{check}}
|-
|-
β
| 5 || ? || 0x20 || None
+
| 5 || ?
β
| indirectly calls /dev/usb/usb ioctl 1
+
| 0x20 bytes
+
+
1-2: Device index<br>
+
2-4: Device number
+
| None
+
| ? (related to callbacks) {{check}}
+
+
The caller handle must match a stored ID (?)
+
+
May trigger change callbacks and reissue /dev/usb/usb ioctl 1 in some conditions.
|-
|-
| 6 || AttachFinish || None || None
| 6 || AttachFinish || None || None
β
| calls /dev/usb/usb ioctl 1
+
| The caller handle must match a stored ID (?)
+
+
If it does, IPC_SUCCESS is returned, change callbacks are triggered and /dev/usb/usb ioctl 1 is issued.
|-
|-
| 7 || SetAlternateSetting || 0x20 || None
| 7 || SetAlternateSetting || 0x20 || None