• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _LINUX_HDSMART_H
20 #define _LINUX_HDSMART_H
21 #define OFFLINE_FULL_SCAN 0
22 #define SHORT_SELF_TEST 1
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define EXTEND_SELF_TEST 2
25 #define SHORT_CAPTIVE_SELF_TEST 129
26 #define EXTEND_CAPTIVE_SELF_TEST 130
27 typedef struct ata_smart_attribute_s {
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  unsigned char id;
30  unsigned short status_flag;
31  unsigned char normalized;
32  unsigned char worse_normal;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  unsigned char raw[6];
35  unsigned char reserv;
36 } __attribute__ ((packed)) ata_smart_attribute_t;
37 typedef struct ata_smart_values_s {
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  unsigned short revnumber;
40  ata_smart_attribute_t vendor_attributes [30];
41  unsigned char offline_data_collection_status;
42  unsigned char self_test_exec_status;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  unsigned short total_time_to_complete_off_line;
45  unsigned char vendor_specific_366;
46  unsigned char offline_data_collection_capability;
47  unsigned short smart_capability;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  unsigned char errorlog_capability;
50  unsigned char vendor_specific_371;
51  unsigned char short_test_completion_time;
52  unsigned char extend_test_completion_time;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  unsigned char reserved_374_385 [12];
55  unsigned char vendor_specific_386_509 [125];
56  unsigned char chksum;
57 } __attribute__ ((packed)) ata_smart_values_t;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 typedef struct ata_smart_threshold_entry_s {
60  unsigned char id;
61  unsigned char normalized_threshold;
62  unsigned char reserved[10];
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 } __attribute__ ((packed)) ata_smart_threshold_entry_t;
65 typedef struct ata_smart_thresholds_s {
66  unsigned short revnumber;
67  ata_smart_threshold_entry_t thres_entries[30];
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  unsigned char reserved[149];
70  unsigned char chksum;
71 } __attribute__ ((packed)) ata_smart_thresholds_t;
72 typedef struct ata_smart_errorlog_command_struct_s {
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  unsigned char devicecontrolreg;
75  unsigned char featuresreg;
76  unsigned char sector_count;
77  unsigned char sector_number;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  unsigned char cylinder_low;
80  unsigned char cylinder_high;
81  unsigned char drive_head;
82  unsigned char commandreg;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  unsigned int timestamp;
85 } __attribute__ ((packed)) ata_smart_errorlog_command_struct_t;
86 typedef struct ata_smart_errorlog_error_struct_s {
87  unsigned char error_condition;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  unsigned char extended_error[14];
90  unsigned char state;
91  unsigned short timestamp;
92 } __attribute__ ((packed)) ata_smart_errorlog_error_struct_t;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 typedef struct ata_smart_errorlog_struct_s {
95  ata_smart_errorlog_command_struct_t commands[6];
96  ata_smart_errorlog_error_struct_t error_struct;
97 } __attribute__ ((packed)) ata_smart_errorlog_struct_t;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 typedef struct ata_smart_errorlog_s {
100  unsigned char revnumber;
101  unsigned char error_log_pointer;
102  ata_smart_errorlog_struct_t errorlog_struct[5];
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  unsigned short ata_error_count;
105  unsigned short non_fatal_count;
106  unsigned short drive_timeout_count;
107  unsigned char reserved[53];
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  unsigned char chksum;
110 } __attribute__ ((packed)) ata_smart_errorlog_t;
111 typedef struct ata_smart_selftestlog_struct_s {
112  unsigned char selftestnumber;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  unsigned char selfteststatus;
115  unsigned short timestamp;
116  unsigned char selftestfailurecheckpoint;
117  unsigned int lbafirstfailure;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  unsigned char vendorspecific[15];
120 } __attribute__ ((packed)) ata_smart_selftestlog_struct_t;
121 typedef struct ata_smart_selftestlog_s {
122  unsigned short revnumber;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  ata_smart_selftestlog_struct_t selftest_struct[21];
125  unsigned char vendorspecific[2];
126  unsigned char mostrecenttest;
127  unsigned char resevered[2];
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  unsigned char chksum;
130 } __attribute__ ((packed)) ata_smart_selftestlog_t;
131 #endif
132