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.

82 lines
1.3 KiB

  1. /*++
  2. Copyright (C) 2002 Microsoft Corporation
  3. Module Name:
  4. passthru.h
  5. Abstract:
  6. --*/
  7. #ifndef __PASSTHRU_H__
  8. #define __PASSTHRU_H__
  9. #define SRB_FUNCTION_ATA_PASS_THROUGH_EX 0xC9
  10. NTSTATUS
  11. IdeAtaPassThroughSetPortAddress (
  12. PIRP Irp,
  13. UCHAR PathId,
  14. UCHAR TargetId,
  15. UCHAR Lun
  16. );
  17. NTSTATUS
  18. IdeAtaPassThroughGetPortAddress(
  19. IN PIRP Irp,
  20. OUT PUCHAR PathId,
  21. OUT PUCHAR TargetId,
  22. OUT PUCHAR Lun
  23. );
  24. NTSTATUS
  25. IdeHandleAtaPassThroughIoctl (
  26. PFDO_EXTENSION FdoExtension,
  27. PIRP RequestIrp,
  28. BOOLEAN Direct
  29. );
  30. PSCSI_REQUEST_BLOCK
  31. IdeAtaPassThroughSetupSrb (
  32. PPDO_EXTENSION PdoExtension,
  33. PVOID DataBuffer,
  34. ULONG DataBufferLength,
  35. ULONG TimeOutValue,
  36. ULONG AtaFlags,
  37. PUCHAR CurrentTaskFile,
  38. PUCHAR PreviousTaskFile
  39. );
  40. PIRP
  41. IdeAtaPassThroughSetupIrp (
  42. PDEVICE_OBJECT DeviceObject,
  43. PVOID DataBuffer,
  44. ULONG DataBufferLength,
  45. KPROCESSOR_MODE AccessMode,
  46. BOOLEAN DataIn
  47. );
  48. VOID
  49. IdeAtaPassThroughFreeIrp (
  50. PIRP Irp
  51. );
  52. VOID
  53. IdeAtaPassThroughFreeSrb (
  54. PSCSI_REQUEST_BLOCK Srb
  55. );
  56. NTSTATUS
  57. IdeAtaPassThroughSendSynchronous (
  58. PDEVICE_OBJECT DeviceObject,
  59. PIRP Irp
  60. );
  61. #endif