ReactOS  0.4.13-dev-242-g611e6d7
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 
15 typedef
19  _In_ PVOID,
20  _In_ PURB);
21 
22 #define USB_HCD_CAPS_SUPPORTS_RT_THREADS 0x00000001
23 
24 typedef VOID
26  _In_ PVOID,
29 
30 typedef
34  _In_ PVOID,
36 
37 typedef NTSTATUS
39  _In_ PVOID,
40  _In_ ULONG,
41  _In_ ULONG,
42  _In_ ULONG,
43  _In_ ULONG);
44 
49 
56 
57 typedef
61  _In_ PVOID,
62  _In_ ULONG,
63  _Inout_ PVOID,
64  _Out_ PULONG,
66 
67 typedef
69 BOOLEAN
71  _In_opt_ PVOID);
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 
78 DEFINE_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 
124 typedef
126 NTSTATUS
128  _In_opt_ PVOID,
129  _Out_opt_ PULONG);
130 
131 typedef
133 NTSTATUS
135  _In_opt_ PVOID,
142  _Out_opt_ PUCHAR);
143 
159 
160 DEFINE_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 
176 typedef
178 NTSTATUS
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 
188 typedef
190 BOOLEAN
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 
struct _USBC_FUNCTION_DESCRIPTOR * PUSBC_FUNCTION_DESCRIPTOR
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:86
USBC_START_DEVICE_CALLBACK StartDeviceCallback
Definition: usbbusif.h:207
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:87
#define _Must_inspect_result_
Definition: no_sal2.h:314
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
Definition: precomp.h:16
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:90
unsigned char * PUCHAR
Definition: retypes.h:3
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3706
_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
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:99
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:205
USBC_PDO_ENABLE_CALLBACK PdoEnableCallback
Definition: usbbusif.h:208
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_ENUM_LOG_ENTRY)(_In_ PVOID, _In_ ULONG, _In_ ULONG, _In_ ULONG, _In_ ULONG)
Definition: usbbusif.h:38
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:114
_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:89
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:111
struct _USB_BUS_INTERFACE_USBDI_V3 * PUSB_BUS_INTERFACE_USBDI_V3
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:98
#define _In_opt_
Definition: no_sal2.h:213
struct _USB_BUS_INTERFACE_USBDI_V0 * PUSB_BUS_INTERFACE_USBDI_V0
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:102
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:116
struct _USBC_DEVICE_CONFIGURATION_INTERFACE_V1 * PUSBC_DEVICE_CONFIGURATION_INTERFACE_V1
WCHAR ControllerNameUnicodeString[1]
Definition: usbbusif.h:54
struct _USB_BUS_INTERFACE_USBDI_V2 * PUSB_BUS_INTERFACE_USBDI_V2
_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
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:149
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:150
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:101
#define _Out_
Definition: no_sal2.h:323
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:154
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_BUS_TIME_EX)(_In_opt_ PVOID, _Out_opt_ PULONG)
Definition: usbbusif.h:127
void * PVOID
Definition: retypes.h:9
struct _USBC_FUNCTION_DESCRIPTOR USBC_FUNCTION_DESCRIPTOR
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptorList
Definition: usbbusif.h:168
struct _USB_BUS_INTERFACE_USBDI_V3 USB_BUS_INTERFACE_USBDI_V3
#define _Out_opt_
Definition: no_sal2.h:339
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
__wchar_t WCHAR
Definition: xmlstorage.h:180
struct _USB_BUS_INFORMATION_LEVEL_1 * PUSB_BUS_INFORMATION_LEVEL_1
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:100
DEFINE_GUID(USB_BUS_INTERFACE_USBDI_GUID, 0xb1a96a13, 0x3de0, 0x4574, 0x9b, 0x1, 0xc0, 0x8f, 0xea, 0xb3, 0x18, 0xd6)
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_QUERY_BUS_TIME)(_In_ PVOID, _Out_opt_ PULONG)
Definition: usbbusif.h:33
#define _Inout_
Definition: no_sal2.h:244
VOID(USB_BUSIFFN * PUSB_BUSIFFN_GETUSBDI_VERSION)(_In_ PVOID, _Out_opt_ PUSBD_VERSION_INFORMATION, _Out_opt_ PULONG)
Definition: usbbusif.h:25
struct _USB_BUS_INFORMATION_LEVEL_0 USB_BUS_INFORMATION_LEVEL_0
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType
Definition: usbbusif.h:157
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion
Definition: usbbusif.h:112
unsigned char UCHAR
Definition: xmlstorage.h:181
PUSB_BUSIFFN_QUERY_BUS_TIME_EX QueryBusTimeEx
Definition: usbbusif.h:156
#define NTSTATUS
Definition: precomp.h:20
#define VOID
Definition: acefi.h:82
UNICODE_STRING CompatibleId
Definition: usbbusif.h:170
#define USB_BUSIFFN
Definition: usbbusif.h:6
struct _USB_BUS_INTERFACE_USBDI_V1 USB_BUS_INTERFACE_USBDI_V1
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:110
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:115
PVOID PUSB_DEVICE_HANDLE
Definition: usbbusif.h:12
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:88
struct _USB_BUS_INTERFACE_USBDI_V2 USB_BUS_INTERFACE_USBDI_V2
struct _URB * PURB
struct _USBD_VERSION_INFORMATION * PUSBD_VERSION_INFORMATION
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:152
#define _In_
Definition: no_sal2.h:204
#define _Outptr_result_bytebuffer_maybenull_(size)
Definition: no_sal2.h:423
UNICODE_STRING HardwareId
Definition: usbbusif.h:169
struct _USB_BUS_INFORMATION_LEVEL_1 USB_BUS_INFORMATION_LEVEL_1
UNICODE_STRING FunctionDescription
Definition: usbbusif.h:171
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry
Definition: usbbusif.h:155
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed
Definition: usbbusif.h:103
unsigned short USHORT
Definition: pedump.c:61
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:97
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:85
struct _USBC_DEVICE_CONFIGURATION_INTERFACE_V1 USBC_DEVICE_CONFIGURATION_INTERFACE_V1
unsigned int * PULONG
Definition: retypes.h:1
struct _USB_BUS_INFORMATION_LEVEL_0 * PUSB_BUS_INFORMATION_LEVEL_0
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb
Definition: usbbusif.h:89
struct _USB_BUS_INTERFACE_USBDI_V0 USB_BUS_INTERFACE_USBDI_V0
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry
Definition: usbbusif.h:117
#define BOOLEAN
Definition: pedump.c:73
_Must_inspect_result_ NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB)(_In_ PVOID, _In_ PURB)
Definition: usbbusif.h:18
struct tagContext Context
Definition: acpixf.h:1012
unsigned int ULONG
Definition: retypes.h:1
_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
PINTERFACE_REFERENCE InterfaceReference
Definition: usbbusif.h:148
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation
Definition: usbbusif.h:153
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:151
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
Definition: precomp.h:13
_Must_inspect_result_ BOOLEAN(USB_BUSIFFN * PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED)(_In_opt_ PVOID)
Definition: usbbusif.h:70
unsigned short * PUSHORT
Definition: retypes.h:2
_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
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime
Definition: usbbusif.h:113
struct _USB_BUS_INTERFACE_USBDI_V1 * PUSB_BUS_INTERFACE_USBDI_V1
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: usbbusif.h:206