ReactOS 0.4.17-dev-1037-g720d112
roothub.cpp File Reference
#include "usbxhci.h"
#include <debug.h>
Include dependency graph for roothub.cpp:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

 _IRQL_requires_ (PASSIVE_LEVEL) NTSTATUS NTAPI XhciRootHubCreate(_In_ PXHCI_CONTROLLER Controller)
 Sends a synchronous IOCTL to the specified device object.
 
VOID NTAPI XhciEvtRootHubClearHubFeature (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubClearPortFeature (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGetHubStatus (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGetPortStatus (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubSetHubFeature (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubSetPortFeature (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGetPortErrorCount (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubInterruptTx (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGetInfo (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGet20PortInfo (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 
VOID NTAPI XhciEvtRootHubGet30PortInfo (_In_ UCXROOTHUB UcxRootHub, _In_ WDFREQUEST Request)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 10 of file roothub.cpp.

Function Documentation

◆ _IRQL_requires_()

_IRQL_requires_ ( PASSIVE_LEVEL  )

Sends a synchronous IOCTL to the specified device object.

Parameters
[in]IoControlCodeThe IOCTL to send to the device.
[in]DeviceObjectPointer to the device object that will handle the IOCTL.
[in]InputBufferOptional pointer to a buffer containing input data for the IOCTL. When specified, the buffer should be at least of InputBufferLength size.
[in]InputBufferLengthSize in bytes, of the buffer pointed by InputBuffer.
[out]OutputBufferOptional pointer to a buffer that will receive output data from the IOCTL. When specified, the buffer should be at least of OutputBufferLength size.
[in]OutputBufferLengthSize in bytes, of the buffer pointed by OutputBuffer.
[in]FileObjectOptional pointer to a file object that may be necessary for the IOCTL.
Returns
An NTSTATUS code indicating success or failure of this function.
Note
Must be called at PASSIVE_LEVEL with all APCs enabled.

Definition at line 13 of file roothub.cpp.

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}
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
Status
Definition: gdiplustypes.h:24
_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
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

◆ XhciEvtRootHubClearHubFeature()

VOID NTAPI XhciEvtRootHubClearHubFeature ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 49 of file roothub.cpp.

52{
54 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
55}
#define STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:329
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
_In_ UCXROOTHUB UcxRootHub
Definition: ucxroothub.h:306

◆ XhciEvtRootHubClearPortFeature()

VOID NTAPI XhciEvtRootHubClearPortFeature ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 59 of file roothub.cpp.

62{
64 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
65}

◆ XhciEvtRootHubGet20PortInfo()

VOID NTAPI XhciEvtRootHubGet20PortInfo ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 145 of file roothub.cpp.

148{
150 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
151}

◆ XhciEvtRootHubGet30PortInfo()

VOID NTAPI XhciEvtRootHubGet30PortInfo ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 155 of file roothub.cpp.

158{
160 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
161}

◆ XhciEvtRootHubGetHubStatus()

VOID NTAPI XhciEvtRootHubGetHubStatus ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 69 of file roothub.cpp.

72{
74 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
75}

◆ XhciEvtRootHubGetInfo()

VOID NTAPI XhciEvtRootHubGetInfo ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 133 of file roothub.cpp.

136{
138
139 /* Fill ROOTHUB_INFO from the Supported Protocol capabilities */
140 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
141}

◆ XhciEvtRootHubGetPortErrorCount()

VOID NTAPI XhciEvtRootHubGetPortErrorCount ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 109 of file roothub.cpp.

112{
114 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
115}

◆ XhciEvtRootHubGetPortStatus()

VOID NTAPI XhciEvtRootHubGetPortStatus ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 79 of file roothub.cpp.

82{
84 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
85}

◆ XhciEvtRootHubInterruptTx()

VOID NTAPI XhciEvtRootHubInterruptTx ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 121 of file roothub.cpp.

124{
126
127 /* Park this until a port change event arrives */
128 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
129}

◆ XhciEvtRootHubSetHubFeature()

VOID NTAPI XhciEvtRootHubSetHubFeature ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 89 of file roothub.cpp.

92{
94 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
95}

◆ XhciEvtRootHubSetPortFeature()

VOID NTAPI XhciEvtRootHubSetPortFeature ( _In_ UCXROOTHUB  UcxRootHub,
_In_ WDFREQUEST  Request 
)

Definition at line 99 of file roothub.cpp.

102{
104 WdfRequestComplete(Request, STATUS_NOT_IMPLEMENTED);
105}