Changes

Jump to navigation Jump to search
1,108 bytes added ,  03:56, 27 November 2018
Line 506: Line 506:  
=== GetCtrlXferReport ===
 
=== GetCtrlXferReport ===
 
Takes a type-0x6 output buffer, no output. The output buffer contains a [[#XferReport]].
 
Takes a type-0x6 output buffer, no output. The output buffer contains a [[#XferReport]].
 +
 +
=== SubmitControlInRequest ===
 +
Takes a type-0x6 output buffer, 2 input u8s ('''bRequest''' and '''bmRequestType'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u32 '''unk'''. Returns an output u32 for the actual transferred size.
 +
 +
Official user-processes uses a buffer where the buffer address/size is page-aligned, where '''wLength''' is the original size before alignment. The user-process also flushes dcache for this buffer using '''wLength''', before/after using this command. Official sw passes value 0 for '''unk'''.
 +
 +
=== SubmitControlOutRequest ===
 +
Takes a type-0x5 input buffer, 2 input u8s ('''bRequest''' and '''bmRequestType'''), 3 input u16s ('''wValue''', '''wIndex''', and '''wLength'''), and an input u32 '''unk'''. Returns an output u32 for the actual transferred size.
 +
 +
Official user-processes uses a buffer where the buffer address/size is page-aligned, where '''wLength''' is the original size before alignment. The user-process also flushes dcache for this buffer using '''wLength''', before using this command. Official sw passes value 0 for '''unk'''.
    
=== ResetDevice ===
 
=== ResetDevice ===

Navigation menu