Author: pschweitzer
Date: Sat Oct 29 16:53:45 2016
New Revision: 73061
URL:
http://svn.reactos.org/svn/reactos?rev=73061&view=rev
Log:
[DDK]
Define IDENTIFY_DEVICE_DATA (from MSDN).
CORE-12223
Added:
trunk/reactos/sdk/include/ddk/ata.h (with props)
Added: trunk/reactos/sdk/include/ddk/ata.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/ddk/ata.h?rev=…
==============================================================================
--- trunk/reactos/sdk/include/ddk/ata.h (added)
+++ trunk/reactos/sdk/include/ddk/ata.h [iso-8859-1] Sat Oct 29 16:53:45 2016
@@ -0,0 +1,255 @@
+#ifndef _NTATA_
+#define _NTATA_
+
+#include <pshpack1.h>
+typedef struct _IDENTIFY_DEVICE_DATA {
+ struct {
+ USHORT Reserved1 :1;
+ USHORT Retired3 :1;
+ USHORT ResponseIncomplete :1;
+ USHORT Retired2 :3;
+ USHORT FixedDevice :1;
+ USHORT RemovableMedia :1;
+ USHORT Retired1 :7;
+ USHORT DeviceType :1;
+ } GeneralConfiguration;
+ USHORT NumCylinders;
+ USHORT ReservedWord2;
+ USHORT NumHeads;
+ USHORT Retired1[2];
+ USHORT NumSectorsPerTrack;
+ USHORT VendorUnique1[3];
+ UCHAR SerialNumber[20];
+ USHORT Retired2[2];
+ USHORT Obsolete1;
+ UCHAR FirmwareRevision[8];
+ UCHAR ModelNumber[40];
+ UCHAR MaximumBlockTransfer;
+ UCHAR VendorUnique2;
+ USHORT ReservedWord48;
+ struct {
+ UCHAR ReservedByte49;
+ UCHAR DmaSupported :1;
+ UCHAR LbaSupported :1;
+ UCHAR IordyDisable :1;
+ UCHAR IordySupported :1;
+ UCHAR Reserved1 :1;
+ UCHAR StandybyTimerSupport :1;
+ UCHAR Reserved2 :2;
+ USHORT ReservedWord50;
+ } Capabilities;
+ USHORT ObsoleteWords51[2];
+ USHORT TranslationFieldsValid :3;
+ USHORT Reserved3 :13;
+ USHORT NumberOfCurrentCylinders;
+ USHORT NumberOfCurrentHeads;
+ USHORT CurrentSectorsPerTrack;
+ ULONG CurrentSectorCapacity;
+ UCHAR CurrentMultiSectorSetting;
+ UCHAR MultiSectorSettingValid :1;
+ UCHAR ReservedByte59 :7;
+ ULONG UserAddressableSectors;
+ USHORT ObsoleteWord62;
+ USHORT MultiWordDMASupport :8;
+ USHORT MultiWordDMAActive :8;
+ USHORT AdvancedPIOModes :8;
+ USHORT ReservedByte64 :8;
+ USHORT MinimumMWXferCycleTime;
+ USHORT RecommendedMWXferCycleTime;
+ USHORT MinimumPIOCycleTime;
+ USHORT MinimumPIOCycleTimeIORDY;
+ USHORT ReservedWords69[6];
+ USHORT QueueDepth :5;
+ USHORT ReservedWord75 :11;
+ USHORT ReservedWords76[4];
+ USHORT MajorRevision;
+ USHORT MinorRevision;
+ struct {
+ USHORT SmartCommands :1;
+ USHORT SecurityMode :1;
+ USHORT RemovableMediaFeature :1;
+ USHORT PowerManagement :1;
+ USHORT Reserved1 :1;
+ USHORT WriteCache :1;
+ USHORT LookAhead :1;
+ USHORT ReleaseInterrupt :1;
+ USHORT ServiceInterrupt :1;
+ USHORT DeviceReset :1;
+ USHORT HostProtectedArea :1;
+ USHORT Obsolete1 :1;
+ USHORT WriteBuffer :1;
+ USHORT ReadBuffer :1;
+ USHORT Nop :1;
+ USHORT Obsolete2 :1;
+ USHORT DownloadMicrocode :1;
+ USHORT DmaQueued :1;
+ USHORT Cfa :1;
+ USHORT AdvancedPm :1;
+ USHORT Msn :1;
+ USHORT PowerUpInStandby :1;
+ USHORT ManualPowerUp :1;
+ USHORT Reserved2 :1;
+ USHORT SetMax :1;
+ USHORT Acoustics :1;
+ USHORT BigLba :1;
+ USHORT DeviceConfigOverlay :1;
+ USHORT FlushCache :1;
+ USHORT FlushCacheExt :1;
+ USHORT Resrved3 :2;
+ USHORT SmartErrorLog :1;
+ USHORT SmartSelfTest :1;
+ USHORT MediaSerialNumber :1;
+ USHORT MediaCardPassThrough :1;
+ USHORT StreamingFeature :1;
+ USHORT GpLogging :1;
+ USHORT WriteFua :1;
+ USHORT WriteQueuedFua :1;
+ USHORT WWN64Bit :1;
+ USHORT URGReadStream :1;
+ USHORT URGWriteStream :1;
+ USHORT ReservedForTechReport :2;
+ USHORT IdleWithUnloadFeature :1;
+ USHORT Reserved4 :2;
+ } CommandSetSupport;
+ struct {
+ USHORT SmartCommands :1;
+ USHORT SecurityMode :1;
+ USHORT RemovableMediaFeature :1;
+ USHORT PowerManagement :1;
+ USHORT Reserved1 :1;
+ USHORT WriteCache :1;
+ USHORT LookAhead :1;
+ USHORT ReleaseInterrupt :1;
+ USHORT ServiceInterrupt :1;
+ USHORT DeviceReset :1;
+ USHORT HostProtectedArea :1;
+ USHORT Obsolete1 :1;
+ USHORT WriteBuffer :1;
+ USHORT ReadBuffer :1;
+ USHORT Nop :1;
+ USHORT Obsolete2 :1;
+ USHORT DownloadMicrocode :1;
+ USHORT DmaQueued :1;
+ USHORT Cfa :1;
+ USHORT AdvancedPm :1;
+ USHORT Msn :1;
+ USHORT PowerUpInStandby :1;
+ USHORT ManualPowerUp :1;
+ USHORT Reserved2 :1;
+ USHORT SetMax :1;
+ USHORT Acoustics :1;
+ USHORT BigLba :1;
+ USHORT DeviceConfigOverlay :1;
+ USHORT FlushCache :1;
+ USHORT FlushCacheExt :1;
+ USHORT Resrved3 :2;
+ USHORT SmartErrorLog :1;
+ USHORT SmartSelfTest :1;
+ USHORT MediaSerialNumber :1;
+ USHORT MediaCardPassThrough :1;
+ USHORT StreamingFeature :1;
+ USHORT GpLogging :1;
+ USHORT WriteFua :1;
+ USHORT WriteQueuedFua :1;
+ USHORT WWN64Bit :1;
+ USHORT URGReadStream :1;
+ USHORT URGWriteStream :1;
+ USHORT ReservedForTechReport :2;
+ USHORT IdleWithUnloadFeature :1;
+ USHORT Reserved4 :2;
+ } CommandSetActive;
+ USHORT UltraDMASupport :8;
+ USHORT UltraDMAActive :8;
+ USHORT ReservedWord89[4];
+ USHORT HardwareResetResult;
+ USHORT CurrentAcousticValue :8;
+ USHORT RecommendedAcousticValue :8;
+ USHORT ReservedWord95[5];
+ ULONG Max48BitLBA[2];
+ USHORT StreamingTransferTime;
+ USHORT ReservedWord105;
+ struct {
+ USHORT LogicalSectorsPerPhysicalSector :4;
+ USHORT Reserved0 :8;
+ USHORT LogicalSectorLongerThan256Words :1;
+ USHORT MultipleLogicalSectorsPerPhysicalSector :1;
+ USHORT Reserved1 :2;
+ } PhysicalLogicalSectorSize;
+ USHORT InterSeekDelay;
+ USHORT WorldWideName[4];
+ USHORT ReservedForWorldWideName128[4];
+ USHORT ReservedForTlcTechnicalReport;
+ USHORT WordsPerLogicalSector[2];
+ struct {
+ USHORT ReservedForDrqTechnicalReport :1;
+ USHORT WriteReadVerifySupported :1;
+ USHORT Reserved01 :11;
+ USHORT Reserved1 :2;
+ } CommandSetSupportExt;
+ struct {
+ USHORT ReservedForDrqTechnicalReport :1;
+ USHORT WriteReadVerifyEnabled :1;
+ USHORT Reserved01 :11;
+ USHORT Reserved1 :2;
+ } CommandSetActiveExt;
+ USHORT ReservedForExpandedSupportandActive[6];
+ USHORT MsnSupport :2;
+ USHORT ReservedWord1274 :14;
+ struct {
+ USHORT SecuritySupported :1;
+ USHORT SecurityEnabled :1;
+ USHORT SecurityLocked :1;
+ USHORT SecurityFrozen :1;
+ USHORT SecurityCountExpired :1;
+ USHORT EnhancedSecurityEraseSupported :1;
+ USHORT Reserved0 :2;
+ USHORT SecurityLevel :1;
+ USHORT Reserved1 :7;
+ } SecurityStatus;
+ USHORT ReservedWord129[31];
+ struct {
+ USHORT MaximumCurrentInMA2 :12;
+ USHORT CfaPowerMode1Disabled :1;
+ USHORT CfaPowerMode1Required :1;
+ USHORT Reserved0 :1;
+ USHORT Word160Supported :1;
+ } CfaPowerModel;
+ USHORT ReservedForCfaWord161[8];
+ struct {
+ USHORT SupportsTrim :1;
+ USHORT Reserved0 :15;
+ } DataSetManagementFeature;
+ USHORT ReservedForCfaWord170[6];
+ USHORT CurrentMediaSerialNumber[30];
+ USHORT ReservedWord206;
+ USHORT ReservedWord207[2];
+ struct {
+ USHORT AlignmentOfLogicalWithinPhysical :14;
+ USHORT Word209Supported :1;
+ USHORT Reserved0 :1;
+ } BlockAlignment;
+ USHORT WriteReadVerifySectorCountMode3Only[2];
+ USHORT WriteReadVerifySectorCountMode2Only[2];
+ struct {
+ USHORT NVCachePowerModeEnabled :1;
+ USHORT Reserved0 :3;
+ USHORT NVCacheFeatureSetEnabled :1;
+ USHORT Reserved1 :3;
+ USHORT NVCachePowerModeVersion :4;
+ USHORT NVCacheFeatureSetVersion :4;
+ } NVCacheCapabilities;
+ USHORT NVCacheSizeLSW;
+ USHORT NVCacheSizeMSW;
+ USHORT NominalMediaRotationRate;
+ USHORT ReservedWord218;
+ struct {
+ UCHAR NVCacheEstimatedTimeToSpinUpInSeconds;
+ UCHAR Reserved;
+ } NVCacheOptions;
+ USHORT ReservedWord220[35];
+ USHORT Signature :8;
+ USHORT CheckSum :8;
+} IDENTIFY_DEVICE_DATA, *PIDENTIFY_DEVICE_DATA;
+#include <poppack.h>
+
+#endif
Propchange: trunk/reactos/sdk/include/ddk/ata.h
------------------------------------------------------------------------------
svn:eol-style = native