112
113
* file access values
114
115
#define FILE_ANY_ACCESS 0
116
#ifndef FILE_READ_ACCESS
115
117
#define FILE_READ_ACCESS 0x0001
119
#ifndef FILE_WRITE_ACCESS
116
120
#define FILE_WRITE_ACCESS 0x0002
119
124
#define IOCTL_SCSI_BASE 0x00000004
129
134
* Standard IOCTL define
131
137
#define CTL_CODE(DevType, Function, Method, Access) \
132
138
(((DevType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
134
#define IOCTL_SCSI_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
135
#define IOCTL_SCSI_MINIPORT CTL_CODE(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
136
#define IOCTL_SCSI_GET_INQUIRY_DATA CTL_CODE(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
137
#define IOCTL_SCSI_GET_CAPABILITIES CTL_CODE(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
138
#define IOCTL_SCSI_PASS_THROUGH_DIRECT CTL_CODE(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
139
#define IOCTL_SCSI_GET_ADDRESS CTL_CODE(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
141
#define IOCTL_SCSI_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE, 0x0401, \
142
METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
143
#define IOCTL_SCSI_MINIPORT CTL_CODE(IOCTL_SCSI_BASE, 0x0402, \
144
METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
145
#define IOCTL_SCSI_GET_INQUIRY_DATA CTL_CODE(IOCTL_SCSI_BASE, 0x0403, \
146
METHOD_BUFFERED, FILE_ANY_ACCESS)
147
#define IOCTL_SCSI_GET_CAPABILITIES CTL_CODE(IOCTL_SCSI_BASE, 0x0404, \
148
METHOD_BUFFERED, FILE_ANY_ACCESS)
149
#define IOCTL_SCSI_PASS_THROUGH_DIRECT CTL_CODE(IOCTL_SCSI_BASE, 0x0405, \
150
METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
151
#define IOCTL_SCSI_GET_ADDRESS CTL_CODE(IOCTL_SCSI_BASE, 0x0406, \
152
METHOD_BUFFERED, FILE_ANY_ACCESS)