ReactOS 0.4.17-dev-1281-g065abb3
reqctx.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS xHCI Host Controller Driver
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Per request context shared by every WDFREQUEST the driver handles
5 * COPYRIGHT: Copyright 2026 Justin Miller <justin.miller@reactos.org>
6 */
7
8#pragma once
9
10/* Control transfers */
11
13{
14 NoData,
17 Dma
18};
19
21{
22 Idle,
23 Armed,
25 Done
26};
27
29{
30 Idle,
31 Armed,
34};
35
38{
40 WDFREQUEST Request;
62};
63
64/* Endpoint requests */
65
68{
73};
74
77{
81};
82
85{
87};
88
89/* Context of every request on the controller WDFDEVICE; one member is in use at a time, owned by the handling module */
91{
93
95 struct
96 {
100
104
108};
109
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
XhciControlCancel
Definition: reqctx.h:21
XhciControlMechanism
Definition: reqctx.h:13
XhciControlTimeout
Definition: reqctx.h:29
BOOLEAN TagArmed
Definition: reqctx.h:60
WDFREQUEST Request
Definition: reqctx.h:40
PVOID SystemBuffer
Definition: reqctx.h:45
XhciControlCancel CancelState
Definition: reqctx.h:50
NTSTATUS Status
Definition: reqctx.h:52
XhciControlTimeout TimeoutState
Definition: reqctx.h:51
ULONG EventsReceived
Definition: reqctx.h:55
LIST_ENTRY Link
Definition: reqctx.h:39
XhciTransferRing * Ring
Definition: reqctx.h:42
BOOLEAN DataIn
Definition: reqctx.h:61
ULONG FirstIndex
Definition: reqctx.h:56
ULONG CompletionCode
Definition: reqctx.h:53
XhciDmaBuffer * DoubleBuffer
Definition: reqctx.h:46
ULONG BytesTransferred
Definition: reqctx.h:49
ULONG BytesTotal
Definition: reqctx.h:48
XhciControlMechanism Mechanism
Definition: reqctx.h:43
PSCATTER_GATHER_LIST SgList
Definition: reqctx.h:47
BOOLEAN Initialized
Definition: reqctx.h:59
XhciCommand Command
Definition: reqctx.h:72
XhciEndpoint * Endpoint
Definition: reqctx.h:69
XhciDmaBuffer * InputContext
Definition: reqctx.h:70
XhciCommand Command
Definition: reqctx.h:80
XhciDmaBuffer * InputContext
Definition: reqctx.h:79
XhciEndpoint * Endpoint
Definition: reqctx.h:78
XhciStreams * Streams
Definition: reqctx.h:86
Definition: typedefs.h:120
Definition: usb.h:565
unsigned char UCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
BOOLEAN FirstCommandFailed
Definition: reqctx.h:98
XhciBulkTransfer Bulk
Definition: reqctx.h:106
UCHAR Raw[1]
Definition: reqctx.h:92
XhciControlTransfer Control
Definition: reqctx.h:105
XhciDefaultEndpointUpdate DefaultEndpointUpdate
Definition: reqctx.h:101
XhciEndpointReset EndpointReset
Definition: reqctx.h:102
XhciStreamsConfigure StreamsConfigure
Definition: reqctx.h:103
BOOLEAN EnableFailed
Definition: reqctx.h:97
XhciIsochTransfer Isoch
Definition: reqctx.h:107
struct XhciRequestData::@1687 EndpointsConfigure
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)
Definition: wdfobject.h:350
struct _SCATTER_GATHER_LIST * PSCATTER_GATHER_LIST
Definition: iotypes.h:2219