KolibriOS kernel
usb_gtd Struct Reference

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

Public Attributes

dd Callback
 
dd UserData
 
dd NextVirt
 
dd PrevVirt
 
dd Pipe
 
dd Buffer
 
dd Length
 

Detailed Description

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

Member Data Documentation

◆ Buffer

dd usb_gtd::Buffer

Pointer to the parent usb_pipe.

◆ Callback

dd usb_gtd::Callback

◆ Length

dd usb_gtd::Length

Pointer to data for this descriptor.

◆ NextVirt

dd usb_gtd::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

dd usb_gtd::Pipe

◆ PrevVirt

dd usb_gtd::PrevVirt

◆ UserData

dd usb_gtd::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: