1 /* $Id: ntddscsi.h,v 1.2 2002/10/03 18:33:47 sedwards Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: services/storage/include/ntddscsi.h
6 * PURPOSE: Basic SCSI definitions
7 * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
10 #ifndef __STORAGE_INCLUDE_NTDDSCSI_H
11 #define __STORAGE_INCLUDE_NTDDSCSI_H
16 #define IOCTL_SCSI_PASS_THROUGH \
17 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
18 #define IOCTL_SCSI_MINIPORT \
19 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
20 #define IOCTL_SCSI_GET_INQUIRY_DATA \
21 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
22 #define IOCTL_SCSI_GET_CAPABILITIES \
23 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
24 #define IOCTL_SCSI_PASS_THROUGH_DIRECT \
25 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
26 #define IOCTL_SCSI_GET_ADDRESS \
27 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
28 #define IOCTL_SCSI_RESCAN_BUS \
29 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS)
30 #define IOCTL_SCSI_GET_DUMP_POINTERS \
31 CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0408, METHOD_BUFFERED, FILE_ANY_ACCESS)
35 /* Used by IOCTL_SCSI_GET_CAPABILITIES */
37 typedef struct _IO_SCSI_CAPABILITIES
40 ULONG MaximumTransferLength
;
41 ULONG MaximumPhysicalPages
;
42 ULONG SupportedAsynchronousEvents
;
44 BOOLEAN TaggedQueuing
;
45 BOOLEAN AdapterScansDown
;
46 BOOLEAN AdapterUsesPio
;
47 } IO_SCSI_CAPABILITIES
, *PIO_SCSI_CAPABILITIES
;
50 /* Used by IOCTL_SCSI_GET_INQUIRY_DATA */
52 typedef struct _SCSI_BUS_DATA
54 UCHAR NumberOfLogicalUnits
;
56 ULONG InquiryDataOffset
;
57 }SCSI_BUS_DATA
, *PSCSI_BUS_DATA
;
60 typedef struct _SCSI_ADAPTER_BUS_INFO
63 SCSI_BUS_DATA BusData
[1];
64 } SCSI_ADAPTER_BUS_INFO
, *PSCSI_ADAPTER_BUS_INFO
;
67 typedef struct _SCSI_INQUIRY_DATA
72 BOOLEAN DeviceClaimed
;
73 ULONG InquiryDataLength
;
74 ULONG NextInquiryDataOffset
;
76 }SCSI_INQUIRY_DATA
, *PSCSI_INQUIRY_DATA
;
79 /* Used by IOCTL_SCSI_GET_ADDRESS */
81 typedef struct _SCSI_ADDRESS
88 } SCSI_ADDRESS
, *PSCSI_ADDRESS
;
90 #endif /* __STORAGE_INCLUDE_NTDDSCSI_H */