=============================================================================
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: