This structure represents one transfer descriptor ('g' stands for "general" as opposed to isochronous usb_itd). Note that one transfer can have several descriptors: a control transfer has three stages. Additionally, every controller has a limit on transfer length with one descriptor (packet size for UHCI, 1K for OHCI, 4K for EHCI), large transfers must be split into individual packets according to that limit.
More...
This structure represents one transfer descriptor ('g' stands for "general" as opposed to isochronous usb_itd). Note that one transfer can have several descriptors: a control transfer has three stages. Additionally, every controller has a limit on transfer length with one descriptor (packet size for UHCI, 1K for OHCI, 4K for EHCI), large transfers must be split into individual packets according to that limit.
- Source
- bus/usb/common.inc:387
◆ Buffer
◆ Callback
◆ Length
Pointer to data for this descriptor.
◆ NextVirt
Dword which is passed to Callback as is, not used by USB code itself. Two following fields organize all descriptors for one pipe in the linked list.
◆ Pipe
◆ PrevVirt
◆ UserData
Zero for intermediate descriptors, pointer to callback function for final descriptor. See the docs for description of the callback.
The documentation for this struct was generated from the following file: