This repository has been archived on 2025-05-23. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cdtoimg/my_ntddscsi.h

57 lines
1.5 KiB
C
Executable File

#ifndef MY_NTDDSCSI_H
#define MY_NTDDSCSI_H
#include "spc.h"
//** Defines taken from ntddscsi.h in MS Windows DDK CD
#define SCSI_IOCTL_DATA_OUT 0 //Give data to SCSI device (e.g. for writing)
#define SCSI_IOCTL_DATA_IN 1 //Get data from SCSI device (e.g. for reading)
#define SCSI_IOCTL_DATA_UNSPECIFIED 2 //No data (e.g. for ejecting)
#define IOCTL_SCSI_PASS_THROUGH 0x4D004
typedef struct _SCSI_PASS_THROUGH {
USHORT Length;
UCHAR ScsiStatus;
UCHAR PathId;
UCHAR TargetId;
UCHAR Lun;
UCHAR CdbLength;
UCHAR SenseInfoLength;
UCHAR DataIn;
ULONG DataTransferLength;
ULONG TimeOutValue;
ULONG_PTR DataBufferOffset;
ULONG SenseInfoOffset;
UCHAR Cdb[16];
}SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
#define IOCTL_SCSI_PASS_THROUGH_DIRECT 0x4D014
typedef struct _SCSI_PASS_THROUGH_DIRECT {
USHORT Length;
UCHAR ScsiStatus;
UCHAR PathId;
UCHAR TargetId;
UCHAR Lun;
UCHAR CdbLength;
UCHAR SenseInfoLength;
UCHAR DataIn;
ULONG DataTransferLength;
ULONG TimeOutValue;
PVOID DataBuffer;
ULONG SenseInfoOffset;
UCHAR Cdb[16];
}SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
//** End of defines taken from ntddscsi.h from MS Windows DDK CD
typedef struct _SCSI_PASS_THROUGH_AND_BUFFERS {
SCSI_PASS_THROUGH spt;
BYTE DataBuffer[64*1024];
}T_SPT_BUFS;
typedef struct _SCSI_PASS_THROUGH_DIRECT_AND_SENSE_BUFFER {
SCSI_PASS_THROUGH_DIRECT sptd;
UCHAR SenseBuf[MAX_SENSE_LEN];
}T_SPDT_SBUF;
#endif