|
ReactOS 0.4.17-dev-1281-g065abb3
|

Go to the source code of this file.
Macros | |
| #define | HUB_LPM_POLICY_U1_ENABLED 0x00000001 |
| #define | HUB_LPM_POLICY_U2_ENABLED 0x00000002 |
| #define | HUB_LPM_POLICY_U1_ACCEPT 0x00000004 |
| #define | HUB_LPM_POLICY_U2_ACCEPT 0x00000008 |
| #define | HUB_LPM_POLICY_U1_INITIATE 0x00000010 |
| #define | HUB_LPM_POLICY_U2_INITIATE 0x00000020 |
| #define | HUB_LPM_POLICY_CONSERVATIVE 0x00000040 |
| #define | HUB_LPM_POLICY_AGGRESSIVE 0x00000080 |
| #define | HUB_LINK_TARGET_U1 0x00000001 |
| #define | HUB_LINK_TARGET_U2 0x00000002 |
| #define | HUB_LINK_U1_OFF_FOR_LATENCY 0x00000004 |
| #define | HUB_LINK_U2_OFF_FOR_LATENCY 0x00000008 |
| #define | HUB_LINK_OFF_FOR_NO_PING 0x00000010 |
Enumerations | |
| enum class | HubLpm20Status : ULONG { Unknown , Enabled , DeviceIsHub , DeviceHack , HubHack , GloballyDisabled , DeviceNotCapable , FirstGenerationDevice , PortNotCapable , RunningAtSuperSpeed } |
Functions | |
| NTSTATUS NTAPI | HubChildSubmitUcxIoctl (_In_ HubChild *Child, _In_ ULONG IoControlCode) |
| VOID NTAPI | HubConfigMovePipes (_In_opt_ HubConfiguration *Config, _In_ PipeState From, _In_ PipeState To) |
| _IRQL_requires_ (PASSIVE_LEVEL) VOID NTAPI HubChildDeleteInterface(_In_ HubChild *Child | |
| Sends a synchronous IOCTL to the specified device object. | |
| VOID NTAPI | HubChildCollectForDisable (_In_ HubChild *Child, _In_ HubInterface *Interface) |
| BOOLEAN NTAPI | HubChildU2ForEnumerated (_In_ HubChild *Child) |
| USBD_STATUS NTAPI | HubNtStatusToUsbd (_In_ NTSTATUS Status) |
Variables | |
| _In_ HubInterface * | Interface |
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| Enabled | |
| DeviceIsHub | |
| DeviceHack | |
| HubHack | |
| GloballyDisabled | |
| DeviceNotCapable | |
| FirstGenerationDevice | |
| PortNotCapable | |
| RunningAtSuperSpeed | |
Definition at line 28 of file devhcd.h.
| _IRQL_requires_ | ( | PASSIVE_LEVEL | ) |
Sends a synchronous IOCTL to the specified device object.
Deletes the UCX endpoints of the disabled pipes, then the interface record.
Definition at line 2121 of file class.c.
Enabled pipes go to the disable list as PendingDisable, disabled ones stay unchanged.
Definition at line 132 of file devconfig.cpp.
Referenced by DeviceMachine::DisableAllEndpoints(), DeviceMachine::DisableNewInterfaceEndpoints(), DeviceMachine::PrepareConfigLists(), and DeviceMachine::PrepareInterfaceLists().
Sends the payload already in the device's UCX buffer. On a send failure the failure event is posted here and the completion never runs.
Definition at line 174 of file devhcd.cpp.
Referenced by DeviceMachine::AbortDeviceIo(), DeviceMachine::ClaimAddressZero(), DeviceMachine::DisableDeviceInController(), DeviceMachine::EnableDeviceInController(), HubChildResetTargetEndpoint(), DeviceMachine::NotifyDeviceReset(), DeviceMachine::ProgramEndpoints(), DeviceMachine::PurgeDeviceIo(), DeviceMachine::PurgeDeviceTreeIo(), DeviceMachine::PurgeIoForSuspend(), DeviceMachine::SetDeviceAddress(), DeviceMachine::StartDeviceIo(), DeviceMachine::UpdateDefaultEndpoint(), DeviceMachine::UpdateDeviceInController(), DeviceMachine::UpdateExitLatency(), and DeviceMachine::UpdateLpm20().
TRUE when an enumerated, unconfigured device gets a U2 timeout; sets that timeout.
Definition at line 135 of file devlpm.cpp.
Referenced by DeviceMachine::U2NeededForEnumerated(), and DeviceMachine::UpdateDeviceInController().
| VOID NTAPI HubConfigMovePipes | ( | _In_opt_ HubConfiguration * | Config, |
| _In_ PipeState | From, | ||
| _In_ PipeState | To | ||
| ) |
Moves every pipe of a configuration in state From to state To.
Definition at line 133 of file devhcd.cpp.
Referenced by DeviceMachine::EndpointsNeedDisableOnFailure(), HubChildConfigureDone(), HubChildUcxIoctlComplete(), DeviceMachine::MarkPendingEndpointsDisabled(), DeviceMachine::NotifyDeviceReset(), and DeviceMachine::ProgramEndpoints().
| USBD_STATUS NTAPI HubNtStatusToUsbd | ( | _In_ NTSTATUS | Status | ) |
NT to USBD status mapping shared by the hub and the child PDO.
Definition at line 190 of file childpdo.cpp.
Referenced by DeviceMachine::CompleteClientRequestFailed(), HubChildConfigureDone(), HubChildRecordFailure(), HubChildSubmitUcxIoctl(), HubChildUcxIoctlComplete(), HubPdoSyncComplete(), and DeviceMachine::NotifyDeviceReset().