Leaked source code of windows server 2003
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.

199 lines
3.2 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. isopnp.h
  5. Abstract:
  6. Environment:
  7. Kernel mode
  8. Notes:
  9. Copyright (c) 2000 Microsoft Corporation.
  10. All Rights Reserved.
  11. --*/
  12. #ifndef _ISOUSB_PNP_H
  13. #define _ISOUSB_PNP_H
  14. #define REMOTE_WAKEUP_MASK 0x20
  15. NTSTATUS
  16. IsoUsb_DispatchPnP(
  17. IN PDEVICE_OBJECT DeviceObject,
  18. IN PIRP Irp
  19. );
  20. NTSTATUS
  21. HandleStartDevice(
  22. IN PDEVICE_OBJECT DeviceObject,
  23. IN PIRP Irp
  24. );
  25. NTSTATUS
  26. HandleQueryStopDevice(
  27. IN PDEVICE_OBJECT DeviceObject,
  28. IN PIRP Irp
  29. );
  30. NTSTATUS
  31. HandleQueryRemoveDevice(
  32. IN PDEVICE_OBJECT DeviceObject,
  33. IN PIRP Irp
  34. );
  35. NTSTATUS
  36. HandleCancelRemoveDevice(
  37. IN PDEVICE_OBJECT DeviceObject,
  38. IN PIRP Irp
  39. );
  40. NTSTATUS
  41. HandleSurpriseRemoval(
  42. IN PDEVICE_OBJECT DeviceObject,
  43. IN PIRP Irp
  44. );
  45. NTSTATUS
  46. HandleRemoveDevice(
  47. IN PDEVICE_OBJECT DeviceObject,
  48. IN PIRP Irp
  49. );
  50. NTSTATUS
  51. HandleCancelStopDevice(
  52. IN PDEVICE_OBJECT DeviceObject,
  53. IN PIRP Irp
  54. );
  55. NTSTATUS
  56. HandleStopDevice(
  57. IN PDEVICE_OBJECT DeviceObject,
  58. IN PIRP Irp
  59. );
  60. NTSTATUS
  61. HandleQueryCapabilities(
  62. IN PDEVICE_OBJECT DeviceObject,
  63. IN PIRP Irp
  64. );
  65. NTSTATUS
  66. ReadandSelectDescriptors(
  67. IN PDEVICE_OBJECT DeviceObject
  68. );
  69. NTSTATUS
  70. ConfigureDevice(
  71. IN PDEVICE_OBJECT DeviceObject
  72. );
  73. NTSTATUS
  74. SelectInterfaces(
  75. IN PDEVICE_OBJECT DeviceObject,
  76. IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
  77. );
  78. NTSTATUS
  79. DeconfigureDevice(
  80. IN PDEVICE_OBJECT DeviceObject
  81. );
  82. VOID
  83. GetBusInterfaceVersion(
  84. IN PDEVICE_OBJECT DeviceObject
  85. );
  86. NTSTATUS
  87. CallUSBD(
  88. IN PDEVICE_OBJECT DeviceObject,
  89. IN PURB Urb
  90. );
  91. VOID
  92. ProcessQueuedRequests(
  93. IN OUT PDEVICE_EXTENSION DeviceExtension
  94. );
  95. NTSTATUS
  96. IsoUsb_GetRegistryDword(
  97. IN PWCHAR RegPath,
  98. IN PWCHAR ValueName,
  99. IN OUT PULONG Value
  100. );
  101. NTSTATUS
  102. IsoUsb_DispatchClean(
  103. IN PDEVICE_OBJECT DeviceObject,
  104. IN PIRP Irp
  105. );
  106. VOID
  107. DpcRoutine(
  108. IN PKDPC Dpc,
  109. IN PVOID DeferredContext,
  110. IN PVOID SystemArgument1,
  111. IN PVOID SystemArgument2
  112. );
  113. VOID
  114. IdleRequestWorkerRoutine(
  115. IN PDEVICE_OBJECT DeviceObject,
  116. IN PVOID Context
  117. );
  118. NTSTATUS
  119. IsoUsb_AbortPipes(
  120. IN PDEVICE_OBJECT DeviceObject
  121. );
  122. NTSTATUS
  123. IrpCompletionRoutine(
  124. IN PDEVICE_OBJECT DeviceObject,
  125. IN PIRP Irp,
  126. IN PVOID Context
  127. );
  128. NTSTATUS
  129. CanStopDevice(
  130. IN PDEVICE_OBJECT DeviceObject,
  131. IN PIRP Irp
  132. );
  133. NTSTATUS
  134. CanRemoveDevice(
  135. IN PDEVICE_OBJECT DeviceObject,
  136. IN PIRP Irp
  137. );
  138. NTSTATUS
  139. ReleaseMemory(
  140. IN PDEVICE_OBJECT DeviceObject
  141. );
  142. LONG
  143. IsoUsb_IoIncrement(
  144. IN OUT PDEVICE_EXTENSION DeviceExtension
  145. );
  146. LONG
  147. IsoUsb_IoDecrement(
  148. IN OUT PDEVICE_EXTENSION DeviceExtension
  149. );
  150. BOOLEAN
  151. CanDeviceSuspend(
  152. IN PDEVICE_EXTENSION DeviceExtension
  153. );
  154. PCHAR
  155. PnPMinorFunctionString (
  156. IN UCHAR MinorFunction
  157. );
  158. #endif