The sSMART_DATA
structure contains information about the S.M.A.R.T.
typedef struct sSMART_DATA { BYTE
smIndex; BYTE
smStatus; BYTE
smThreshold; } sSMART_DATA, *pSMART_DATA; |
smIndex
Reserved
smStatus
S.M.A.R.T
attributes value
smThreshold
S.M.A.R.T attributes threshold value
The sGUI_PHY_DRV
structure contains information about the physical drive
typedef struct sGUI_PHY_DRV { BYTE
gpdModelName[40]; BYTE
gpdSerialNumber[20]; BYTE
gpdFirmRev[8]; DWORD
gpdCapacity; DWORD
gpdCapacityX; BYTE
gpdDeviceState; BYTE
gpdPioMode; BYTE
gpdCurrentUdmaMode; BYTE
gpdUdmaMode; BYTE
gpdDriveSelect; BYTE
gpdRaidNumber; sSCSI_ATTR
gpdScsi; LONG gpdMediaErrorCount; LONG
gpdTimeOutCount; u_int64_t gpdSasAddress; union { struct { sSMART_DATA
gpdSmart[TOTAL_SMART_ITEMS]; }
sata; struct { WORD
gpdRotationRPM; WORD
gpdTemperature; WORD
gpdSmartSenseCode; WORD
gpdReserved; u_int64_t
gpdAttribute[TOTAL_SAS_ATTR_ITEMS]; }
sas; }
u; } sGUI_PHY_DRV, *pGUI_PHY_DRV; |
gpdModelName
Drive model name, this does not end with a null character ‘\
gpdSerialNumber
Drive
serial number, this
does not end with a null character ‘\
gpdFirmRev
Drive
firmware version, this does not end with a null character ‘\
gpdCapacity
Drive
capacity in blocks.
A
block = 512 bytes
gpdCapacityX
Reserved
for expansion
gpdDeviceState
The value below can Bitwise OR together
Value |
Meaning |
0x02 |
Pass-through drive |
0x08 |
Drive attached |
0x10 |
Drive already failed |
0x20 |
This drive is reserved for Hot-Spare |
0x40 |
Available for use |
0x80 |
If this device initialized |
gpdPioMode
Value |
Meaning |
0 |
PIO MODE 0 |
1 |
PIO MODE 1 |
2 |
PIO MODE 2 |
3 |
PIO MODE 3 |
4 |
PIO MODE 4 |
Note: This field is used as the high-byte
to combine gpdDeviceState as a WORD when the
sSYSTEM_INFO.gsiTargetType
== TARGET_SAS (SAS Controller)
The value below can Bitwise OR together.
Value |
Meaning |
0x1 |
SATA Device |
0x2 |
Device Power-Down |
WORD DeviceState = gpdDeviceState + ( gpdPioMode << 8 );
gpdCurrentUdmaMode
Value |
Meaning |
0 |
UDMA MODE 0 |
1 |
UDMA MODE 1 |
2 |
UDMA MODE 2 |
3 |
UDMA MODE 3 |
4 |
UDMA MODE 4 |
5 |
UDMA MODE 5 |
gpdUdmaMode
Value |
Meaning |
0 |
UDMA MODE 0 |
1 |
UDMA MODE 1 |
2 |
UDMA MODE 2 |
3 |
UDMA MODE 3 |
4 |
UDMA MODE 4 |
5 |
UDMA MODE 5 |
gpdDriveSelect
The
drive select, always 0 ( master )
gpdRaidNumber
The
raidset number this drive belongs to, value 0xff means free
gpdScsi
Pointer
to sSCSI_ATTR structure that
describes the SCSI attributes
gpdMediaErrorCount
Media
error count
gpdTimeOutCount
Timeout
error count
gpdSmart
S.M.A.R.T attributes array(For SATA Device
Only)
Index of array |
Meaning |
0 |
SMART_READ_ERROR_RATE |
1 |
SMART_SPINUP_TIME |
2 |
SMART_REALLOCATION |
3 |
SMART_SEEK_ERROR_RATE |
4 |
SMART_SPINUP_RETRY |
5 |
SMART_CALIBRATION_RETRY |
6 |
SMART_TEMPERATURE |
gpdRotationRPM;
Drive’s
rotation in RPM
gpdTemperature
Drive’s
temperature (centigrade)
gpdSmartSenseCode
Reserved
gpdAttribute
SAS attributes array(For
SAS Device Only)
Index
of array |
Meaning |
0 |
SAS_READ_RECOVERED_WO_DELAY |
1 |
SAS_READ_RECOVERED_W_DELAY |
2 |
SAS_READ_RECOVERED_W_RETRY |
3 |
SAS_READ_RECOVERED |
4 |
SAS_READ_TOTAL_BYTES |
5 |
SAS_READ_UNRECOVERED |
6 |
SAS_WRITE_RECOVERED_WO_DELAY |
7 |
SAS_WRITE_RECOVERED_W_DELAY |
8 |
SAS_WRITE_RECOVERED_W_RETRY |
9 |
SAS_WRITE_RECOVERED |
10 |
SAS_WRITE_TOTAL_BYTES |
11 |
SAS_WRITE_UNRECOVERED |
12 |
SAS_VERIFY_RECOVERED_WO_DELAY |
13 |
SAS_VERIFY_RECOVERED_W_DELAY |
14 |
SAS_VERIFY_RECOVERED_W_RETRY |
15 |
SAS_VERIFY_RECOVERED |
16 |
SAS_VERIFY_UNRECOVERED |
17 |
SAS_NON_MEDIUM_ERRORS |
Requirements
Header |
arclib.h |
Include |
arclib.h |
See Also
ArcGetPhysicalDriveInfo, ArcHelpBuildDeviceMap