KolibriOS kernel
usb_device_data Struct Reference

Device-specific data. More...

Public Attributes

MUTEX PipeListLock
rd OpenedPipeList
rd ClosedPipeList
dd NumPipes
dd Hub
dd TTHub
db Port
db TTPort
db DeviceDescrSize
db Speed
dd Timer
dd NumInterfaces
dd ConfigDataSize
dd Interfaces

Detailed Description

Device-specific data.


Member Data Documentation

◆ ClosedPipeList

rd usb_device_data::ClosedPipeList

List of all opened pipes for the device. Used when the device is disconnected, so all pipes should be closed.

◆ ConfigDataSize

dd usb_device_data::ConfigDataSize

Number of interfaces.

◆ DeviceDescrSize

db usb_device_data::DeviceDescrSize

Port on the TTHub, zero-based.

◆ Hub

dd usb_device_data::Hub

Number of not-yet-closed pipes.

◆ Interfaces

dd usb_device_data::Interfaces

Total size of data associated with the configuration descriptor (including the configuration descriptor itself).

◆ NumInterfaces

dd usb_device_data::NumInterfaces

Handle of timer that handles request timeout.

◆ NumPipes

dd usb_device_data::NumPipes

List of all closed, but still valid pipes for the device. A pipe closed with USBClosePipe is just deallocated, but a pipe closed due to disconnect must remain valid until driver-provided disconnect handler returns; this list links all such pipes to deallocate them after disconnect processing.

◆ OpenedPipeList

rd usb_device_data::OpenedPipeList

Lock guarding OpenedPipeList. Must be the first item of the structure, the code passes pointer to usb_device_data as is to mutex_lock/unlock.

◆ PipeListLock

MUTEX usb_device_data::PipeListLock

◆ Port

db usb_device_data::Port

Pointer to usb_hub for (the) hub with Transaction Translator for the device, NULL if the device operates in the same speed as the controller.

◆ Speed

db usb_device_data::Speed

Size of device descriptor.

◆ Timer

dd usb_device_data::Timer

Device speed, one of USB_SPEED_*.

◆ TTHub

dd usb_device_data::TTHub

NULL if connected to the root hub, pointer to usb_hub otherwise.

◆ TTPort

db usb_device_data::TTPort

Port on the hub, zero-based.

The documentation for this struct was generated from the following file: