ReactOS 0.4.16-dev-106-g10b08aa
usbbusif.h
Go to the documentation of this file.
1#pragma once
2
3#define _USBBUSIF_
4
5#ifndef USB_BUSIFFN
6#define USB_BUSIFFN __stdcall
7#endif
8
9#if (NTDDI_VERSION >= NTDDI_WINXP)
10
11#if !defined(_HUBBUSIF_)
13#endif
14
15typedef
19 _In_ PVOID,
20 _In_ PURB);
21
22#define USB_HCD_CAPS_SUPPORTS_RT_THREADS 0x00000001
23
24typedef VOID
26 _In_ PVOID,
29
30typedef
34 _In_ PVOID,
36
37typedef NTSTATUS
39 _In_ PVOID,
40 _In_ ULONG,
41 _In_ ULONG,
42 _In_ ULONG,
43 _In_ ULONG);
44
49
56
57typedef
61 _In_ PVOID,
62 _In_ ULONG,
66
67typedef
72
73#define USB_BUSIF_USBDI_VERSION_0 0x0000
74#define USB_BUSIF_USBDI_VERSION_1 0x0001
75#define USB_BUSIF_USBDI_VERSION_2 0x0002
76#define USB_BUSIF_USBDI_VERSION_3 0x0003
77
78DEFINE_GUID(USB_BUS_INTERFACE_USBDI_GUID,
79 0xb1a96a13, 0x3de0, 0x4574, 0x9b, 0x1, 0xc0, 0x8f, 0xea, 0xb3, 0x18, 0xd6);
80
92
105
119
120#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
121
122#if (NTDDI_VERSION >= NTDDI_VISTA)
123
124typedef
130
131typedef
143
159
160DEFINE_GUID(USB_BUS_INTERFACE_USBC_CONFIGURATION_GUID,
161 0x893b6a96, 0xb7f, 0x4d4d, 0xbd, 0xb4, 0xbb, 0xd4, 0xce, 0xeb, 0xb3, 0x1c);
162
163#define USBC_FUNCTION_FLAG_APPEND_ID 0x1
164
175
176typedef
181 _In_ PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
182 _Outptr_result_bytebuffer_maybenull_(*FunctionDescriptorBufferLength)
183 PUSBC_FUNCTION_DESCRIPTOR *FunctionDescriptorBuffer,
184 _Out_ PULONG FunctionDescriptorBufferLength,
185 _In_ PDEVICE_OBJECT FdoDeviceObject,
187
188typedef
193 _In_ USHORT FirstInterfaceNumber,
194 _In_ USHORT NumberOfInterfaces,
195 _In_ UCHAR FunctionClass,
196 _In_ UCHAR FunctionSubClass,
197 _In_ UCHAR FunctionProtocol);
198
199#define USBC_DEVICE_CONFIGURATION_INTERFACE_VERSION_1 0x0001
200
211
212#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
213
#define VOID
Definition: acefi.h:82
#define NTSTATUS
Definition: precomp.h:21
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
Definition: precomp.h:16
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
Definition: precomp.h:13
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT _In_ PDEVICE_OBJECT PdoDeviceObject
Definition: hubbusif.h:95
#define _Out_opt_
Definition: ms_sal.h:346
#define _Inout_
Definition: ms_sal.h:378
#define _Outptr_result_bytebuffer_maybenull_(size)
Definition: ms_sal.h:480
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:205
USBC_PDO_ENABLE_CALLBACK PdoEnableCallback
Definition: usbbusif.h:208
USBC_START_DEVICE_CALLBACK StartDeviceCallback
Definition: usbbusif.h:207
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:206
UNICODE_STRING CompatibleId
Definition: usbbusif.h:170
UNICODE_STRING FunctionDescription
Definition: usbbusif.h:171
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptorList
Definition: usbbusif.h:168
UNICODE_STRING HardwareId
Definition: usbbusif.h:169
WCHAR ControllerNameUnicodeString[1]
Definition: usbbusif.h:54
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:85
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:90
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:89
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:86
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:88
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:87
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:101
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:97
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:98
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:102
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:99
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:103
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:100
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:116
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:110
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:113
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry
Definition: usbbusif.h:117
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:114
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:112
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:111
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:115
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:148
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:152
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType
Definition: usbbusif.h:157
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:151
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:149
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:150
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:154
PUSB_BUSIFFN_QUERY_BUS_TIME_EX QueryBusTimeEx
Definition: usbbusif.h:156
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:153
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry
Definition: usbbusif.h:155
uint32_t * PULONG
Definition: typedefs.h:59
void * PVOID
Definition: typedefs.h:50
uint16_t * PUSHORT
Definition: typedefs.h:56
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
struct _URB * PURB
struct _USBD_VERSION_INFORMATION * PUSBD_VERSION_INFORMATION
struct _USB_BUS_INTERFACE_USBDI_V2 * PUSB_BUS_INTERFACE_USBDI_V2
struct _USB_BUS_INFORMATION_LEVEL_0 * PUSB_BUS_INFORMATION_LEVEL_0
struct _USB_BUS_INTERFACE_USBDI_V3 * PUSB_BUS_INTERFACE_USBDI_V3
struct _USBC_DEVICE_CONFIGURATION_INTERFACE_V1 USBC_DEVICE_CONFIGURATION_INTERFACE_V1
_Must_inspect_result_ BOOLEAN(USB_BUSIFFN * PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED)(_In_opt_ PVOID)
Definition: usbbusif.h:70
struct _USB_BUS_INTERFACE_USBDI_V1 * PUSB_BUS_INTERFACE_USBDI_V1
struct _USB_BUS_INTERFACE_USBDI_V0 * PUSB_BUS_INTERFACE_USBDI_V0
VOID(USB_BUSIFFN * PUSB_BUSIFFN_GETUSBDI_VERSION)(_In_ PVOID, _Out_opt_ PUSBD_VERSION_INFORMATION, _Out_opt_ PULONG)
Definition: usbbusif.h:25
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_BUS_INFORMATION)(_In_ PVOID, _In_ ULONG, _Inout_ PVOID, _Out_ PULONG, _Out_opt_ PULONG)
Definition: usbbusif.h:60
struct _USB_BUS_INTERFACE_USBDI_V3 USB_BUS_INTERFACE_USBDI_V3
PVOID PUSB_DEVICE_HANDLE
Definition: usbbusif.h:12
struct _USBC_FUNCTION_DESCRIPTOR USBC_FUNCTION_DESCRIPTOR
struct _USB_BUS_INTERFACE_USBDI_V1 USB_BUS_INTERFACE_USBDI_V1
#define USB_BUSIFFN
Definition: usbbusif.h:6
struct _USBC_DEVICE_CONFIGURATION_INTERFACE_V1 * PUSBC_DEVICE_CONFIGURATION_INTERFACE_V1
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_ENUM_LOG_ENTRY)(_In_ PVOID, _In_ ULONG, _In_ ULONG, _In_ ULONG, _In_ ULONG)
Definition: usbbusif.h:38
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_BUS_TIME)(_In_ PVOID, _Out_opt_ PULONG)
Definition: usbbusif.h:33
struct _USB_BUS_INTERFACE_USBDI_V0 USB_BUS_INTERFACE_USBDI_V0
_Must_inspect_result_ BOOLEAN(USB_BUSIFFN * USBC_PDO_ENABLE_CALLBACK)(_In_ PVOID Context, _In_ USHORT FirstInterfaceNumber, _In_ USHORT NumberOfInterfaces, _In_ UCHAR FunctionClass, _In_ UCHAR FunctionSubClass, _In_ UCHAR FunctionProtocol)
Definition: usbbusif.h:191
struct _USBC_FUNCTION_DESCRIPTOR * PUSBC_FUNCTION_DESCRIPTOR
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE)(_In_opt_ PVOID, _Out_opt_ PULONG, _Out_opt_ PUSHORT, _Out_opt_ PUSHORT, _Out_opt_ PUCHAR, _Out_opt_ PUCHAR, _Out_opt_ PUCHAR, _Out_opt_ PUCHAR)
Definition: usbbusif.h:134
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_BUS_TIME_EX)(_In_opt_ PVOID, _Out_opt_ PULONG)
Definition: usbbusif.h:127
struct _USB_BUS_INFORMATION_LEVEL_1 * PUSB_BUS_INFORMATION_LEVEL_1
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB)(_In_ PVOID, _In_ PURB)
Definition: usbbusif.h:18
struct _USB_BUS_INFORMATION_LEVEL_0 USB_BUS_INFORMATION_LEVEL_0
struct _USB_BUS_INFORMATION_LEVEL_1 USB_BUS_INFORMATION_LEVEL_1
struct _USB_BUS_INTERFACE_USBDI_V2 USB_BUS_INTERFACE_USBDI_V2
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * USBC_START_DEVICE_CALLBACK)(_In_ PUSB_DEVICE_DESCRIPTOR DeviceDescriptor, _In_ PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, _Outptr_result_bytebuffer_maybenull_(*FunctionDescriptorBufferLength) PUSBC_FUNCTION_DESCRIPTOR *FunctionDescriptorBuffer, _Out_ PULONG FunctionDescriptorBufferLength, _In_ PDEVICE_OBJECT FdoDeviceObject, _In_ PDEVICE_OBJECT PdoDeviceObject)
Definition: usbbusif.h:179
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180