From 60c555bb050ba862f27f8ec36b6ee07c8053ee88 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 29 Jun 2008 21:14:39 +0200 Subject: implement attribute parsing properly --- smart.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'smart.h') diff --git a/smart.h b/smart.h index bca06e3..f1150bf 100644 --- a/smart.h +++ b/smart.h @@ -41,7 +41,9 @@ typedef struct SkSmartParsedData { } SkSmartParsedData; typedef enum SkSmartAttributeUnit { - SK_SMART_ATTRIBUTE_UNIT_SECONDS, + SK_SMART_ATTRIBUTE_UNIT_UNKNOWN, + SK_SMART_ATTRIBUTE_UNIT_NONE, + SK_SMART_ATTRIBUTE_UNIT_MSECONDS, SK_SMART_ATTRIBUTE_UNIT_SECTORS, SK_SMART_ATTRIBUTE_UNIT_KELVIN, _SK_SMART_ATTRIBUTE_UNIT_MAX @@ -51,15 +53,21 @@ typedef struct SkSmartAttribute { /* Static data */ guint8 id; const char *name; + SkSmartAttributeUnit pretty_unit; /* for pretty value */ + guint8 threshold; - SkSmartAttributeUnit unit; /* for pretty_value */ + gboolean threshold_valid:1; + gboolean online:1; gboolean prefailure:1; + guint8 flag; + /* Volatile data */ - gboolean over_threshold:1; - guint8 value; - unsigned pretty_value; + gboolean bad:1; + guint8 current_value, worst_value; + guint64 pretty_value; + guint8 raw[6]; /* This structure may be extended at any time without being * considered an ABI change. So take care when you copy it. */ @@ -86,5 +94,6 @@ int sk_disk_dump(SkDevice *d); void sk_disk_free(SkDevice *d); const char* sk_offline_data_collection_status_to_string(SkOfflineDataCollectionStatus status); +const char* sk_smart_attribute_unit_to_string(SkSmartAttributeUnit unit); #endif -- cgit