Home | History | Annotate | Download | only in linux
      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