[CMAKE]
[reactos.git] / drivers / usb / usbehci / usbiffn.h
1 #pragma once
2
3 #include <ntifs.h>
4 #include <ntddk.h>
5 #include <usb.h>
6 #include <usbbusif.h>
7
8 PVOID
9 InternalCreateUsbDevice(UCHAR DeviceNumber, ULONG Port, PUSB_DEVICE Parent, BOOLEAN Hub);
10
11 VOID
12 USB_BUSIFFN
13 InterfaceReference(PVOID BusContext);
14
15 VOID
16 USB_BUSIFFN
17 InterfaceDereference(PVOID BusContext);
18
19 NTSTATUS
20 USB_BUSIFFN
21 CreateUsbDevice(PVOID BusContext,
22 PUSB_DEVICE_HANDLE *NewDevice,
23 PUSB_DEVICE_HANDLE HubDeviceHandle,
24 USHORT PortStatus, USHORT PortNumber);
25
26 NTSTATUS
27 USB_BUSIFFN
28 InitializeUsbDevice(PVOID BusContext, PUSB_DEVICE_HANDLE DeviceHandle);
29
30 NTSTATUS
31 USB_BUSIFFN
32 GetUsbDescriptors(PVOID BusContext,
33 PUSB_DEVICE_HANDLE DeviceHandle,
34 PUCHAR DeviceDescriptorBuffer,
35 PULONG DeviceDescriptorBufferLength,
36 PUCHAR ConfigDescriptorBuffer,
37 PULONG ConfigDescriptorBufferLength);
38
39 NTSTATUS
40 USB_BUSIFFN
41 RemoveUsbDevice(PVOID BusContext, PUSB_DEVICE_HANDLE DeviceHandle, ULONG Flags);
42
43 NTSTATUS
44 USB_BUSIFFN
45 RestoreUsbDevice(PVOID BusContext, PUSB_DEVICE_HANDLE OldDeviceHandle, PUSB_DEVICE_HANDLE NewDeviceHandle);
46
47 NTSTATUS
48 USB_BUSIFFN
49 GetPortHackFlags(PVOID BusContext, PULONG Flags);
50
51 NTSTATUS
52 USB_BUSIFFN
53 QueryDeviceInformation(PVOID BusContext,
54 PUSB_DEVICE_HANDLE DeviceHandle,
55 PVOID DeviceInformationBuffer,
56 ULONG DeviceInformationBufferLength,
57 PULONG LengthReturned);
58
59 NTSTATUS
60 USB_BUSIFFN
61 GetControllerInformation(PVOID BusContext,
62 PVOID ControllerInformationBuffer,
63 ULONG ControllerInformationBufferLength,
64 PULONG LengthReturned);
65
66 NTSTATUS
67 USB_BUSIFFN
68 ControllerSelectiveSuspend(PVOID BusContext, BOOLEAN Enable);
69
70 NTSTATUS
71 USB_BUSIFFN
72 GetExtendedHubInformation(PVOID BusContext,
73 PDEVICE_OBJECT HubPhysicalDeviceObject,
74 PVOID HubInformationBuffer,
75 ULONG HubInformationBufferLength,
76 PULONG LengthReturned);
77
78 NTSTATUS
79 USB_BUSIFFN
80 GetRootHubSymbolicName(PVOID BusContext,
81 PVOID HubSymNameBuffer,
82 ULONG HubSymNameBufferLength,
83 PULONG HubSymNameActualLength);
84
85 PVOID
86 USB_BUSIFFN
87 GetDeviceBusContext(PVOID HubBusContext, PVOID DeviceHandle);
88
89 NTSTATUS
90 USB_BUSIFFN
91 Initialize20Hub(PVOID BusContext, PUSB_DEVICE_HANDLE HubDeviceHandle, ULONG TtCount);
92
93 NTSTATUS
94 USB_BUSIFFN
95 RootHubInitNotification(PVOID BusContext, PVOID CallbackContext, PRH_INIT_CALLBACK CallbackRoutine);
96
97 VOID
98 USB_BUSIFFN
99 FlushTransfers(PVOID BusContext, PVOID DeviceHandle);
100
101 VOID
102 USB_BUSIFFN
103 SetDeviceHandleData(PVOID BusContext, PVOID DeviceHandle, PDEVICE_OBJECT UsbDevicePdo);
104
105 VOID
106 USB_BUSIFFN
107 GetUSBDIVersion(PVOID BusContext, PUSBD_VERSION_INFORMATION VersionInformation, PULONG HcdCapabilites);
108
109 NTSTATUS
110 USB_BUSIFFN
111 QueryBusTime(PVOID BusContext, PULONG CurrentFrame);
112
113 NTSTATUS
114 USB_BUSIFFN
115 SubmitIsoOutUrb(PVOID BusContext, PURB Urb);
116
117 NTSTATUS
118 USB_BUSIFFN
119 QueryBusInformation(PVOID BusContext,
120 ULONG Level,
121 PVOID BusInformationBuffer,
122 PULONG BusInformationBufferLength,
123 PULONG BusInformationActualLength);
124
125 BOOLEAN
126 USB_BUSIFFN
127 IsDeviceHighSpeed(PVOID BusCOntext);
128
129 NTSTATUS
130 USB_BUSIFFN
131 EnumLogEntry(PVOID BusContext, ULONG DriverTag, ULONG EnumTag, ULONG P1, ULONG P2);