Line 55:
Line 55:
! Request !! Name !! Input !! Output !! OH0/OH1
! Request !! Name !! Input !! Output !! OH0/OH1
! Notes
! Notes
−
−
|-
−
| 0 (ioctlv) || ? || ? || ? || OH0
−
| ?
−
−
|-
−
| 8 (ioctlv) || ? || 1 || 1 || OH0
−
|
−
Unknown.
−
* in 0: u8 - ???
−
* io 0: u32 - ???
|-
|-
Line 74:
Line 63:
* io 0: u8 - number of devices
* io 0: u8 - number of devices
* io 1: u32* of size num_descriptors * 8 - device list
* io 1: u32* of size num_descriptors * 8 - device list
−
−
|-
−
| 13 (ioctlv) || ? || ? || ? || OH0
−
|
−
?
|-
|-
| 15 (ioctl) || ? || - || 4 bytes || Both
| 15 (ioctl) || ? || - || 4 bytes || Both
| Unknown. Appears to return 02 00 03 02 regardless of the number of plugged in devices.
| Unknown. Appears to return 02 00 03 02 regardless of the number of plugged in devices.
−
−
|-
−
| 15 (ioctlv) || ? || ? || ? || OH0
−
|
−
Unknown. Seems to trigger "* Sent already attached device *" in some cases.
−
−
|-
−
| 16 (ioctlv) || ? || 1 || 0 || OH0
−
|
−
Unknown. Seems to trigger "* Sent already attached device *" in some cases.
−
* in 0: u8 - ???
−
−
|-
−
| 18 (ioctlv) || ? (IntrBlkIRP) || 3 || 1 || OH0
−
|
−
Unknown.
−
* in 0: u16 - ???
−
* in 1: u16 - ???
−
* in 2: u8 - ???
−
* io 1: u32 - ???
−
−
|-
−
| 20 (ioctlv) || ? || 1 || 1 || Both
−
| Unknown.
−
* in 0: u8 - ???
−
* io 0: u16 - ???
−
−
|-
−
| 25 (ioctlv) || ? || 2 || ? || Both
−
| Unknown. Returns IPC_EINVAL if in_vectors[0] is greater than the least significant byte of (heap + 0x40). Possibly has to do with suspend/resume. {{check}}
−
* in 0: u8 - ???
−
* in 1: u16 - ???
|-
|-