Line 554:
Line 554:
| [2.0.0+] 5 || [[#GetXferReport]] ||
| [2.0.0+] 5 || [[#GetXferReport]] ||
|-
|-
−
| [2.0.0+] 6 || || Takes 3 input u32s, 2 input u64s, and a type-0x5 input buffer, returns an output u32.
+
| [2.0.0+] 6 || [[#PostBufferMultiAsync]] ||
|-
|-
| [4.0.0+] 7 || ||
| [4.0.0+] 7 || ||
Line 593:
Line 593:
==== PostBufferAsync ====
==== PostBufferAsync ====
−
Takes an input u32 '''size''', an input u64 '''buffer''', and an input u64, returns an output u32 '''xferId'''.
+
Takes an input u32 '''size''', an input u64 '''buffer''', and an input u64 '''unk''', returns an output u32 '''xferId'''.
HID-sysmodule passes value 0 for the last u64.
HID-sysmodule passes value 0 for the last u64.
+
+
Starts a data transfer with a single urb.
==== GetXferReport ====
==== GetXferReport ====
Line 603:
Line 605:
The buffer contains an array of [[#XferReport]].
The buffer contains an array of [[#XferReport]].
+
+
==== PostBufferMultiAsync ====
+
Unofficial name.
+
+
Takes 3 input u32s ('''urbCount''', '''unk1''', and '''unk2'''), an input u64 '''buffer''' and u64 '''unk''', and a type-0x5 input buffer, returns an output u32 '''xferId'''.
+
+
Where '''unk''' is the same as [[#PostBufferAsync_2|#PostBufferAsync]].
+
+
This uses the same func internally as [[#PostBufferAsync_2|#PostBufferAsync]] except multiple urbs are specified by the user: the input buffer contains an array of u32s for the size of each urb, where '''urbCount''' is the total number of entries in this array. With [[#PostBufferAsync_2|#PostBufferAsync]] the last 2 params passed to the internal func are hard-coded to 0, while with this command it's '''unk1''' and '''unk2'''.
= UsbHsInterface =
= UsbHsInterface =