Changes

487 bytes added ,  15:24, 27 October 2017
Line 15: Line 15:  
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
βˆ’
! Ioctl
+
! Ioctl !! Name !! Input !! Output
βˆ’
! Parameters
+
! Notes
βˆ’
! Function
  βˆ’
! Notes  
   
|-
 
|-
βˆ’
| 0
+
| 0 || GetVersion || None ||
βˆ’
| 0 / 0x20 (ioctl)
+
32 bytes
βˆ’
| ven_open
+
 
βˆ’
|  
+
0-4: version (0x50001)
 +
|
 
|-
 
|-
βˆ’
| 1
+
| 1 || GetDeviceChange || None ||
βˆ’
| 0 / 0x180 (ioctl)
+
<code>Entry[32]</code> (0x180 bytes)
βˆ’
| ven_attach_complete_callback
+
 
βˆ’
|
+
For each entry:
 +
 
 +
0-1: IPC request address >> 8<br>
 +
1-2: Device index (0 to 31)<br>
 +
2-4: Device number<br>
 +
4-6: VID<br>
 +
6-8: PID<br>
 +
8-10: Device number<br>
 +
10-11: Interface number<br>
 +
11-12: Number of alternate settings<br>
 +
 
 +
| Set up a device insertion/removal callback. Returns the number of entries.
 +
 
 +
Note that this ioctl immediately returns on the first call.
 
|-
 
|-
βˆ’
| 2
+
| 2 || Shutdown || None || None
βˆ’
| 0 / 0 (ioctl)
+
| Releases the device change callback with 0 as return code.
βˆ’
| ven_close
  βˆ’
|  
   
|-
 
|-
βˆ’
| 3
+
| 3 || GetDeviceInfo || 0x20 || 0xc0
βˆ’
| 0x20 / 0xC0 (ioctl)
  βˆ’
| ?
   
| calls /dev/usb/usb ioctl 2
 
| calls /dev/usb/usb ioctl 2
 
|-
 
|-
βˆ’
| 4
+
| 4 || ? || 0x20 || None
βˆ’
| 0x20 / 0 (ioctl)
+
|
βˆ’
| ?
  βˆ’
|  
   
|-
 
|-
βˆ’
| 5
+
| 5 || ? || 0x20 || None
βˆ’
| 0x20 / 0 (ioctl)
  βˆ’
| ?
   
| indirectly calls /dev/usb/usb ioctl 1
 
| indirectly calls /dev/usb/usb ioctl 1
 
|-
 
|-
βˆ’
| 6
+
| 6 || AttachFinish || None || None
βˆ’
| 0 / 0 (ioctl)
  βˆ’
| ?
   
| calls /dev/usb/usb ioctl 1
 
| calls /dev/usb/usb ioctl 1
 
|-
 
|-
βˆ’
| 7
+
| 7 || SetAlternateSetting || 0x20 || None
βˆ’
| 0x20 / 0 (ioctl)
  βˆ’
| ven_set_alt_setting
   
| calls /dev/usb/usb ioctl 5 and/or 0x11
 
| calls /dev/usb/usb ioctl 5 and/or 0x11
 
|-
 
|-
βˆ’
| 8
+
| 8 || ? || 0x20 || None
βˆ’
| 0x20 / ? (ioctl)
  βˆ’
| ?
   
| calls /dev/usb/usb ioctl 3
 
| calls /dev/usb/usb ioctl 3
 
|-
 
|-
βˆ’
| 0x10
+
| 0x10 || SuspendResume || 0x20 || None
βˆ’
| 0x20 / 0 (ioctl)
  βˆ’
| ven_suspend_resume, ven_attach_suspend_callback, ven_attach_get_device_params_callback
   
| calls /dev/usb/usb ioctl 4
 
| calls /dev/usb/usb ioctl 4
 
|-
 
|-
βˆ’
| 0x11
+
| 0x11 || CancelEndpoint || 0x20 || None
βˆ’
| 0x20 / 0 (ioctl)
  βˆ’
| ven_cancel_endpoint
   
| calls /dev/usb/usb ioctl 0x10
 
| calls /dev/usb/usb ioctl 0x10
 
|-
 
|-
βˆ’
| 0x12
+
| 0x12 (ioctlv) || CtrlTransfer ||colspan=2| 1 in / 1 io or 2 in / 0 io
βˆ’
| 1 in / 1 io, or 2 in / 0 io? (ioctlv)
  βˆ’
| ven_ctrl
   
| calls /dev/usb/usb ioctl 0x11
 
| calls /dev/usb/usb ioctl 0x11
 
|-
 
|-
βˆ’
| 0x13
+
| 0x13 (ioctlv) || IntrTransfer ||colspan=2| 1 in / 1 io or 2 in / 0 io
βˆ’
| 1/1 or 2/0? (ioctlv)
  βˆ’
| ven_intr
   
| calls /dev/usb/usb ioctl 0x12
 
| calls /dev/usb/usb ioctl 0x12
 
|-
 
|-
βˆ’
| 0x14
+
| 0x14 (ioctlv) || IsoTransfer ||colspan=2| 2 in / 2 io or 3 in / 1 io
βˆ’
| 2/2 or 3/1 (ioctlv)
  βˆ’
| ven_isoc
   
| calls /dev/usb/usb ioctl 0x13
 
| calls /dev/usb/usb ioctl 0x13
 
|-
 
|-
βˆ’
| 0x15
+
| 0x15 (ioctlv) || BulkTransfer ||colspan=2| ?
βˆ’
| ? (ioctlv)
  βˆ’
| ven_?
   
| calls /dev/usb/usb ioctl 0x14
 
| calls /dev/usb/usb ioctl 0x14
 
|}
 
|}
219

edits