kodi
my_ntddscsi.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 //** Defines taken from ntddscsi.h in MS Windows DDK CD
12 #define SCSI_IOCTL_DATA_OUT 0 //Give data to SCSI device (e.g. for writing)
13 #define SCSI_IOCTL_DATA_IN 1 //Get data from SCSI device (e.g. for reading)
14 #define SCSI_IOCTL_DATA_UNSPECIFIED 2 //No data (e.g. for ejecting)
15 
16 #define MAX_SENSE_LEN 18 //Sense data max length
17 
18 #define IOCTL_SCSI_PASS_THROUGH 0x4D004
19 typedef struct _SCSI_PASS_THROUGH {
20  USHORT Length;
21  UCHAR ScsiStatus;
22  UCHAR PathId;
23  UCHAR TargetId;
24  UCHAR Lun;
25  UCHAR CdbLength;
26  UCHAR SenseInfoLength;
27  UCHAR DataIn;
28  ULONG DataTransferLength;
29  ULONG TimeOutValue;
30  ULONG_PTR DataBufferOffset;
31  ULONG SenseInfoOffset;
32  UCHAR Cdb[16];
34 
35 #define IOCTL_SCSI_PASS_THROUGH_DIRECT 0x4D014
36 typedef struct _SCSI_PASS_THROUGH_DIRECT {
37  USHORT Length;
38  UCHAR ScsiStatus;
39  UCHAR PathId;
40  UCHAR TargetId;
41  UCHAR Lun;
42  UCHAR CdbLength;
43  UCHAR SenseInfoLength;
44  UCHAR DataIn;
45  ULONG DataTransferLength;
46  ULONG TimeOutValue;
47  PVOID DataBuffer;
48  ULONG SenseInfoOffset;
49  UCHAR Cdb[16];
51 //** End of defines taken from ntddscsi.h from MS Windows DDK CD
52 
55  BYTE DataBuffer[64*1024];
56 }T_SPT_BUFS;
57 
60  UCHAR SenseBuf[MAX_SENSE_LEN];
62 
Definition: my_ntddscsi.h:53
Definition: my_ntddscsi.h:58
Definition: my_ntddscsi.h:36
Definition: my_ntddscsi.h:19