|
ReactOS 0.4.17-dev-1281-g065abb3
|
#include <pipe.h>

Public Member Functions | |
| VOID | SetWdfIoQueue (_In_ WDFQUEUE Queue) |
| VOID | NeedToCancelTransfers () |
| UCXSSTREAMS | GetStaticStreamsReferenced (_In_ PVOID Tag) |
| VOID | DeleteFromHub () |
| VOID | ReleaseCancelSync () |
| VOID | HandleHubReset (_In_ WDFREQUEST Request) |
| NTSTATUS | OnHcdResetDone (_In_ PIRP Irp) |
| NTSTATUS | OpenStaticStreams (_In_ PIRP Irp, _In_ PURB Urb) |
| NTSTATUS | CloseStaticStreams (_In_ PIRP Irp, _In_ PURB Urb) |
| VOID | HandleClientStreamsEnable (_In_ WDFREQUEST Request) |
| VOID | HandleClientStreamsDisable (_In_ WDFREQUEST Request) |
| NTSTATUS | OpenStaticStreamsComplete (_In_ PIRP Irp, _In_ PURB Urb) |
| NTSTATUS | CloseStaticStreamsComplete (_In_ PIRP Irp) |
| NTSTATUS | AbortPipe (_In_ PIRP Irp, _In_ PURB Urb) |
| NTSTATUS | GetIsochPathDelays (_In_ PIRP Irp, _In_ PURB Urb) |
| BOOLEAN | HasMachine () const |
| BOOLEAN | Post (_In_ EpEvent Event) |
| PVOID | TakePending () |
| VOID | SetPending (_In_ PVOID Pending) |
Static Public Member Functions | |
| static _Must_inspect_result_ NTSTATUS | Create (_In_ UCXUSBDEVICE UsbDevice, _Inout_ PUCXENDPOINT_INIT *EndpointInit, _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes, _Out_ UCXENDPOINT *Endpoint) |
| static VOID | InitSetEventCallbacks (_Inout_ PUCXENDPOINT_INIT Init, _In_ PUCX_ENDPOINT_EVENT_CALLBACKS Callbacks) |
| static VOID | InitSetDefaultEventCallbacks (_Inout_ PUCXENDPOINT_INIT Init, _In_ PUCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS Callbacks) |
| static _Must_inspect_result_ NTSTATUS | CreateDefaultFromHub (_In_ UCXUSBDEVICE UsbDevice, _In_ ULONG MaxPacketSize, _Out_ UCXENDPOINT *Endpoint) |
| static _Must_inspect_result_ NTSTATUS | CreateFromHub (_In_ UCXUSBDEVICE UsbDevice, _In_ PUSB_ENDPOINT_DESCRIPTOR Descriptor, _In_ ULONG DescriptorBufferLength, _In_opt_ PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion, _Out_ UCXENDPOINT *Endpoint) |
| static UcxEndpoint * | FromHandle (_In_ UCXENDPOINT Handle) |
| static UcxEndpoint * | FromPipe (_In_ USBD_PIPE_HANDLE Handle) |
Private Member Functions | |
| VOID | Initialize (_In_ UcxUsbDevice *Device, _In_ const UcxEndpointInit *Init) |
Static Private Member Functions | |
| static NTSTATUS | CreateThroughHcd (_In_ UcxUsbDevice *Device, _Inout_ UcxEndpointInit *Init, _In_ ULONG MaxPacketSize, _In_opt_ PUSB_ENDPOINT_DESCRIPTOR Descriptor, _In_ ULONG DescriptorBufferLength, _In_opt_ PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion, _Out_ UCXENDPOINT *Endpoint) |
Static Private Attributes | |
| static EVT_WDF_OBJECT_CONTEXT_DESTROY | EvtDestroy |
Friends | |
| class | EndpointMachine |
Only a running endpoint takes the abort; the IRP waits in the cancel safe queue.
Definition at line 38 of file pipeio.cpp.
Referenced by AbortPipe().
Definition at line 267 of file pipeio.cpp.
Referenced by CloseStaticStreams(), and UcxProcessSubmitUrb().
Definition at line 361 of file pipeio.cpp.
Referenced by CloseStaticStreamsComplete().
|
static |
Definition at line 195 of file pipe.cpp.
Referenced by Create().
|
static |
Definition at line 451 of file pipe.cpp.
Referenced by CreateDefaultFromHub().
|
static |
Definition at line 467 of file pipe.cpp.
Referenced by CreateFromHub().
|
staticprivate |
Definition at line 392 of file pipe.cpp.
Referenced by CreateDefaultFromHub(), CreateFromHub(), and CreateThroughHcd().
| VOID UcxEndpoint::DeleteFromHub | ( | ) |
Definition at line 515 of file pipe.cpp.
Referenced by CreateThroughHcd(), DeleteFromHub(), and UcxHubEndpointDelete().
|
static |
Definition at line 91 of file pipe.cpp.
Referenced by CreateThroughHcd(), and FromHandle().
|
inlinestatic |
Answered by the controller driver when it has the callback, otherwise not supported.
Definition at line 59 of file pipeio.cpp.
Referenced by GetIsochPathDelays(), and UcxProcessSubmitUrb().
Definition at line 370 of file pipe.cpp.
Referenced by GetStaticStreamsReferenced(), and UcxApiEndpointGetStaticStreamsReferenced().
Definition at line 298 of file pipeio.cpp.
Referenced by UcxUsbDevice::DispatchManagement(), UcxUsbDevice::FailManagement(), and HandleClientStreamsDisable().
Definition at line 290 of file pipeio.cpp.
Referenced by UcxUsbDevice::DispatchManagement(), and HandleClientStreamsEnable().
Definition at line 16 of file pipeio.cpp.
Referenced by UcxUsbDevice::DispatchManagement(), and HandleHubReset().
|
inline |
|
private |
Definition at line 143 of file pipe.cpp.
Referenced by Initialize().
|
static |
|
static |
Definition at line 98 of file pipe.cpp.
Referenced by InitSetEventCallbacks().
| VOID UcxEndpoint::NeedToCancelTransfers | ( | ) |
Clears the TT buffer first for a low or full speed device behind a TT.
Definition at line 328 of file pipe.cpp.
Referenced by NeedToCancelTransfers(), and UcxApiEndpointNeedToCancelTransfers().
Definition at line 25 of file pipeio.cpp.
Referenced by OnHcdResetDone(), and UcxDeviceMgmtCompletion().
Definition at line 171 of file pipeio.cpp.
Referenced by OpenStaticStreams(), and UcxProcessSubmitUrb().
Definition at line 306 of file pipeio.cpp.
Referenced by OpenStaticStreamsComplete().
FALSE only when the abort URB gate turned the event away.
Definition at line 255 of file pipe.h.
Referenced by AbortPipe(), CloseStaticStreamsComplete(), DeleteFromHub(), HandleClientStreamsDisable(), HandleClientStreamsEnable(), UcxUsbDevice::HandleHubDisable(), UcxUsbDevice::HandleHubEndpointsConfigure(), HandleHubReset(), UcxUsbDevice::HandleHubReset(), UcxUsbDevice::OnHcdEnableDone(), UcxUsbDevice::OnHcdEndpointsConfigureDone(), OnHcdResetDone(), UcxUsbDevice::OnHcdResetDone(), OpenStaticStreamsComplete(), EndpointMachine::ParkAsStale(), UcxApiEndpointAbortComplete(), and UcxApiEndpointPurgeComplete().
| VOID UcxEndpoint::ReleaseCancelSync | ( | ) |
TT clear handshake: one decrement from the hub callback, one from the hub's ack.
Definition at line 360 of file pipe.cpp.
Referenced by NeedToCancelTransfers(), ReleaseCancelSync(), and UcxHubClearTtBufferComplete().
Definition at line 273 of file pipe.h.
Referenced by CloseStaticStreamsComplete(), HandleClientStreamsDisable(), HandleClientStreamsEnable(), HandleHubReset(), OnHcdResetDone(), and OpenStaticStreamsComplete().
Definition at line 313 of file pipe.cpp.
Referenced by UcxRootHub::CreateEndpoint(), SetWdfIoQueue(), and UcxApiEndpointSetWdfIoQueue().
|
inline |
Definition at line 264 of file pipe.h.
Referenced by EndpointMachine::FailResetRequest(), EndpointMachine::FinishEndpointResetRequest(), EndpointMachine::FinishStreamsCloseRequest(), EndpointMachine::FinishStreamsOpenRequest(), EndpointMachine::ForwardResetRequest(), EndpointMachine::ForwardStreamsDisableRequest(), EndpointMachine::ForwardStreamsEnableRequest(), EndpointMachine::ParkStreamsDisableRequest(), and EndpointMachine::RejectStreamsEnableRequest().
|
friend |
| IO_CSQ_IRP_CONTEXT UcxEndpoint::m_AbortCsqContext |
Definition at line 308 of file pipe.h.
Referenced by AbortPipe(), and EndpointMachine::CompleteAbortUrb().
| UcxEndpointCallbacks UcxEndpoint::m_Callbacks |
Definition at line 289 of file pipe.h.
Referenced by _IRQL_requires_(), EndpointMachine::AbortEndpoint(), UcxUsbDevice::DispatchManagement(), EndpointMachine::ForwardResetRequest(), EndpointMachine::ForwardStreamsDisableRequest(), EndpointMachine::ForwardStreamsEnableRequest(), GetIsochPathDelays(), Initialize(), NeedToCancelTransfers(), EndpointMachine::PurgeEndpoint(), ReleaseCancelSync(), and EndpointMachine::StartEndpoint().
| LONG UcxEndpoint::m_CancelSync |
Definition at line 311 of file pipe.h.
Referenced by NeedToCancelTransfers(), and ReleaseCancelSync().
| BOOLEAN UcxEndpoint::m_ClearTtOnCancel |
Definition at line 314 of file pipe.h.
Referenced by Initialize(), and NeedToCancelTransfers().
| BOOLEAN UcxEndpoint::m_ClientHoldsHandle |
Definition at line 313 of file pipe.h.
Referenced by EndpointMachine::ClientHoldsHandle(), and UcxHubEndpointExposed().
| UcxController* UcxEndpoint::m_Controller |
Definition at line 282 of file pipe.h.
Referenced by EndpointMachine::AbortEndpoint(), AbortPipe(), EndpointMachine::AckControllerReset(), CloseStaticStreams(), EndpointMachine::CompleteAbortUrb(), EndpointMachine::CompleteTreePurge(), EndpointMachine::DeleteEndpoint(), EndpointMachine::FinishStreamsCloseRequest(), EndpointMachine::ForwardResetRequest(), GetStaticStreamsReferenced(), Initialize(), OpenStaticStreams(), OpenStaticStreamsComplete(), EndpointMachine::ParkAsStale(), EndpointMachine::ParkStreamsDisableRequest(), EndpointMachine::PurgeEndpoint(), UcxStaticStreams::SetStreamInfo(), and EndpointMachine::StartEndpoint().
| LIST_ENTRY UcxEndpoint::m_ControllerResetLink |
Definition at line 298 of file pipe.h.
Referenced by Initialize().
| USB_ENDPOINT_DESCRIPTOR UcxEndpoint::m_Descriptor |
Definition at line 290 of file pipe.h.
Referenced by Initialize(), NeedToCancelTransfers(), and EndpointMachine::ParkAsStale().
| UcxUsbDevice* UcxEndpoint::m_Device |
Definition at line 283 of file pipe.h.
Referenced by EndpointMachine::CompleteHubOperation(), EndpointMachine::DeviceAllowsStart(), EndpointMachine::DeviceDeprogrammed(), EndpointMachine::DeviceDisconnected(), Initialize(), NeedToCancelTransfers(), EndpointMachine::ParkAsStale(), and UcxApiEndpointNoPingResponseError().
| LIST_ENTRY UcxEndpoint::m_DeviceLink |
Definition at line 293 of file pipe.h.
Referenced by EndpointMachine::DeleteEndpoint(), Initialize(), and EndpointMachine::ParkAsStale().
| LIST_ENTRY UcxEndpoint::m_DisconnectLink |
Definition at line 297 of file pipe.h.
Referenced by Initialize().
| UCXENDPOINT UcxEndpoint::m_Handle |
Definition at line 281 of file pipe.h.
Referenced by _IRQL_requires_(), EndpointMachine::AbortEndpoint(), AbortPipe(), CloseStaticStreams(), Create(), EndpointMachine::DeleteEndpoint(), EndpointMachine::DeleteStaleEndpoint(), EndpointMachine::DereferenceEndpoint(), EndpointMachine::FailResetRequest(), EndpointMachine::FinishStreamsOpenRequest(), EndpointMachine::ForwardResetRequest(), EndpointMachine::ForwardStreamsDisableRequest(), EndpointMachine::ForwardStreamsEnableRequest(), GetIsochPathDelays(), NeedToCancelTransfers(), OpenStaticStreams(), OpenStaticStreamsComplete(), EndpointMachine::ParkAsStale(), EndpointMachine::ParkStreamsDisableRequest(), EndpointMachine::PurgeEndpoint(), EndpointMachine::ReferenceEndpoint(), EndpointMachine::RejectStreamsEnableRequest(), ReleaseCancelSync(), SetWdfIoQueue(), and EndpointMachine::StartEndpoint().
| BOOLEAN UcxEndpoint::m_HasMachine |
Definition at line 303 of file pipe.h.
Referenced by AbortPipe(), and HasMachine().
| EndpointMachine UcxEndpoint::m_Machine |
| BOOLEAN UcxEndpoint::m_OpenFailedOnReset |
Definition at line 306 of file pipe.h.
Referenced by OpenStaticStreamsComplete().
| LIST_ENTRY UcxEndpoint::m_OperationLink |
Definition at line 300 of file pipe.h.
Referenced by Initialize().
| PVOID UcxEndpoint::m_Pending |
Definition at line 305 of file pipe.h.
Referenced by SetPending(), and TakePending().
| UcxPipe UcxEndpoint::m_Pipe |
Definition at line 284 of file pipe.h.
Referenced by CreateThroughHcd(), UcxRootHub::DispatchGetInfo(), GetIsochPathDelays(), Initialize(), EndpointMachine::ParkAsStale(), UcxStaticStreams::SetStreamInfo(), SetWdfIoQueue(), UcxHubEndpointMaxTransfer(), and UcxHubEndpointPipeHandle().
| UcxStaticStreams* UcxEndpoint::m_Streams |
Definition at line 286 of file pipe.h.
Referenced by CloseStaticStreams(), EndpointMachine::FinishStreamsCloseRequest(), EndpointMachine::ForwardStreamsDisableRequest(), EndpointMachine::ForwardStreamsEnableRequest(), GetStaticStreamsReferenced(), OpenStaticStreams(), and OpenStaticStreamsComplete().
| LONG UcxEndpoint::m_StreamsOpenCount |
Definition at line 287 of file pipe.h.
Referenced by EndpointMachine::FinishStreamsCloseRequest(), EndpointMachine::FinishStreamsOpenRequest(), OpenStaticStreams(), and OpenStaticStreamsComplete().
| LIST_ENTRY UcxEndpoint::m_TrackingLink |
Definition at line 294 of file pipe.h.
Referenced by Initialize().
| LIST_ENTRY UcxEndpoint::m_TreePurgeLink |
Definition at line 299 of file pipe.h.
Referenced by Initialize().