Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

386 lines
5.8 KiB

  1. /***************************************************************************
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. Dot4Usb.sys - Lower Filter Driver for Dot4.sys for USB connected
  5. IEEE 1284.4 devices.
  6. File Name:
  7. FuncDecl.h
  8. Abstract:
  9. Function Prototype Declarations
  10. Environment:
  11. Kernel mode only
  12. Notes:
  13. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  14. KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  15. IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  16. PURPOSE.
  17. Copyright (c) 2000 Microsoft Corporation. All Rights Reserved.
  18. Revision History:
  19. 01/18/2000 : created
  20. Author(s):
  21. Joby Lafky (JobyL)
  22. Doug Fritz (DFritz)
  23. ****************************************************************************/
  24. //
  25. // AddDev.c
  26. //
  27. NTSTATUS
  28. AddDevice(
  29. IN PDRIVER_OBJECT DriverObject,
  30. IN PDEVICE_OBJECT Pdo
  31. );
  32. //
  33. // InitUnld.c
  34. //
  35. NTSTATUS
  36. DriverEntry(
  37. IN PDRIVER_OBJECT DriverObject,
  38. IN PUNICODE_STRING RegistryPath
  39. );
  40. VOID
  41. DriverUnload(
  42. IN PDRIVER_OBJECT DriverObject
  43. );
  44. //
  45. // Ioctl.c
  46. //
  47. NTSTATUS
  48. DispatchDeviceControl(
  49. IN PDEVICE_OBJECT DevObj,
  50. IN PIRP Irp
  51. );
  52. NTSTATUS
  53. DispatchInternalDeviceControl(
  54. IN PDEVICE_OBJECT DevObj,
  55. IN PIRP Irp
  56. );
  57. //
  58. // OpenClos.c
  59. //
  60. NTSTATUS
  61. DispatchCreate(
  62. IN PDEVICE_OBJECT DevObj,
  63. IN PIRP Irp
  64. );
  65. NTSTATUS
  66. DispatchClose(
  67. IN PDEVICE_OBJECT DevObj,
  68. IN PIRP Irp
  69. );
  70. //
  71. // PnP.c
  72. //
  73. NTSTATUS
  74. DispatchPnp(
  75. IN PDEVICE_OBJECT DeviceObject,
  76. IN PIRP Irp
  77. );
  78. NTSTATUS
  79. PnpDefaultHandler(
  80. IN PDEVICE_EXTENSION DevExt,
  81. IN PIRP Irp
  82. );
  83. NTSTATUS
  84. PnpHandleStart(
  85. IN PDEVICE_EXTENSION DevExt,
  86. IN PIRP Irp
  87. );
  88. NTSTATUS
  89. PnpHandleQueryRemove(
  90. IN PDEVICE_EXTENSION DevExt,
  91. IN PIRP Irp
  92. );
  93. NTSTATUS
  94. PnpHandleRemove(
  95. IN PDEVICE_EXTENSION DevExt,
  96. IN PIRP Irp
  97. );
  98. NTSTATUS
  99. PnpHandleCancelRemove(
  100. IN PDEVICE_EXTENSION DevExt,
  101. IN PIRP Irp
  102. );
  103. NTSTATUS
  104. PnpHandleStop(
  105. IN PDEVICE_EXTENSION DevExt,
  106. IN PIRP Irp
  107. );
  108. NTSTATUS
  109. PnpHandleQueryStop(
  110. IN PDEVICE_EXTENSION DevExt,
  111. IN PIRP Irp
  112. );
  113. NTSTATUS
  114. PnpHandleCancelStop(
  115. IN PDEVICE_EXTENSION DevExt,
  116. IN PIRP Irp
  117. );
  118. NTSTATUS
  119. PnpHandleQueryDeviceRelations(
  120. IN PDEVICE_EXTENSION DevExt,
  121. IN PIRP Irp
  122. );
  123. NTSTATUS
  124. PnpHandleQueryCapabilities(
  125. IN PDEVICE_EXTENSION DevExt,
  126. IN PIRP Irp
  127. );
  128. NTSTATUS
  129. PnpHandleSurpriseRemoval(
  130. IN PDEVICE_EXTENSION DevExt,
  131. IN PIRP Irp
  132. );
  133. NTSTATUS
  134. VA_PnP(
  135. IN PDEVICE_EXTENSION devExt,
  136. PIRP irp
  137. );
  138. NTSTATUS
  139. GetDeviceCapabilities(
  140. IN PDEVICE_EXTENSION DevExt
  141. );
  142. // power.c
  143. NTSTATUS
  144. DispatchPower(
  145. IN PDEVICE_OBJECT DevObj,
  146. IN PIRP Irp
  147. );
  148. NTSTATUS
  149. PowerComplete(
  150. IN PDEVICE_OBJECT DevObj,
  151. IN PIRP Irp,
  152. IN PVOID Context
  153. );
  154. //
  155. // Registry.c
  156. //
  157. NTSTATUS
  158. RegGetDword(
  159. IN PCWSTR KeyPath,
  160. IN PCWSTR ValueName,
  161. IN OUT PULONG Value
  162. );
  163. NTSTATUS
  164. RegGetDeviceParameterDword(
  165. IN PDEVICE_OBJECT Pdo,
  166. IN PCWSTR ValueName,
  167. IN OUT PULONG Value
  168. );
  169. //
  170. // ReadWrit.c
  171. //
  172. NTSTATUS
  173. DispatchRead(
  174. IN PDEVICE_OBJECT DevObj,
  175. IN PIRP Irp
  176. );
  177. NTSTATUS
  178. DispatchWrite(
  179. IN PDEVICE_OBJECT DevObj,
  180. IN PIRP Irp
  181. );
  182. //
  183. // Test.c
  184. //
  185. VOID
  186. TestEventLog(
  187. IN PDEVICE_OBJECT DevObj
  188. );
  189. //
  190. // Usb.c
  191. //
  192. NTSTATUS
  193. UsbResetPipe(
  194. IN PDEVICE_OBJECT DeviceObject,
  195. IN PUSBD_PIPE_INFORMATION Pipe,
  196. IN BOOLEAN IsoClearStall
  197. );
  198. NTSTATUS DOT4USB_ResetWorkItem(
  199. IN PDEVICE_OBJECT deviceObject,
  200. IN PVOID Context);
  201. NTSTATUS
  202. UsbBuildPipeList(
  203. IN PDEVICE_OBJECT DeviceObject
  204. );
  205. LONG
  206. UsbGet1284Id(
  207. IN PDEVICE_OBJECT DevObj,
  208. PVOID Buffer,
  209. LONG BufferLength
  210. );
  211. NTSTATUS
  212. UsbBulkWrite(
  213. IN PDEVICE_OBJECT DevObj,
  214. IN PIRP Irp
  215. );
  216. NTSTATUS
  217. UsbBulkRead(
  218. IN PDEVICE_OBJECT DevObj,
  219. IN PIRP Irp
  220. );
  221. NTSTATUS
  222. UsbCallUsbd(
  223. IN PDEVICE_OBJECT DeviceObject,
  224. IN PURB Urb,
  225. IN PLARGE_INTEGER pTimeout
  226. );
  227. NTSTATUS
  228. UsbGetDescriptor(
  229. IN PDEVICE_EXTENSION DevExt
  230. );
  231. NTSTATUS
  232. UsbConfigureDevice(
  233. IN PDEVICE_EXTENSION DevExt
  234. );
  235. NTSTATUS
  236. UsbSelectInterface(
  237. IN PDEVICE_OBJECT DevObj,
  238. IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
  239. );
  240. NTSTATUS
  241. UsbReadWrite(
  242. IN PDEVICE_OBJECT DevObj,
  243. IN PIRP Irp,
  244. PUSBD_PIPE_INFORMATION Pipe,
  245. USB_REQUEST_TYPE RequestType
  246. );
  247. NTSTATUS
  248. UsbReadInterruptPipeLoopCompletionRoutine(
  249. IN PDEVICE_OBJECT DevObj,
  250. IN PIRP Irp,
  251. IN PDEVICE_EXTENSION devExt
  252. );
  253. NTSTATUS
  254. UsbStartReadInterruptPipeLoop(
  255. IN PDEVICE_OBJECT DevObj
  256. );
  257. VOID
  258. UsbStopReadInterruptPipeLoop(
  259. IN PDEVICE_OBJECT DevObj
  260. );
  261. PURB
  262. UsbBuildAsyncRequest(
  263. IN PDEVICE_OBJECT DeviceObject,
  264. IN PIRP Irp,
  265. IN PUSBD_PIPE_INFORMATION PipeHandle,
  266. IN BOOLEAN Read
  267. );
  268. NTSTATUS
  269. UsbAsyncReadWriteComplete(
  270. IN PDEVICE_OBJECT DeviceObject,
  271. IN PIRP Irp,
  272. IN PVOID Context
  273. );
  274. //
  275. // Util.c
  276. //
  277. NTSTATUS
  278. DispatchPassThrough(
  279. IN PDEVICE_OBJECT DeviceObject,
  280. IN PIRP Irp
  281. );
  282. NTSTATUS
  283. CallLowerDriverSync(
  284. IN PDEVICE_OBJECT DevObj,
  285. IN PIRP Irp
  286. );
  287. NTSTATUS
  288. CallLowerDriverSyncCompletion(
  289. IN PDEVICE_OBJECT DevObjOrNULL,
  290. IN PIRP Irp,
  291. IN PVOID Context
  292. );
  293. //
  294. // Wmi.c
  295. //
  296. NTSTATUS
  297. DispatchWmi(
  298. IN PDEVICE_OBJECT DevObj,
  299. IN PIRP Irp
  300. );
  301.