CS350 COS
COS
Loading...
Searching...
No Matches
ata.h
Go to the documentation of this file.
1/*
2 * ATA Definitions
3 */
4
5#ifndef __ATA_H__
6#define __ATA_H__
7
8typedef struct ATAIdentifyDevice
9{
10 uint16_t _rsvd0[10]; // 0-9
11 uint8_t serial[20]; // 10-19 - Serial
12 uint16_t _rsvd1[3]; // 20-22
13 uint8_t firmware[8]; // 23-26 - Firmware
14 uint8_t model[40]; // 27-46 - Model
15 uint16_t _rsvd2[16]; // 47-62 X
16 uint16_t dmaMode; // 63 - DMA Mode
17 uint16_t _rsvd3[11]; // 64-74 X
18 uint16_t queueDepth; // 75 - Queue Depth
19 uint16_t sataCap; // 76 - SATA Capabilities
20 uint16_t ncqCap; // 77 - NCQ Capabilities
21 uint16_t _rsvd4[8]; // 78-85
22 uint16_t deviceFlags; // 86 - Device Flags (48-bit Addressing)
23 uint16_t deviceFlags2; // 87 - Device Flags 2 (SMART)
24 uint16_t udmaMode; // 88 - Ultra DMA Mode
25 uint16_t _rsvd5[11]; // 89-99
26 uint64_t lbaSectors; // 100-103 - User Addressable Logical Sectors
27 uint16_t _rsvd6[2]; // 104-105
28 uint16_t sectorSize; // 106 - Physical Sector Size
29 uint16_t _rsvd7[148]; // 107-254
30 uint16_t chksum; // 255 - Checksum
32
33#endif /* __ATA_H__ */
34
uint16_t _rsvd4[8]
Definition: ata.h:21
uint16_t _rsvd3[11]
Definition: ata.h:17
uint16_t ncqCap
Definition: ata.h:20
uint64_t lbaSectors
Definition: ata.h:26
uint8_t firmware[8]
Definition: ata.h:13
uint16_t deviceFlags2
Definition: ata.h:23
uint16_t dmaMode
Definition: ata.h:16
uint8_t model[40]
Definition: ata.h:14
uint16_t _rsvd1[3]
Definition: ata.h:12
uint16_t sectorSize
Definition: ata.h:28
uint16_t sataCap
Definition: ata.h:19
uint16_t _rsvd0[10]
Definition: ata.h:10
uint16_t _rsvd6[2]
Definition: ata.h:27
uint16_t _rsvd2[16]
Definition: ata.h:15
uint16_t chksum
Definition: ata.h:30
uint8_t serial[20]
Definition: ata.h:11
uint16_t _rsvd5[11]
Definition: ata.h:25
uint16_t _rsvd7[148]
Definition: ata.h:29
uint16_t queueDepth
Definition: ata.h:18
uint16_t udmaMode
Definition: ata.h:24
uint16_t deviceFlags
Definition: ata.h:22
unsigned short uint16_t
Definition: types.h:11
unsigned long uint64_t
Definition: types.h:13
unsigned char uint8_t
Definition: types.h:10