diff options
author | Wojciech Piekutowski <wojciech@piekutowski.net> | 2011-04-11 23:16:56 +0200 |
---|---|---|
committer | Wojciech Piekutowski <wojciech@piekutowski.net> | 2011-04-11 23:49:58 +0200 |
commit | f75c8e5e4c53c15b9c5a4668334ec7fbc811867b (patch) | |
tree | 6c88cec1d076745a4107e631877a64a82cdcce53 /atasmart.c | |
parent | cc6020505701c97c7feeedf9bd41abf1bddb54a2 (diff) |
Display endurance-remaining as percentage decreasing from 100 to 0
Diffstat (limited to 'atasmart.c')
-rw-r--r-- | atasmart.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -1208,6 +1208,8 @@ static void make_pretty(SkSmartAttributeParsedData *a) { else if (!strcmp(a->name, "reallocated-sector-count") || !strcmp(a->name, "current-pending-sector")) a->pretty_value = fourtyeight & 0xFFFFFFFFU; + else if (!strcmp(a->name, "endurance-remaining")) + a->pretty_value = a->current_value; else a->pretty_value = fourtyeight; } @@ -1327,7 +1329,7 @@ static const SkSmartAttributeInfo const attribute_info[256] = { [231] = { "temperature-celsius", SK_SMART_ATTRIBUTE_UNIT_MKELVIN, verify_temperature }, /* http://www.adtron.com/pdf/SMART_for_XceedLite_SATA_RevA.pdf */ - [232] = { "endurance-remaining", SK_SMART_ATTRIBUTE_UNIT_UNKNOWN, NULL }, + [232] = { "endurance-remaining", SK_SMART_ATTRIBUTE_UNIT_PERCENT, NULL }, [233] = { "power-on-seconds-2", SK_SMART_ATTRIBUTE_UNIT_UNKNOWN, NULL }, [234] = { "uncorrectable-ecc-count", SK_SMART_ATTRIBUTE_UNIT_SECTORS, NULL }, [235] = { "good-block-rate", SK_SMART_ATTRIBUTE_UNIT_UNKNOWN, NULL }, @@ -1891,7 +1893,8 @@ const char* sk_smart_attribute_unit_to_string(SkSmartAttributeUnit unit) { [SK_SMART_ATTRIBUTE_UNIT_NONE] = "", [SK_SMART_ATTRIBUTE_UNIT_MSECONDS] = "ms", [SK_SMART_ATTRIBUTE_UNIT_SECTORS] = "sectors", - [SK_SMART_ATTRIBUTE_UNIT_MKELVIN] = "mK" + [SK_SMART_ATTRIBUTE_UNIT_MKELVIN] = "mK", + [SK_SMART_ATTRIBUTE_UNIT_PERCENT] = "%" }; /* %STRINGPOOLSTOP% */ @@ -2228,6 +2231,10 @@ static char *print_value(char *s, size_t len, uint64_t pretty_value, SkSmartAttr snprintf(s, len, "%llu sectors", (unsigned long long) pretty_value); break; + case SK_SMART_ATTRIBUTE_UNIT_PERCENT: + snprintf(s, len, "%llu%%", (unsigned long long) pretty_value); + break; + case SK_SMART_ATTRIBUTE_UNIT_NONE: snprintf(s, len, "%llu", (unsigned long long) pretty_value); break; |