Changes

311 bytes added ,  14:26, 12 October 2017
manu strings
Line 297: Line 297:     
==== PostBufferAsync ====
 
==== PostBufferAsync ====
Takes an u32 ('''size''') and an u64 ('''buffer'''). Returns an output u32, this is unrelated to size.
+
Takes an u32 ('''size''') and an u64 ('''buffer'''). Returns an output u32 ('''urbId'''). The output urbId can then be used while parsing the output of [[#GetReportData]], after waiting for the CompletionEvent to be signalled.
    
The buffer address must be 0x1000-byte aligned. The input size doesn't matter.
 
The buffer address must be 0x1000-byte aligned. The input size doesn't matter.
Line 313: Line 313:     
==== GetReportData ====
 
==== GetReportData ====
No input. Returns 0x84 bytes of report data from the endpoint. Seems to be eventually loaded from state, since this doesn't trigger any USB bus activity.
+
No input. Returns 0x84 bytes of report data from the endpoint. Seems to be eventually loaded from state, since this doesn't trigger any USB bus activity. All-zero before PostBufferAsync was used at least once.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| ... || ... || ...
 +
|-
 +
| 0x80 || 0x4 || u32 report count
 +
|}
    
==== Stall ====
 
==== Stall ====