=============================================================================
More...
=============================================================================
================================ Structures =================================
This structure contains all used data for one hub.
- Source
- bus/usb/hub.inc:101
◆ AccStatusChange
db usb_hub::AccStatusChange |
Buffer for configuration requests for status changes.
◆ Actions
Maximum packet size for interrupt endpoint. Usually equals ceil((1+NumPorts)/8), but some hubs give additional bytes.
◆ ChangeConfigBuffer
rb usb_hub::ChangeConfigBuffer |
Buffer for configuration requests for synchronous events.
◆ ConfigBuffer
Time (in ticks) when the current port was reset; when a port is resetting, contains the last tick of status check; when reset recovery for a port is active, contains the time when reset was completed.
There are two possible reasons for configuration requests: synchronous, when certain time is passed after something, and asynchronous, when the hub is notifying about some change and config request needs to be issued in order to query details. Use two different buffers to avoid unnecessary dependencies.
◆ ConfigPipe
Pointer to usb_controller for the bus.
Handles of two pipes: configuration control pipe for zero endpoint opened by the common code and status interrupt pipe opened by us.
◆ ConnectedDevicesPtr
dd usb_hub::ConnectedDevicesPtr |
Pointer to StatusChangeBuf.
◆ ConnectedTimePtr
dd usb_hub::ConnectedTimePtr |
Pointer to ConnectedDevices.
◆ Controller
◆ HubCharacteristics
dw usb_hub::HubCharacteristics |
Accumulated status change. See 11.12.3 of USB2 spec or comments in code.
◆ MaxPacketSize
dd usb_hub::MaxPacketSize |
Number of downstream ports; from 1 to 255.
◆ Next
All configured hubs are organized in the global usb_hub_list. Two following fields give next/prev items in that list. While the hub is unconfigured, they point to usb_hub itself.
◆ NumPorts
◆ PoweredOnTime
dd usb_hub::PoweredOnTime |
Bitfield with HUB_* constants.
◆ PowerOnInterval
db usb_hub::PowerOnInterval |
◆ Prev
◆ ResetStatusChange
dw usb_hub::ResetStatusChange |
◆ ResetStatusData
dw usb_hub::ResetStatusData |
Bitfield with 1 shl PORT_* indicating change in status of the current port. Two following fields are written at once by GET_STATUS request and must remain in this order. The meaning is the same as of StatusData/StatusChange; two following fields are used by the synchronous requests to avoid unnecessary interactions with the asynchronous handler.
◆ ResetTime
Time (in ticks) when all downstream ports were powered up.
◆ StatusChange
Bitfield with 1 shl PORT_* indicating status of the current port.
◆ StatusChangePtr
dd usb_hub::StatusChangePtr |
◆ StatusData
◆ StatusPipe
The documentation for this struct was generated from the following file: