39#define SAT_READ_FPDMA_QUEUED 0x60
40#define SAT_READ_DMA_EXT 0x25
41#define SAT_READ_DMA 0xC8
42#define SAT_WRITE_FPDMA_QUEUED 0x61
43#define SAT_WRITE_DMA_EXT 0x35
44#define SAT_WRITE_DMA_FUA_EXT 0x3D
45#define SAT_WRITE_DMA 0xCA
46#define SAT_CHECK_POWER_MODE 0xE5
47#define SAT_READ_LOG_EXT 0x2F
48#define SAT_READ_VERIFY_SECTORS 0x40
49#define SAT_READ_VERIFY_SECTORS_EXT 0x42
51#define SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE 0xD4
52#define SAT_SMART_RETURN_STATUS 0xDA
53#define SAT_SMART_READ_LOG 0xD5
54#define SAT_SMART_ENABLE_OPERATIONS 0xD8
55#define SAT_SMART_DISABLE_OPERATIONS 0xD9
56#define SAT_FLUSH_CACHE 0xE7
57#define SAT_FLUSH_CACHE_EXT 0xEA
58#define SAT_STANDBY 0xE2
59#define SAT_MEDIA_EJECT 0xED
60#define SAT_WRITE_SECTORS 0x30
61#define SAT_WRITE_SECTORS_EXT 0x34
62#define SAT_READ_SECTORS 0x20
63#define SAT_READ_SECTORS_EXT 0x24
64#define SAT_GET_MEDIA_STATUS 0xDA
65#define SAT_SET_FEATURES 0xEF
66#define SAT_IDENTIFY_DEVICE 0xEC
67#define SAT_READ_BUFFER 0xE4
68#define SAT_WRITE_BUFFER 0xE8
72#define SAT_IDENTIFY_PACKET_DEVICE 0xA1
73#define SAT_PACKET 0xA0
74#define SAT_DEVICE_RESET 0x08
75#define SAT_EXECUTE_DEVICE_DIAGNOSTIC 0x90
79#define ERR_ATA_STATUS_MASK 0x01
80#define DRQ_ATA_STATUS_MASK 0x08
81#define DF_ATA_STATUS_MASK 0x20
82#define DRDY_ATA_STATUS_MASK 0x40
83#define BSY_ATA_STATUS_MASK 0x80
88#define NM_ATA_ERROR_MASK 0x02
89#define ABRT_ATA_ERROR_MASK 0x04
90#define MCR_ATA_ERROR_MASK 0x08
91#define IDNF_ATA_ERROR_MASK 0x10
92#define MC_ATA_ERROR_MASK 0x20
93#define UNC_ATA_ERROR_MASK 0x40
94#define ICRC_ATA_ERROR_MASK 0x80
104#define SAT_TR_LBA_LIMIT 0x10000000
111#define SAT_EXT_TR_LBA_LIMIT 0x1000000000000
117#define SAT_NON_EXT_TYPE 0
118#define SAT_EXT_TYPE 1
133#define AG_SAT_VENDOR_ID_STRING "ATA "
179#define AG_SAT_INT_IO_FLAG_ORG_IO_COMPLETED 0x00000001
181#define INQUIRY_SUPPORTED_VPD_PAGE 0x00
182#define INQUIRY_UNIT_SERIAL_NUMBER_VPD_PAGE 0x80
183#define INQUIRY_DEVICE_IDENTIFICATION_VPD_PAGE 0x83
184#define INQUIRY_ATA_INFORMATION_VPD_PAGE 0x89
186#define MODESENSE_CONTROL_PAGE 0x0A
187#define MODESENSE_READ_WRITE_ERROR_RECOVERY_PAGE 0x01
188#define MODESENSE_CACHING 0x08
189#define MODESENSE_INFORMATION_EXCEPTION_CONTROL_PAGE 0x1C
190#define MODESENSE_RETURN_ALL_PAGES 0x3F
191#define MODESENSE_VENDOR_SPECIFIC_PAGE 0x00
193#define MODESELECT_CONTROL_PAGE 0x0A
194#define MODESELECT_READ_WRITE_ERROR_RECOVERY_PAGE 0x01
195#define MODESELECT_CACHING 0x08
196#define MODESELECT_INFORMATION_EXCEPTION_CONTROL_PAGE 0x1C
197#define MODESELECT_RETURN_ALL_PAGES 0x3F
198#define MODESELECT_VENDOR_SPECIFIC_PAGE 0x00
200#define LOGSENSE_SUPPORTED_LOG_PAGES 0x00
201#define LOGSENSE_SELFTEST_RESULTS_PAGE 0x10
202#define LOGSENSE_INFORMATION_EXCEPTIONS_PAGE 0x2F
208#define SCSI_EVPD_MASK 0x01
209#define SCSI_IMMED_MASK 0x01
210#define SCSI_NACA_MASK 0x04
211#define SCSI_LINK_MASK 0x01
212#define SCSI_PF_MASK 0x10
213#define SCSI_DEVOFFL_MASK 0x02
214#define SCSI_UNITOFFL_MASK 0x01
215#define SCSI_START_MASK 0x01
216#define SCSI_LOEJ_MASK 0x02
217#define SCSI_NM_MASK 0x02
218#define SCSI_FLUSH_CACHE_IMMED_MASK 0x02
219#define SCSI_FUA_NV_MASK 0x02
220#define SCSI_VERIFY_BYTCHK_MASK 0x02
221#define SCSI_FORMAT_UNIT_IMMED_MASK 0x02
222#define SCSI_FORMAT_UNIT_FOV_MASK 0x80
223#define SCSI_FORMAT_UNIT_DCRT_MASK 0x20
224#define SCSI_FORMAT_UNIT_IP_MASK 0x08
225#define SCSI_WRITE_SAME_LBDATA_MASK 0x02
226#define SCSI_WRITE_SAME_PBDATA_MASK 0x04
227#define SCSI_SYNC_CACHE_IMMED_MASK 0x02
228#define SCSI_WRITE_N_VERIFY_BYTCHK_MASK 0x02
229#define SCSI_SEND_DIAGNOSTIC_SELFTEST_MASK 0x04
230#define SCSI_FORMAT_UNIT_DEFECT_LIST_FORMAT_MASK 0x07
231#define SCSI_FORMAT_UNIT_FMTDATA_MASK 0x10
232#define SCSI_FORMAT_UNIT_DCRT_MASK 0x20
233#define SCSI_FORMAT_UNIT_CMPLIST_MASK 0x08
234#define SCSI_FORMAT_UNIT_LONGLIST_MASK 0x20
235#define SCSI_READ10_FUA_MASK 0x08
236#define SCSI_READ12_FUA_MASK 0x08
237#define SCSI_READ16_FUA_MASK 0x08
238#define SCSI_WRITE10_FUA_MASK 0x08
239#define SCSI_WRITE12_FUA_MASK 0x08
240#define SCSI_WRITE16_FUA_MASK 0x08
241#define SCSI_READ_CAPACITY10_PMI_MASK 0x01
242#define SCSI_READ_CAPACITY16_PMI_MASK 0x01
243#define SCSI_MODE_SENSE6_PC_MASK 0xC0
244#define SCSI_MODE_SENSE6_PAGE_CODE_MASK 0x3F
245#define SCSI_MODE_SENSE10_PC_MASK 0xC0
246#define SCSI_MODE_SENSE10_LLBAA_MASK 0x10
247#define SCSI_MODE_SENSE10_PAGE_CODE_MASK 0x3F
248#define SCSI_SEND_DIAGNOSTIC_TEST_CODE_MASK 0xE0
249#define SCSI_LOG_SENSE_PAGE_CODE_MASK 0x3F
250#define SCSI_MODE_SELECT6_PF_MASK 0x10
251#define SCSI_MODE_SELECT6_AWRE_MASK 0x80
252#define SCSI_MODE_SELECT6_RC_MASK 0x10
253#define SCSI_MODE_SELECT6_EER_MASK 0x08
254#define SCSI_MODE_SELECT6_PER_MASK 0x04
255#define SCSI_MODE_SELECT6_DTE_MASK 0x02
256#define SCSI_MODE_SELECT6_DCR_MASK 0x01
257#define SCSI_MODE_SELECT6_WCE_MASK 0x04
258#define SCSI_MODE_SELECT6_DRA_MASK 0x20
259#define SCSI_MODE_SELECT6_PERF_MASK 0x80
260#define SCSI_MODE_SELECT6_TEST_MASK 0x04
261#define SCSI_MODE_SELECT6_DEXCPT_MASK 0x08
262#define SCSI_MODE_SELECT10_PF_MASK 0x10
263#define SCSI_MODE_SELECT10_LONGLBA_MASK 0x01
264#define SCSI_MODE_SELECT10_AWRE_MASK 0x80
265#define SCSI_MODE_SELECT10_RC_MASK 0x10
266#define SCSI_MODE_SELECT10_EER_MASK 0x08
267#define SCSI_MODE_SELECT10_PER_MASK 0x04
268#define SCSI_MODE_SELECT10_DTE_MASK 0x02
269#define SCSI_MODE_SELECT10_DCR_MASK 0x01
270#define SCSI_MODE_SELECT10_WCE_MASK 0x04
271#define SCSI_MODE_SELECT10_DRA_MASK 0x20
272#define SCSI_MODE_SELECT10_PERF_MASK 0x80
273#define SCSI_MODE_SELECT10_TEST_MASK 0x04
274#define SCSI_MODE_SELECT10_DEXCPT_MASK 0x08
275#define SCSI_WRITE_N_VERIFY10_FUA_MASK 0x08
276#define SCSI_REQUEST_SENSE_DESC_MASK 0x01
277#define SCSI_READ_BUFFER_MODE_MASK 0x1F
279#define ATA_REMOVABLE_MEDIA_DEVICE_MASK 0x80
280#define SCSI_REASSIGN_BLOCKS_LONGLIST_MASK 0x01
281#define SCSI_REASSIGN_BLOCKS_LONGLBA_MASK 0x02
284#define SENSE_DATA_LENGTH 0x12
285#define SELFTEST_RESULTS_LOG_PAGE_LENGTH 404
286#define INFORMATION_EXCEPTIONS_LOG_PAGE_LENGTH 11
287#define ZERO_MEDIA_SERIAL_NUMBER_LENGTH 8
293#define READ_BUFFER_DATA_MODE 0x02
294#define READ_BUFFER_DESCRIPTOR_MODE 0x03
295#define READ_BUFFER_DESCRIPTOR_MODE_DATA_LEN 0x04
297#define WRITE_BUFFER_DATA_MODE 0x02
298#define WRITE_BUFFER_DL_MICROCODE_SAVE_MODE 0x05
301#define BIT0_MASK 0x01
302#define BIT1_MASK 0x02
303#define BIT2_MASK 0x04
304#define BIT3_MASK 0x08
305#define BIT4_MASK 0x10
306#define BIT5_MASK 0x20
307#define BIT6_MASK 0x40
308#define BIT7_MASK 0x80
310#define MODE_SENSE6_RETURN_ALL_PAGES_LEN 68
311#define MODE_SENSE6_CONTROL_PAGE_LEN 24
312#define MODE_SENSE6_READ_WRITE_ERROR_RECOVERY_PAGE_LEN 24
313#define MODE_SENSE6_CACHING_LEN 32
314#define MODE_SENSE6_INFORMATION_EXCEPTION_CONTROL_PAGE_LEN 24
317#define MODE_SENSE10_RETURN_ALL_PAGES_LEN 68 + 4
318#define MODE_SENSE10_CONTROL_PAGE_LEN 24 + 4
319#define MODE_SENSE10_READ_WRITE_ERROR_RECOVERY_PAGE_LEN 24 + 4
320#define MODE_SENSE10_CACHING_LEN 32 + 4
321#define MODE_SENSE10_INFORMATION_EXCEPTION_CONTROL_PAGE_LEN 24 + 4
323#define MODE_SENSE10_RETURN_ALL_PAGES_LLBAA_LEN 68 + 4 + 8
324#define MODE_SENSE10_CONTROL_PAGE_LLBAA_LEN 24 + 4 + 8
325#define MODE_SENSE10_READ_WRITE_ERROR_RECOVERY_PAGE_LLBAA_LEN 24 + 4 + 8
326#define MODE_SENSE10_CACHING_LLBAA_LEN 32 + 4 + 8
327#define MODE_SENSE10_INFORMATION_EXCEPTION_CONTROL_PAGE_LLBAA_LEN 24 + 4 + 8
struct satReadLogExtPage10h_s satReadLogExtPage10h_t
struct satSimpleSATAIdentifyData_s satSimpleSATAIdentifyData_t
struct scsiReportLun_s scsiReportLun_t
struct satSmartReadLogSelfTest_s satSmartReadLogSelfTest_t
struct satReadLogExtSelfTest_s satReadLogExtSelfTest_t