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.

72 lines
1.2 KiB

  1. #ifndef _MPLIB_H_
  2. #define _MPLIB_H_
  3. #include <ntddk.h>
  4. #include <ntddstor.h>
  5. #include "ntddscsi.h"
  6. //
  7. // Functions exported by mplib
  8. //
  9. VOID
  10. MPLIBSendDeviceIoControlSynchronous(
  11. IN ULONG IoControlCode,
  12. IN PDEVICE_OBJECT TargetDeviceObject,
  13. IN PVOID InputBuffer OPTIONAL,
  14. IN OUT PVOID OutputBuffer OPTIONAL,
  15. IN ULONG InputBufferLength,
  16. IN ULONG OutputBufferLength,
  17. IN BOOLEAN InternalDeviceIoControl,
  18. OUT PIO_STATUS_BLOCK IoStatus
  19. );
  20. NTSTATUS
  21. MPLibSendPassThroughDirect(
  22. IN PDEVICE_OBJECT DeviceObject,
  23. IN PSCSI_PASS_THROUGH_DIRECT ScsiPassThrough,
  24. IN ULONG InputBufferLength,
  25. IN ULONG OutputBufferLength
  26. );
  27. NTSTATUS
  28. MPLIBGetDescriptor(
  29. IN PDEVICE_OBJECT DeviceObject,
  30. IN PSTORAGE_PROPERTY_ID PropertyId,
  31. OUT PSTORAGE_DESCRIPTOR_HEADER *Descriptor
  32. );
  33. NTSTATUS
  34. MPLibReleaseQueue(
  35. IN PDEVICE_OBJECT ChildDevice
  36. );
  37. NTSTATUS
  38. MPLibSendTUR(
  39. IN PDEVICE_OBJECT TargetDevice
  40. );
  41. VOID
  42. MPathDebugPrint(
  43. ULONG DebugPrintLevel,
  44. PCCHAR DebugMessage,
  45. ...
  46. );
  47. #if 1
  48. #define DEBUG_BUFFER_LENGTH 255
  49. extern UCHAR DebugBuffer[];
  50. extern ULONG MPathDebug;
  51. #define MPDebugPrint(x) MPathDebugPrint x
  52. #else
  53. #define MPDebugPrint(x)
  54. #endif
  55. extern ULONG DontLoad;
  56. #endif