USB services: Difference between revisions

Line 530: Line 530:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name  
|-
|-
| 0 || || No input, returns an output handle.
| 0 ||
|-
|-
| 1 || [[#SetInterface]] ||
| 1 || [[#SetInterface]]
|-
|-
| 2 || [[#GetInterface]] ||
| 2 || [[#GetInterface]]
|-
|-
| 3 || [[#GetAlternateInterface]] ||
| 3 || [[#GetAlternateInterface]]
|-
|-
| 4 [1.0.0] 5) || [[#GetCurrentFrame]] ||
| 4 [1.0.0] 5) || [[#GetCurrentFrame]]
|-
|-
| [2.0.0+] 5 || [[#CtrlXferAsync]] ||
| [2.0.0+] 5 || [[#CtrlXferAsync]]
|-
|-
| 6 || ([1.0.0] [[#SubmitControlInRequest]]) || No input, returns an output handle. Signaled when [[#CtrlXferAsync]] finishes.
| 6 || ([1.0.0] [[#SubmitControlInRequest]])  
|-
|-
| 7 || [[#GetCtrlXferReport]] ([1.0.0] [[#SubmitControlOutRequest]]) ||
| 7 || [[#GetCtrlXferReport]] ([1.0.0] [[#SubmitControlOutRequest]])
|-
|-
| 8 || [[#ResetDevice]] ||
| 8 || [[#ResetDevice]]
|-
|-
| 9 ([1.0.0] 4) || [[#OpenUsbEp]] ||
| 9 ([1.0.0] 4) || [[#OpenUsbEp]]  
|}
|}


Line 556: Line 556:


Immediately after opening the session, official sw uses cmd0 and cmd6.
Immediately after opening the session, official sw uses cmd0 and cmd6.
=== Cmd0 ===
No input, returns an output handle.


=== SetInterface ===
=== SetInterface ===
Line 573: Line 576:
=== CtrlXferAsync ===
=== CtrlXferAsync ===
Takes 2 input u8s ('''bmRequestType''' and '''bRequest'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u64 '''buffer''', no output.
Takes 2 input u8s ('''bmRequestType''' and '''bRequest'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u64 '''buffer''', no output.
=== Cmd6 ===
No input, returns an output handle. Signaled when [[#CtrlXferAsync]] finishes.


=== GetCtrlXferReport ===
=== GetCtrlXferReport ===