USB services: Difference between revisions
Line 554: | Line 554: | ||
| [2.0.0+] 5 || [[#GetXferReport]] || | | [2.0.0+] 5 || [[#GetXferReport]] || | ||
|- | |- | ||
| [2.0.0+] 6 || || | | [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 = |