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
8
typedef
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
31
}
ATAIdentifyDevice
;
32
33
#endif
/* __ATA_H__ */
34
ATAIdentifyDevice::_rsvd4
uint16_t _rsvd4[8]
Definition:
ata.h:21
ATAIdentifyDevice::_rsvd3
uint16_t _rsvd3[11]
Definition:
ata.h:17
ATAIdentifyDevice::ncqCap
uint16_t ncqCap
Definition:
ata.h:20
ATAIdentifyDevice::lbaSectors
uint64_t lbaSectors
Definition:
ata.h:26
ATAIdentifyDevice::firmware
uint8_t firmware[8]
Definition:
ata.h:13
ATAIdentifyDevice::deviceFlags2
uint16_t deviceFlags2
Definition:
ata.h:23
ATAIdentifyDevice::dmaMode
uint16_t dmaMode
Definition:
ata.h:16
ATAIdentifyDevice::model
uint8_t model[40]
Definition:
ata.h:14
ATAIdentifyDevice::_rsvd1
uint16_t _rsvd1[3]
Definition:
ata.h:12
ATAIdentifyDevice::sectorSize
uint16_t sectorSize
Definition:
ata.h:28
ATAIdentifyDevice::sataCap
uint16_t sataCap
Definition:
ata.h:19
ATAIdentifyDevice::_rsvd0
uint16_t _rsvd0[10]
Definition:
ata.h:10
ATAIdentifyDevice::_rsvd6
uint16_t _rsvd6[2]
Definition:
ata.h:27
ATAIdentifyDevice::_rsvd2
uint16_t _rsvd2[16]
Definition:
ata.h:15
ATAIdentifyDevice::chksum
uint16_t chksum
Definition:
ata.h:30
ATAIdentifyDevice::serial
uint8_t serial[20]
Definition:
ata.h:11
ATAIdentifyDevice::_rsvd5
uint16_t _rsvd5[11]
Definition:
ata.h:25
ATAIdentifyDevice::_rsvd7
uint16_t _rsvd7[148]
Definition:
ata.h:29
ATAIdentifyDevice::queueDepth
uint16_t queueDepth
Definition:
ata.h:18
ATAIdentifyDevice::udmaMode
uint16_t udmaMode
Definition:
ata.h:24
ATAIdentifyDevice::deviceFlags
uint16_t deviceFlags
Definition:
ata.h:22
ATAIdentifyDevice
Definition:
ata.h:9
uint16_t
unsigned short uint16_t
Definition:
types.h:11
uint64_t
unsigned long uint64_t
Definition:
types.h:13
uint8_t
unsigned char uint8_t
Definition:
types.h:10
sys
dev
ata.h
Generated by
1.9.6