USB services: Difference between revisions
No edit summary  | 
				 →IClientEpSession:  namez  | 
				||
| Line 621: | Line 621: | ||
! Cmd || Name  | ! Cmd || Name  | ||
|-  | |-  | ||
| 0 || [[#  | | 0 || [[#ReOpen]] ([1.0.0] [[#SubmitOutRequest]])  | ||
|-  | |-  | ||
| 1 || [[#Close]] ([1.0.0] [[#SubmitInRequest]])  | | 1 || [[#Close]] ([1.0.0] [[#SubmitInRequest]])  | ||
|-  | |-  | ||
| 2 || ([1.0.0] Reset)  | | 2 || GetCompletionEvent ([1.0.0] Reset)  | ||
|-  | |-  | ||
| 3 || [[#  | | 3 || [[#PopulateRing]] ([1.0.0] [[#Close]])  | ||
|-  | |-  | ||
| [2.0.0+] 4 || [[#PostBufferAsync_2|#PostBufferAsync]]  | | [2.0.0+] 4 || [[#PostBufferAsync_2|#PostBufferAsync]]  | ||
| Line 633: | Line 633: | ||
| [2.0.0+] 5 || [[#GetXferReport]]  | | [2.0.0+] 5 || [[#GetXferReport]]  | ||
|-  | |-  | ||
| [2.0.0+] 6 || [[#  | | [2.0.0+] 6 || [[#BatchBufferAsync]]  | ||
|-  | |-  | ||
| [4.0.0+] 7 ||  | | [4.0.0+] 7 || [[#CreateSmmuSpace]]  | ||
|-  | |-  | ||
| [4.0.0+] 8 ||  | | [4.0.0+] 8 || [[#ShareReportRing]]  | ||
|}  | |}  | ||
| Line 654: | Line 654: | ||
Official user-processes uses a buffer where the buffer address/size is page-aligned, where '''size''' is the original size before alignment. The user-process also flushes dcache for this buffer using '''size''', before/after using this command. Official sw passes value 0 for '''unk'''.  | Official user-processes uses a buffer where the buffer address/size is page-aligned, where '''size''' is the original size before alignment. The user-process also flushes dcache for this buffer using '''size''', before/after using this command. Official sw passes value 0 for '''unk'''.  | ||
====   | ==== ReOpen ====  | ||
No input/output.  | No input/output.  | ||
| Line 669: | Line 669: | ||
No input, returns an output handle. Signaled when [[#PostBufferAsync_2|#PostBufferAsync]] finishes. ([1.0.0] [[#Open]])  | No input, returns an output handle. Signaled when [[#PostBufferAsync_2|#PostBufferAsync]] finishes. ([1.0.0] [[#Open]])  | ||
====   | ==== PopulateRing ====  | ||
No input/output.  | No input/output.  | ||
| Line 688: | Line 688: | ||
The buffer contains an array of [[#XferReport]].  | The buffer contains an array of [[#XferReport]].  | ||
====   | ==== BatchBufferAsync ====  | ||
Takes 3 input u32s ('''urbCount''', '''unk1''', and '''unk2'''), an input u64 '''buffer''' and u64 '''unk''', and a type-0x5 ([3.0.0+] type-0x21) input buffer, returns an output u32 '''xferId'''.  | Takes 3 input u32s ('''urbCount''', '''unk1''', and '''unk2'''), an input u64 '''buffer''' and u64 '''unk''', and a type-0x5 ([3.0.0+] type-0x21) input buffer, returns an output u32 '''xferId'''.  | ||
| Line 697: | Line 696: | ||
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'''.  | 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'''.  | ||
====   | ==== CreateSmmuSpace ====  | ||
Takes a total of 0x10-bytes of input, no output.  | Takes a total of 0x10-bytes of input, no output.  | ||
====   | ==== ShareReportRing ====  | ||
Takes a total of 0x4-bytes of input and an input handle, no output.  | Takes a total of 0x4-bytes of input and an input handle, no output.  | ||