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 === |