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.

259 lines
6.6 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. bus.h
  5. Abstract:
  6. This module contains the bus dispatcher for the ACPI driver, NT version
  7. Author:
  8. Stephane Plante (splante)
  9. Environment:
  10. NT Kernel Model Driver only
  11. --*/
  12. #ifndef _BUS_H_
  13. #define _BUS_H_
  14. extern LIST_ENTRY AcpiUnresolvedEjectList;
  15. #define CompareGuid(g1, g2) ( (g1) == (g2) \
  16. ? TRUE \
  17. : RtlCompareMemory( (g1), (g2), sizeof(GUID) ) == sizeof(GUID) \
  18. )
  19. NTSTATUS
  20. ACPIBusAndFilterIrpEject(
  21. IN PDEVICE_OBJECT DeviceObject,
  22. IN PIRP Irp,
  23. IN PVOID Context,
  24. IN BOOLEAN ProcessingFilterIrp
  25. );
  26. NTSTATUS
  27. ACPIBusAndFilterIrpQueryCapabilities(
  28. IN PDEVICE_OBJECT DeviceObject,
  29. IN PIRP Irp,
  30. IN PVOID Context,
  31. IN BOOLEAN ProcessingFilterIrp
  32. );
  33. NTSTATUS
  34. ACPIBusAndFilterIrpQueryEjectRelations(
  35. IN PDEVICE_OBJECT DeviceObject,
  36. IN PIRP Irp,
  37. IN OUT PDEVICE_RELATIONS *PdeviceRelations
  38. );
  39. NTSTATUS
  40. ACPIBusAndFilterIrpQueryPnpDeviceState(
  41. IN PDEVICE_OBJECT DeviceObject,
  42. IN PIRP Irp,
  43. IN PVOID Context,
  44. IN BOOLEAN ProcessingFilterIrp
  45. );
  46. NTSTATUS
  47. ACPIBusAndFilterIrpSetLock(
  48. IN PDEVICE_OBJECT DeviceObject,
  49. IN PIRP Irp,
  50. IN PVOID Context,
  51. IN BOOLEAN ProcessingFilterIrp
  52. );
  53. NTSTATUS
  54. ACPIBusIrpCancelRemoveOrStopDevice(
  55. IN PDEVICE_OBJECT DeviceObject,
  56. IN PIRP Irp
  57. );
  58. NTSTATUS
  59. ACPIBusIrpDeviceUsageNotification(
  60. IN PDEVICE_OBJECT DeviceObject,
  61. IN PIRP Irp
  62. );
  63. NTSTATUS
  64. ACPIBusIrpEject(
  65. IN PDEVICE_OBJECT DeviceObject,
  66. IN PIRP Irp
  67. );
  68. VOID
  69. ACPIBusAndFilterIrpEjectCancelRoutine(
  70. IN PDEVICE_OBJECT DeviceObject,
  71. IN PIRP Irp
  72. );
  73. VOID
  74. ACPIBusAndFilterIrpEjectComplete(
  75. IN PDEVICE_EXTENSION DeviceExtension,
  76. IN PIRP Irp OPTIONAL,
  77. IN NTSTATUS Status
  78. );
  79. NTSTATUS
  80. ACPIBusIrpQueryBusInformation(
  81. IN PDEVICE_OBJECT DeviceObject,
  82. IN PIRP Irp
  83. );
  84. NTSTATUS
  85. ACPIBusIrpQueryBusRelations(
  86. IN PDEVICE_OBJECT DeviceObject,
  87. IN PIRP Irp,
  88. IN OUT PDEVICE_RELATIONS *PdeviceRelations
  89. );
  90. NTSTATUS
  91. ACPIBusIrpQueryCapabilities(
  92. IN PDEVICE_OBJECT DeviceObject,
  93. IN PIRP Irp
  94. );
  95. NTSTATUS
  96. ACPIBusIrpQueryDeviceRelations(
  97. IN PDEVICE_OBJECT DeviceObject,
  98. IN PIRP Irp
  99. );
  100. NTSTATUS
  101. ACPIBusIrpQueryId(
  102. IN PDEVICE_OBJECT DeviceObject,
  103. IN PIRP Irp
  104. );
  105. NTSTATUS
  106. ACPIBusIrpQueryInterface(
  107. IN PDEVICE_OBJECT DeviceObject,
  108. IN PIRP Irp
  109. );
  110. NTSTATUS
  111. ACPIBusIrpQueryPnpDeviceState(
  112. IN PDEVICE_OBJECT DeviceObject,
  113. IN PIRP Irp
  114. );
  115. NTSTATUS
  116. ACPIBusIrpQueryPower(
  117. IN PDEVICE_OBJECT DeviceObject,
  118. IN PIRP Irp
  119. );
  120. NTSTATUS
  121. ACPIBusIrpQueryRemoveOrStopDevice(
  122. IN PDEVICE_OBJECT DeviceObject,
  123. IN PIRP Irp
  124. );
  125. NTSTATUS
  126. ACPIBusIrpQueryResources(
  127. IN PDEVICE_OBJECT DeviceObject,
  128. IN PIRP Irp
  129. );
  130. NTSTATUS
  131. ACPIBusIrpQueryResourceRequirements(
  132. IN PDEVICE_OBJECT DeviceObject,
  133. IN PIRP Irp
  134. );
  135. NTSTATUS
  136. ACPIBusIrpQueryTargetRelation(
  137. IN PDEVICE_OBJECT DeviceObject,
  138. IN PIRP Irp,
  139. IN OUT PDEVICE_RELATIONS *PdeviceRelations
  140. );
  141. NTSTATUS
  142. ACPIBusIrpRemoveDevice(
  143. IN PDEVICE_OBJECT DeviceObject,
  144. IN PIRP Irp
  145. );
  146. NTSTATUS
  147. ACPIBusIrpSetLock(
  148. IN PDEVICE_OBJECT DeviceObject,
  149. IN PIRP Irp
  150. );
  151. NTSTATUS
  152. ACPIBusIrpSetDevicePower(
  153. IN PDEVICE_OBJECT DeviceObject,
  154. IN PIRP Irp,
  155. IN PIO_STACK_LOCATION IrpStack
  156. );
  157. NTSTATUS
  158. ACPIBusIrpSetPower(
  159. IN PDEVICE_OBJECT DeviceObject,
  160. IN PIRP Irp
  161. );
  162. NTSTATUS
  163. ACPIBusIrpSetSystemPower(
  164. IN PDEVICE_OBJECT DeviceObject,
  165. IN PIRP Irp,
  166. IN PIO_STACK_LOCATION IrpStack
  167. );
  168. NTSTATUS
  169. ACPIBusIrpSetSystemPowerComplete(
  170. IN PDEVICE_OBJECT DeviceObject,
  171. IN UCHAR MinorFunction,
  172. IN POWER_STATE PowerState,
  173. IN PVOID Context,
  174. IN PIO_STATUS_BLOCK IoStatus
  175. );
  176. NTSTATUS
  177. ACPIBusIrpStartDevice(
  178. IN PDEVICE_OBJECT DeviceObject,
  179. IN PIRP Irp
  180. );
  181. VOID
  182. ACPIBusIrpStartDeviceCompletion(
  183. IN PDEVICE_EXTENSION DeviceExtension,
  184. IN PVOID Context,
  185. IN NTSTATUS Status
  186. );
  187. VOID
  188. ACPIBusIrpStartDeviceWorker(
  189. IN PVOID Context
  190. );
  191. NTSTATUS
  192. ACPIBusIrpStopDevice(
  193. IN PDEVICE_OBJECT DeviceObject,
  194. IN PIRP Irp
  195. );
  196. NTSTATUS
  197. ACPIBusIrpSurpriseRemoval(
  198. IN PDEVICE_OBJECT DeviceObject,
  199. IN PIRP Irp
  200. );
  201. NTSTATUS
  202. ACPIBusIrpUnhandled(
  203. IN PDEVICE_OBJECT DeviceObject,
  204. IN PIRP Irp
  205. );
  206. VOID
  207. SmashInterfaceQuery(
  208. IN OUT PIRP Irp
  209. );
  210. #endif