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.

251 lines
4.6 KiB

  1. /*++
  2. Copyright (C) 1993-99 Microsoft Corporation
  3. Module Name:
  4. chanfdo.h
  5. Abstract:
  6. --*/
  7. #if !defined (___chanfdo_h___)
  8. #define ___chanfdo_h___
  9. //
  10. // work item
  11. //
  12. typedef struct _IDE_WORK_ITEM_CONTEXT {
  13. PIO_WORKITEM WorkItem;
  14. PIRP Irp;
  15. } IDE_WORK_ITEM_CONTEXT, *PIDE_WORK_ITEM_CONTEXT;
  16. NTSTATUS
  17. ChannelAddDevice(
  18. IN PDRIVER_OBJECT DriverObject,
  19. IN PDEVICE_OBJECT PhysicalDeviceObject
  20. );
  21. NTSTATUS
  22. ChannelAddChannel(
  23. IN PDRIVER_OBJECT DriverObject,
  24. IN PDEVICE_OBJECT PhysicalDeviceObject,
  25. OUT PFDO_EXTENSION *FdoExtension
  26. );
  27. NTSTATUS
  28. ChannelStartDevice (
  29. IN PDEVICE_OBJECT DeviceObject,
  30. IN OUT PIRP Irp
  31. );
  32. NTSTATUS
  33. ChannelStartChannel (
  34. PFDO_EXTENSION FdoExtension,
  35. PCM_RESOURCE_LIST ResourceListToKeep
  36. );
  37. NTSTATUS
  38. ChannelStartDeviceCompletionRoutine (
  39. IN PDEVICE_OBJECT DeviceObject,
  40. IN OUT PIRP Irp,
  41. IN OUT PVOID Context
  42. );
  43. NTSTATUS
  44. ChannelCreateSymblicLinks (
  45. PFDO_EXTENSION FdoExtension
  46. );
  47. NTSTATUS
  48. ChannelDeleteSymblicLinks (
  49. PFDO_EXTENSION FdoExtension
  50. );
  51. NTSTATUS
  52. ChannelSurpriseRemoveDevice (
  53. IN PDEVICE_OBJECT DeviceObject,
  54. IN OUT PIRP Irp
  55. );
  56. NTSTATUS
  57. ChannelRemoveDevice (
  58. IN PDEVICE_OBJECT DeviceObject,
  59. IN OUT PIRP Irp
  60. );
  61. NTSTATUS
  62. ChannelRemoveDeviceCompletionRoutine (
  63. IN PDEVICE_OBJECT DeviceObject,
  64. IN PIRP Irp,
  65. IN PVOID Context
  66. );
  67. NTSTATUS
  68. ChannelStopDevice (
  69. IN PDEVICE_OBJECT DeviceObject,
  70. IN OUT PIRP Irp
  71. );
  72. NTSTATUS
  73. ChannelRemoveChannel (
  74. PFDO_EXTENSION FdoExtension
  75. );
  76. NTSTATUS
  77. ChannelStartDeviceCompletionRoutine (
  78. IN PDEVICE_OBJECT DeviceObject,
  79. IN PIRP Irp,
  80. IN PVOID Context
  81. );
  82. NTSTATUS
  83. ChannelQueryDeviceRelations (
  84. IN PDEVICE_OBJECT DeviceObject,
  85. IN OUT PIRP Irp
  86. );
  87. NTSTATUS
  88. ChannelQueryBusRelation (
  89. IN PDEVICE_OBJECT DeviceObject,
  90. IN PIDE_WORK_ITEM_CONTEXT workItemContext
  91. );
  92. PDEVICE_RELATIONS
  93. ChannelBuildDeviceRelationList (
  94. PFDO_EXTENSION FdoExtension
  95. );
  96. NTSTATUS
  97. ChannelQueryId (
  98. IN PDEVICE_OBJECT DeviceObject,
  99. IN OUT PIRP Irp
  100. );
  101. NTSTATUS
  102. ChannelQueryIdCompletionRoutine(
  103. PDEVICE_OBJECT DeviceObject,
  104. PIRP Irp,
  105. PVOID Context
  106. );
  107. NTSTATUS
  108. ChannelUsageNotification (
  109. IN PDEVICE_OBJECT DeviceObject,
  110. IN OUT PIRP Irp
  111. );
  112. NTSTATUS
  113. ChannelUsageNotificationCompletionRoutine (
  114. IN PDEVICE_OBJECT DeviceObject,
  115. IN PIRP Irp,
  116. IN PVOID Context
  117. );
  118. NTSTATUS
  119. ChannelDeviceIoControl(
  120. IN PDEVICE_OBJECT DeviceObject,
  121. IN PIRP Irp
  122. );
  123. VOID
  124. ChannelQueryBusMasterInterface (
  125. PFDO_EXTENSION FdoExtension
  126. );
  127. VOID
  128. ChannelQueryTransferModeInterface (
  129. PFDO_EXTENSION FdoExtension
  130. );
  131. VOID
  132. ChannelUnbindBusMasterParent (
  133. PFDO_EXTENSION FdoExtension
  134. );
  135. VOID
  136. ChannelQuerySyncAccessInterface (
  137. PFDO_EXTENSION FdoExtension
  138. );
  139. VOID
  140. ChannelQueryRequestProperResourceInterface (
  141. PFDO_EXTENSION FdoExtension
  142. );
  143. __inline
  144. VOID
  145. ChannelEnableInterrupt (
  146. IN PFDO_EXTENSION FdoExtension
  147. );
  148. __inline
  149. VOID
  150. ChannelDisableInterrupt (
  151. IN PFDO_EXTENSION FdoExtension
  152. );
  153. NTSTATUS
  154. ChannelGetIdentifyData (
  155. PFDO_EXTENSION FdoExtension,
  156. ULONG DeviceNumber,
  157. PIDENTIFY_DATA IdentifyData
  158. );
  159. NTSTATUS
  160. ChannelAcpiTransferModeSelect (
  161. IN PVOID Context,
  162. PPCIIDE_TRANSFER_MODE_SELECT XferMode
  163. );
  164. NTSTATUS
  165. ChannelRestoreTiming (
  166. IN PFDO_EXTENSION FdoExtension,
  167. IN PSET_ACPI_TIMING_COMPLETION_ROUTINE CallerCompletionRoutine,
  168. IN PVOID CallerContext
  169. );
  170. NTSTATUS
  171. ChannelRestoreTimingCompletionRoutine (
  172. IN PDEVICE_OBJECT DeviceObject,
  173. IN NTSTATUS Status,
  174. IN PVOID Context
  175. );
  176. NTSTATUS
  177. ChannelFilterResourceRequirements (
  178. IN PDEVICE_OBJECT DeviceObject,
  179. IN OUT PIRP Irp
  180. );
  181. BOOLEAN
  182. ChannelQueryPcmciaParent (
  183. PFDO_EXTENSION FdoExtension
  184. );
  185. #ifdef IDE_FILTER_PROMISE_TECH_RESOURCES
  186. NTSTATUS
  187. ChannelFilterPromiseTechResourceRequirements (
  188. IN PDEVICE_OBJECT DeviceObject,
  189. IN OUT PIRP Irp
  190. );
  191. #endif // IDE_FILTER_PROMISE_TECH_RESOURCES
  192. NTSTATUS
  193. ChannelQueryPnPDeviceState (
  194. IN PDEVICE_OBJECT DeviceObject,
  195. IN OUT PIRP Irp
  196. );
  197. #ifdef ENABLE_NATIVE_MODE
  198. VOID
  199. ChannelQueryInterruptInterface (
  200. PFDO_EXTENSION FdoExtension
  201. );
  202. #endif
  203. #endif // ___chanfdo_h___