USB services: Difference between revisions
manu strings |
|||
Line 297: | Line 297: | ||
==== PostBufferAsync ==== | ==== PostBufferAsync ==== | ||
Takes an u32 ('''size''') and an u64 ('''buffer'''). Returns an output u32, | 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 ==== |