11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _LINUX_HDSMART_H
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_HDSMART_H
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define OFFLINE_FULL_SCAN 0
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SHORT_SELF_TEST 1
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXTEND_SELF_TEST 2
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SHORT_CAPTIVE_SELF_TEST 129
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXTEND_CAPTIVE_SELF_TEST 130
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_attribute_s {
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char id;
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short status_flag;
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char normalized;
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char worse_normal;
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char raw[6];
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char reserv;
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_attribute_t;
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_values_s {
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short revnumber;
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_attribute_t vendor_attributes [30];
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char offline_data_collection_status;
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char self_test_exec_status;
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short total_time_to_complete_off_line;
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char vendor_specific_366;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char offline_data_collection_capability;
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short smart_capability;
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char errorlog_capability;
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char vendor_specific_371;
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char short_test_completion_time;
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char extend_test_completion_time;
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char reserved_374_385 [12];
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char vendor_specific_386_509 [125];
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char chksum;
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_values_t;
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_threshold_entry_s {
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char id;
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char normalized_threshold;
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char reserved[10];
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_threshold_entry_t;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_thresholds_s {
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short revnumber;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_threshold_entry_t thres_entries[30];
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char reserved[149];
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char chksum;
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_thresholds_t;
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_errorlog_command_struct_s {
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char devicecontrolreg;
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char featuresreg;
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char sector_count;
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char sector_number;
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char cylinder_low;
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char cylinder_high;
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char drive_head;
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char commandreg;
83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int timestamp;
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_errorlog_command_struct_t;
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_errorlog_error_struct_s {
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char error_condition;
88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char extended_error[14];
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char state;
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short timestamp;
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_errorlog_error_struct_t;
93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_errorlog_struct_s {
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_errorlog_command_struct_t commands[6];
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_errorlog_error_struct_t error_struct;
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_errorlog_struct_t;
98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_errorlog_s {
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char revnumber;
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char error_log_pointer;
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_errorlog_struct_t errorlog_struct[5];
103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short ata_error_count;
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short non_fatal_count;
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short drive_timeout_count;
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char reserved[53];
108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char chksum;
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_errorlog_t;
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_selftestlog_struct_s {
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char selftestnumber;
113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char selfteststatus;
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short timestamp;
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char selftestfailurecheckpoint;
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int lbafirstfailure;
118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char vendorspecific[15];
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_selftestlog_struct_t;
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct ata_smart_selftestlog_s {
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short revnumber;
123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ata_smart_selftestlog_struct_t selftest_struct[21];
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char vendorspecific[2];
1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char mostrecenttest;
1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char resevered[2];
128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char chksum;
1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __attribute__ ((packed)) ata_smart_selftestlog_t;
1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
132