windows-nt/Source/XPSP1/NT/drivers/storage/mpath/include/mplib.h
2020-09-26 16:20:57 +08:00

73 lines
1.2 KiB
C

#ifndef _MPLIB_H_
#define _MPLIB_H_
#include <ntddk.h>
#include <ntddstor.h>
#include "ntddscsi.h"
//
// Functions exported by mplib
//
VOID
MPLIBSendDeviceIoControlSynchronous(
IN ULONG IoControlCode,
IN PDEVICE_OBJECT TargetDeviceObject,
IN PVOID InputBuffer OPTIONAL,
IN OUT PVOID OutputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ULONG OutputBufferLength,
IN BOOLEAN InternalDeviceIoControl,
OUT PIO_STATUS_BLOCK IoStatus
);
NTSTATUS
MPLibSendPassThroughDirect(
IN PDEVICE_OBJECT DeviceObject,
IN PSCSI_PASS_THROUGH_DIRECT ScsiPassThrough,
IN ULONG InputBufferLength,
IN ULONG OutputBufferLength
);
NTSTATUS
MPLIBGetDescriptor(
IN PDEVICE_OBJECT DeviceObject,
IN PSTORAGE_PROPERTY_ID PropertyId,
OUT PSTORAGE_DESCRIPTOR_HEADER *Descriptor
);
NTSTATUS
MPLibReleaseQueue(
IN PDEVICE_OBJECT ChildDevice
);
NTSTATUS
MPLibSendTUR(
IN PDEVICE_OBJECT TargetDevice
);
VOID
MPathDebugPrint(
ULONG DebugPrintLevel,
PCCHAR DebugMessage,
...
);
#if 1
#define DEBUG_BUFFER_LENGTH 255
extern UCHAR DebugBuffer[];
extern ULONG MPathDebug;
#define MPDebugPrint(x) MPathDebugPrint x
#else
#define MPDebugPrint(x)
#endif
extern ULONG DontLoad;
#endif