ReactOS  0.4.14-dev-337-gf981a68
ata.h
Go to the documentation of this file.
1 #ifndef _NTATA_
2 #define _NTATA_
3 
4 #include <pshpack1.h>
5 typedef struct _IDENTIFY_DEVICE_DATA {
6  struct {
19  USHORT Retired1[2];
23  USHORT Retired2[2];
30  struct {
40  } Capabilities;
67  struct {
72  USHORT Reserved1 :1;
79  USHORT Obsolete1 :1;
82  USHORT Nop :1;
86  USHORT Cfa :1;
88  USHORT Msn :1;
114  struct {
116  USHORT SecurityMode :1;
119  USHORT Reserved1 :1;
120  USHORT WriteCache :1;
121  USHORT LookAhead :1;
124  USHORT DeviceReset :1;
126  USHORT Obsolete1 :1;
127  USHORT WriteBuffer :1;
128  USHORT ReadBuffer :1;
129  USHORT Nop :1;
130  USHORT Obsolete2 :1;
132  USHORT DmaQueued :1;
133  USHORT Cfa :1;
134  USHORT AdvancedPm :1;
135  USHORT Msn :1;
138  USHORT Reserved2 :1;
139  USHORT SetMax :1;
140  USHORT Acoustics :1;
141  USHORT BigLba :1;
143  USHORT FlushCache :1;
145  USHORT Resrved3 :2;
151  USHORT GpLogging :1;
152  USHORT WriteFua :1;
154  USHORT WWN64Bit :1;
159  USHORT Reserved4 :2;
171  struct {
176  USHORT Reserved1 :2;
183  struct {
187  USHORT Reserved1 :2;
189  struct {
192  USHORT Reserved01 :11;
193  USHORT Reserved1 :2;
198  struct {
205  USHORT Reserved0 :2;
207  USHORT Reserved1 :7;
208  } SecurityStatus;
210  struct {
214  USHORT Reserved0 :1;
216  } CfaPowerModel;
218  struct {
220  USHORT Reserved0 :15;
226  struct {
229  USHORT Reserved0 :1;
230  } BlockAlignment;
233  struct {
235  USHORT Reserved0 :3;
237  USHORT Reserved1 :3;
245  struct {
248  } NVCacheOptions;
253 #include <poppack.h>
254 
255 #define IDE_LBA_MODE (1 << 6)
256 
257 #define IDE_COMMAND_NOP 0x00
258 #define IDE_COMMAND_DATA_SET_MANAGEMENT 0x06
259 #define IDE_COMMAND_ATAPI_RESET 0x08
260 #define IDE_COMMAND_READ 0x20
261 #define IDE_COMMAND_READ_EXT 0x24
262 #define IDE_COMMAND_READ_DMA_EXT 0x25
263 #define IDE_COMMAND_READ_DMA_QUEUED_EXT 0x26
264 #define IDE_COMMAND_READ_MULTIPLE_EXT 0x29
265 #define IDE_COMMAND_WRITE 0x30
266 #define IDE_COMMAND_WRITE_EXT 0x34
267 #define IDE_COMMAND_WRITE_DMA_EXT 0x35
268 #define IDE_COMMAND_WRITE_DMA_QUEUED_EXT 0x36
269 #define IDE_COMMAND_WRITE_MULTIPLE_EXT 0x39
270 #define IDE_COMMAND_WRITE_DMA_FUA_EXT 0x3D
271 #define IDE_COMMAND_WRITE_DMA_QUEUED_FUA_EXT 0x3E
272 #define IDE_COMMAND_VERIFY 0x40
273 #define IDE_COMMAND_VERIFY_EXT 0x42
274 #define IDE_COMMAND_EXECUTE_DEVICE_DIAGNOSTIC 0x90
275 #define IDE_COMMAND_SET_DRIVE_PARAMETERS 0x91
276 #define IDE_COMMAND_ATAPI_PACKET 0xA0
277 #define IDE_COMMAND_ATAPI_IDENTIFY 0xA1
278 #define IDE_COMMAND_SMART 0xB0
279 #define IDE_COMMAND_READ_MULTIPLE 0xC4
280 #define IDE_COMMAND_WRITE_MULTIPLE 0xC5
281 #define IDE_COMMAND_SET_MULTIPLE 0xC6
282 #define IDE_COMMAND_READ_DMA 0xC8
283 #define IDE_COMMAND_WRITE_DMA 0xCA
284 #define IDE_COMMAND_WRITE_DMA_QUEUED 0xCC
285 #define IDE_COMMAND_WRITE_MULTIPLE_FUA_EXT 0xCE
286 #define IDE_COMMAND_GET_MEDIA_STATUS 0xDA
287 #define IDE_COMMAND_DOOR_LOCK 0xDE
288 #define IDE_COMMAND_DOOR_UNLOCK 0xDF
289 #define IDE_COMMAND_STANDBY_IMMEDIATE 0xE0
290 #define IDE_COMMAND_IDLE_IMMEDIATE 0xE1
291 #define IDE_COMMAND_CHECK_POWER 0xE5
292 #define IDE_COMMAND_SLEEP 0xE6
293 #define IDE_COMMAND_FLUSH_CACHE 0xE7
294 #define IDE_COMMAND_FLUSH_CACHE_EXT 0xEA
295 #define IDE_COMMAND_IDENTIFY 0xEC
296 #define IDE_COMMAND_MEDIA_EJECT 0xED
297 #define IDE_COMMAND_SET_FEATURE 0xEF
298 #define IDE_COMMAND_SECURITY_FREEZE_LOCK 0xF5
299 #define IDE_COMMAND_NOT_VALID 0xFF
300 
301 #endif
USHORT SecurityLevel
Definition: ata.h:206
USHORT ReservedWord218
Definition: ata.h:244
USHORT WorldWideName[4]
Definition: ata.h:179
USHORT AdvancedPIOModes
Definition: ata.h:55
USHORT SecurityLocked
Definition: ata.h:201
USHORT UltraDMAActive
Definition: ata.h:162
USHORT WriteBuffer
Definition: ata.h:80
USHORT WriteCache
Definition: ata.h:73
USHORT DeviceConfigOverlay
Definition: ata.h:95
USHORT SecurityCountExpired
Definition: ata.h:203
USHORT ObsoleteWord62
Definition: ata.h:52
struct _IDENTIFY_DEVICE_DATA::@1837 CommandSetSupport
USHORT NumberOfCurrentCylinders
Definition: ata.h:44
USHORT Resrved3
Definition: ata.h:98
USHORT DmaQueued
Definition: ata.h:85
USHORT DeviceType
Definition: ata.h:14
USHORT Reserved4
Definition: ata.h:112
USHORT ObsoleteWords51[2]
Definition: ata.h:41
USHORT ReadBuffer
Definition: ata.h:81
UCHAR Reserved2
Definition: ata.h:38
USHORT AlignmentOfLogicalWithinPhysical
Definition: ata.h:227
USHORT SmartErrorLog
Definition: ata.h:99
struct _IDENTIFY_DEVICE_DATA::@1841 CommandSetActiveExt
USHORT NumberOfCurrentHeads
Definition: ata.h:45
USHORT LogicalSectorsPerPhysicalSector
Definition: ata.h:172
USHORT Reserved3
Definition: ata.h:43
USHORT SecurityFrozen
Definition: ata.h:202
USHORT ReservedForCfaWord161[8]
Definition: ata.h:217
USHORT VendorUnique1[3]
Definition: ata.h:21
ULONG Max48BitLBA[2]
Definition: ata.h:168
USHORT ReservedWords69[6]
Definition: ata.h:61
USHORT PowerManagement
Definition: ata.h:71
USHORT SupportsTrim
Definition: ata.h:219
USHORT MinimumMWXferCycleTime
Definition: ata.h:57
USHORT NVCacheSizeMSW
Definition: ata.h:242
USHORT BigLba
Definition: ata.h:94
UCHAR FirmwareRevision[8]
Definition: ata.h:25
USHORT NumCylinders
Definition: ata.h:16
USHORT StreamingFeature
Definition: ata.h:103
USHORT Retired2
Definition: ata.h:10
USHORT ReservedForExpandedSupportandActive[6]
Definition: ata.h:195
UCHAR ReservedByte59
Definition: ata.h:50
struct _IDENTIFY_DEVICE_DATA * PIDENTIFY_DEVICE_DATA
USHORT MediaCardPassThrough
Definition: ata.h:102
USHORT CurrentMediaSerialNumber[30]
Definition: ata.h:223
USHORT MsnSupport
Definition: ata.h:196
USHORT WriteFua
Definition: ata.h:105
USHORT SmartSelfTest
Definition: ata.h:100
UCHAR MaximumBlockTransfer
Definition: ata.h:27
UCHAR NVCacheEstimatedTimeToSpinUpInSeconds
Definition: ata.h:246
UCHAR ReservedByte49
Definition: ata.h:31
UCHAR IordyDisable
Definition: ata.h:34
USHORT MinimumPIOCycleTimeIORDY
Definition: ata.h:60
USHORT WriteReadVerifySectorCountMode2Only[2]
Definition: ata.h:232
USHORT ReservedWord95[5]
Definition: ata.h:167
USHORT WriteReadVerifySectorCountMode3Only[2]
Definition: ata.h:231
USHORT RemovableMediaFeature
Definition: ata.h:70
USHORT MinimumPIOCycleTime
Definition: ata.h:59
UCHAR DmaSupported
Definition: ata.h:32
USHORT ReservedWord89[4]
Definition: ata.h:163
USHORT WWN64Bit
Definition: ata.h:107
USHORT StreamingTransferTime
Definition: ata.h:169
USHORT FlushCacheExt
Definition: ata.h:97
USHORT Retired1
Definition: ata.h:13
USHORT ResponseIncomplete
Definition: ata.h:9
USHORT MultipleLogicalSectorsPerPhysicalSector
Definition: ata.h:175
USHORT ReservedForTlcTechnicalReport
Definition: ata.h:181
UCHAR MultiSectorSettingValid
Definition: ata.h:49
USHORT ReservedForDrqTechnicalReport
Definition: ata.h:184
USHORT CurrentSectorsPerTrack
Definition: ata.h:46
USHORT NominalMediaRotationRate
Definition: ata.h:243
USHORT ReservedWord75
Definition: ata.h:63
USHORT Obsolete2
Definition: ata.h:83
USHORT Signature
Definition: ata.h:250
USHORT ReservedForCfaWord170[6]
Definition: ata.h:222
USHORT URGWriteStream
Definition: ata.h:109
struct _IDENTIFY_DEVICE_DATA::@1845 BlockAlignment
USHORT ReleaseInterrupt
Definition: ata.h:75
USHORT GpLogging
Definition: ata.h:104
USHORT RemovableMedia
Definition: ata.h:12
USHORT MultiWordDMASupport
Definition: ata.h:53
USHORT SetMax
Definition: ata.h:92
UCHAR IordySupported
Definition: ata.h:35
struct _IDENTIFY_DEVICE_DATA::@1843 CfaPowerModel
USHORT NumSectorsPerTrack
Definition: ata.h:20
UCHAR ModelNumber[40]
Definition: ata.h:26
USHORT MultiWordDMAActive
Definition: ata.h:54
USHORT UltraDMASupport
Definition: ata.h:161
USHORT NVCachePowerModeEnabled
Definition: ata.h:234
UCHAR StandybyTimerSupport
Definition: ata.h:37
USHORT Reserved2
Definition: ata.h:91
UCHAR LbaSupported
Definition: ata.h:33
USHORT CfaPowerMode1Disabled
Definition: ata.h:212
struct _IDENTIFY_DEVICE_DATA::@1844 DataSetManagementFeature
struct _IDENTIFY_DEVICE_DATA IDENTIFY_DEVICE_DATA
USHORT MaximumCurrentInMA2
Definition: ata.h:211
USHORT CheckSum
Definition: ata.h:251
USHORT WriteQueuedFua
Definition: ata.h:106
USHORT ReservedForTechReport
Definition: ata.h:110
USHORT ManualPowerUp
Definition: ata.h:90
USHORT ReservedWord207[2]
Definition: ata.h:225
USHORT TranslationFieldsValid
Definition: ata.h:42
USHORT LookAhead
Definition: ata.h:74
UCHAR CurrentMultiSectorSetting
Definition: ata.h:48
USHORT WordsPerLogicalSector[2]
Definition: ata.h:182
USHORT ReservedByte64
Definition: ata.h:56
USHORT Word209Supported
Definition: ata.h:228
USHORT NVCacheFeatureSetEnabled
Definition: ata.h:236
struct _IDENTIFY_DEVICE_DATA::@1842 SecurityStatus
USHORT DownloadMicrocode
Definition: ata.h:84
USHORT ReservedWord50
Definition: ata.h:39
USHORT RecommendedAcousticValue
Definition: ata.h:166
ULONG CurrentSectorCapacity
Definition: ata.h:47
unsigned char UCHAR
Definition: xmlstorage.h:181
USHORT ReservedWord2
Definition: ata.h:17
USHORT InterSeekDelay
Definition: ata.h:178
struct _IDENTIFY_DEVICE_DATA::@1839 PhysicalLogicalSectorSize
struct _IDENTIFY_DEVICE_DATA::@1838 CommandSetActive
USHORT SecurityEnabled
Definition: ata.h:200
USHORT FlushCache
Definition: ata.h:96
struct _IDENTIFY_DEVICE_DATA::@1835 GeneralConfiguration
USHORT ReservedWords76[4]
Definition: ata.h:64
struct _IDENTIFY_DEVICE_DATA::@1836 Capabilities
USHORT LogicalSectorLongerThan256Words
Definition: ata.h:174
USHORT Retired3
Definition: ata.h:8
USHORT DeviceReset
Definition: ata.h:77
USHORT NVCachePowerModeVersion
Definition: ata.h:238
USHORT Word160Supported
Definition: ata.h:215
USHORT PowerUpInStandby
Definition: ata.h:89
UCHAR VendorUnique2
Definition: ata.h:28
USHORT SecurityMode
Definition: ata.h:69
USHORT CfaPowerMode1Required
Definition: ata.h:213
USHORT CurrentAcousticValue
Definition: ata.h:165
USHORT Acoustics
Definition: ata.h:93
unsigned short USHORT
Definition: pedump.c:61
USHORT FixedDevice
Definition: ata.h:11
USHORT HostProtectedArea
Definition: ata.h:78
USHORT ReservedWord48
Definition: ata.h:29
USHORT MajorRevision
Definition: ata.h:65
USHORT SmartCommands
Definition: ata.h:68
struct _IDENTIFY_DEVICE_DATA::@1840 CommandSetSupportExt
USHORT ReservedWord1274
Definition: ata.h:197
USHORT Reserved0
Definition: ata.h:173
USHORT NVCacheSizeLSW
Definition: ata.h:241
USHORT WriteReadVerifySupported
Definition: ata.h:185
USHORT Obsolete1
Definition: ata.h:24
USHORT URGReadStream
Definition: ata.h:108
USHORT ReservedForWorldWideName128[4]
Definition: ata.h:180
USHORT ServiceInterrupt
Definition: ata.h:76
USHORT HardwareResetResult
Definition: ata.h:164
ULONG UserAddressableSectors
Definition: ata.h:51
USHORT ReservedWord220[35]
Definition: ata.h:249
unsigned int ULONG
Definition: retypes.h:1
USHORT Reserved1
Definition: ata.h:7
USHORT ReservedWord129[31]
Definition: ata.h:209
struct _IDENTIFY_DEVICE_DATA::@1846 NVCacheCapabilities
USHORT QueueDepth
Definition: ata.h:62
USHORT MediaSerialNumber
Definition: ata.h:101
UCHAR Reserved1
Definition: ata.h:36
USHORT MinorRevision
Definition: ata.h:66
USHORT NumHeads
Definition: ata.h:18
USHORT NVCacheFeatureSetVersion
Definition: ata.h:239
USHORT EnhancedSecurityEraseSupported
Definition: ata.h:204
UCHAR SerialNumber[20]
Definition: ata.h:22
USHORT AdvancedPm
Definition: ata.h:87
USHORT ReservedWord206
Definition: ata.h:224
USHORT IdleWithUnloadFeature
Definition: ata.h:111
USHORT Reserved01
Definition: ata.h:186
USHORT ReservedWord105
Definition: ata.h:170
USHORT WriteReadVerifyEnabled
Definition: ata.h:191
struct _IDENTIFY_DEVICE_DATA::@1847 NVCacheOptions
USHORT RecommendedMWXferCycleTime
Definition: ata.h:58
USHORT SecuritySupported
Definition: ata.h:199