ReactOS 0.4.17-dev-1037-g720d112
roothub.cpp
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: UCX root hub callbacks
5 * COPYRIGHT: Copyright 2026 Justin Miller <justinmiller100@gmail.com>
6 */
7
8#include "usbxhci.h"
9
10#define NDEBUG
11#include <debug.h>
12
16XhciRootHubCreate(
18{
21
34
35 Status = UcxRootHubCreate(Controller->UcxController,
36 &Config,
38 &Controller->UcxRootHub);
39 if (!NT_SUCCESS(Status))
40 DPRINT1("UcxRootHubCreate failed 0x%lx\n", Status);
41
42 return Status;
43}
44
45/* Hub class requests addressed to the root hub */
46
47VOID
50 _In_ UCXROOTHUB UcxRootHub,
51 _In_ WDFREQUEST Request)
52{
54 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
55}
56
57VOID
60 _In_ UCXROOTHUB UcxRootHub,
61 _In_ WDFREQUEST Request)
62{
64 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
65}
66
67VOID
70 _In_ UCXROOTHUB UcxRootHub,
71 _In_ WDFREQUEST Request)
72{
74 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
75}
76
77VOID
80 _In_ UCXROOTHUB UcxRootHub,
81 _In_ WDFREQUEST Request)
82{
84 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
85}
86
87VOID
90 _In_ UCXROOTHUB UcxRootHub,
91 _In_ WDFREQUEST Request)
92{
94 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
95}
96
97VOID
100 _In_ UCXROOTHUB UcxRootHub,
101 _In_ WDFREQUEST Request)
102{
104 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
105}
106
107VOID
108NTAPI
110 _In_ UCXROOTHUB UcxRootHub,
111 _In_ WDFREQUEST Request)
112{
114 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
115}
116
117/* Status change pipe and port layout queries */
118
119VOID
120NTAPI
122 _In_ UCXROOTHUB UcxRootHub,
123 _In_ WDFREQUEST Request)
124{
126
127 /* Park this until a port change event arrives */
128 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
129}
130
131VOID
132NTAPI
134 _In_ UCXROOTHUB UcxRootHub,
135 _In_ WDFREQUEST Request)
136{
138
139 /* Fill ROOTHUB_INFO from the Supported Protocol capabilities */
140 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
141}
142
143VOID
144NTAPI
146 _In_ UCXROOTHUB UcxRootHub,
147 _In_ WDFREQUEST Request)
148{
150 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
151}
152
153VOID
154NTAPI
156 _In_ UCXROOTHUB UcxRootHub,
157 _In_ WDFREQUEST Request)
158{
160 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
161}
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
#define STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define _IRQL_requires_(irql)
Definition: driverspecs.h:229
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
Status
Definition: gdiplustypes.h:24
#define _In_
Definition: no_sal2.h:158
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:329
#define NTAPI
Definition: typedefs.h:36
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXCONTROLLER * Controller
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
_In_ UCXROOTHUB UcxRootHub
Definition: ucxroothub.h:306
FORCEINLINE VOID NTAPI UCX_ROOTHUB_CONFIG_INIT(_Out_ PUCX_ROOTHUB_CONFIG Config, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearHubFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearPortFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetHubStatus, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortStatus, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetHubFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetPortFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortErrorCount, _In_ PFN_UCX_ROOTHUB_INTERRUPT_TX EvtRootHubInterruptTx, _In_ PFN_UCX_ROOTHUB_GET_INFO EvtRootHubGetInfo, _In_ PFN_UCX_ROOTHUB_GET_20PORT_INFO EvtRootHubGet20PortInfo, _In_ PFN_UCX_ROOTHUB_GET_30PORT_INFO EvtRootHubGet30PortInfo)
Definition: ucxroothub.h:252
EVT_UCX_ROOTHUB_GET_20PORT_INFO XhciEvtRootHubGet20PortInfo
Definition: usbxhci.h:66
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubSetHubFeature
Definition: usbxhci.h:61
EVT_UCX_ROOTHUB_GET_30PORT_INFO XhciEvtRootHubGet30PortInfo
Definition: usbxhci.h:67
EVT_UCX_ROOTHUB_GET_INFO XhciEvtRootHubGetInfo
Definition: usbxhci.h:65
EVT_UCX_ROOTHUB_INTERRUPT_TX XhciEvtRootHubInterruptTx
Definition: usbxhci.h:64
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubClearHubFeature
Definition: usbxhci.h:57
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubGetHubStatus
Definition: usbxhci.h:59
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubClearPortFeature
Definition: usbxhci.h:58
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubGetPortErrorCount
Definition: usbxhci.h:63
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubSetPortFeature
Definition: usbxhci.h:62
EVT_UCX_ROOTHUB_CONTROL_URB XhciEvtRootHubGetPortStatus
Definition: usbxhci.h:60
#define WDF_NO_OBJECT_ATTRIBUTES
Definition: wdftypes.h:105