]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - ataprint.h
Update to Standards-Version 3.9.5, no changes need
[mirror_smartmontools-debian.git] / ataprint.h
index 00e6a433bdd89cff916a5c771449ce0149d7fd0a..e83020fa4ea6398c803b745908bb4fbdae6b5992 100644 (file)
@@ -4,7 +4,7 @@
  * Home page of code is: http://smartmontools.sourceforge.net
  *
  * Copyright (C) 2002-9 Bruce Allen <smartmontools-support@lists.sourceforge.net>
- * Copyright (C) 2008-9 Christian Franke <smartmontools-support@lists.sourceforge.net>
+ * Copyright (C) 2008-12 Christian Franke <smartmontools-support@lists.sourceforge.net>
  * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -13,8 +13,7 @@
  * any later version.
  *
  * You should have received a copy of the GNU General Public License
- * (for example COPYING); if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
  *
  * This code was originally developed as a Senior Thesis by Michael Cornwell
  * at the Concurrent Systems Laboratory (now part of the Storage Systems
@@ -26,7 +25,7 @@
 #ifndef ATAPRINT_H_
 #define ATAPRINT_H_
 
-#define ATAPRINT_H_CVSID "$Id: ataprint.h 3316 2011-04-19 19:34:57Z chrfranke $\n"
+#define ATAPRINT_H_CVSID "$Id: ataprint.h 3825 2013-07-06 21:38:25Z samm2 $\n"
 
 #include <vector>
 
@@ -47,6 +46,7 @@ struct ata_log_request
 struct ata_print_options
 {
   bool drive_info;
+  int identify_word_level, identify_bit_level;
   bool smart_check_status;
   bool smart_general_values;
   bool smart_vendor_attrib;
@@ -61,6 +61,9 @@ struct ata_print_options
 
   std::vector<ata_log_request> log_requests;
 
+  bool devstat_all_pages, devstat_ssd_page;
+  std::vector<int> devstat_pages;
+
   bool sct_temp_sts, sct_temp_hist;
   bool sct_erc_get;
   bool sct_erc_set;
@@ -72,13 +75,16 @@ struct ata_print_options
   bool smart_auto_save_disable, smart_auto_save_enable;
 
   int smart_selftest_type; // OFFLINE_FULL_SCAN, ..., see atacmds.h. -1 for no test
+  bool smart_selftest_force; // Ignore already running test
   ata_selective_selftest_args smart_selective_args; // Extra args for selective self-test
 
   unsigned sct_temp_int;
   bool sct_temp_int_pers;
 
-  unsigned char output_format; // 0=old, 1=brief
-  unsigned char fix_firmwarebug; // FIX_*, see atacmds.h
+  enum { FMT_BRIEF = 0x01, FMT_HEX_ID = 0x02, FMT_HEX_VAL = 0x04 };
+  unsigned char output_format; // FMT_* flags
+
+  firmwarebug_defs firmwarebugs; // -F options
   bool fix_swapped_id; // Fix swapped ID strings returned by some buggy drivers
 
   ata_vendor_attr_defs attribute_defs; // -v options
@@ -87,8 +93,25 @@ struct ata_print_options
   bool show_presets; // Show presets and exit
   unsigned char powermode; // Skip check, if disk in idle or standby mode
 
+  bool get_set_used; // true if any get/set command is used
+  bool get_aam; // print Automatic Acoustic Management status
+  int set_aam; // disable(-1), enable(1..255->0..254) Automatic Acoustic Management
+  bool get_apm; // print Advanced Power Management status
+  int set_apm; // disable(-1), enable(2..255->1..254) Advanced Power Management
+  bool get_lookahead; // print read look-ahead status
+  int set_lookahead; // disable(-1), enable(1) read look-ahead
+  int set_standby; // set(1..255->0..254) standby timer
+  bool set_standby_now; // set drive to standby
+  bool get_security; // print ATA security status
+  bool set_security_freeze; // Freeze ATA security
+  bool get_wcache; // print write cache status
+  int set_wcache; // disable(-1), enable(1) write cache
+  bool sct_wcache_reorder_get; // print write cache reordering status
+  int sct_wcache_reorder_set; // disable(-1), enable(1) write cache reordering
+
   ata_print_options()
     : drive_info(false),
+      identify_word_level(-1), identify_bit_level(-1),
       smart_check_status(false),
       smart_general_values(false),
       smart_vendor_attrib(false),
@@ -99,6 +122,7 @@ struct ata_print_options
       smart_ext_error_log(0),
       smart_ext_selftest_log(0),
       retry_error_log(false), retry_selftest_log(false),
+      devstat_all_pages(false), devstat_ssd_page(false),
       sct_temp_sts(false), sct_temp_hist(false),
       sct_erc_get(false),
       sct_erc_set(false),
@@ -107,14 +131,21 @@ struct ata_print_options
       smart_disable(false), smart_enable(false),
       smart_auto_offl_disable(false), smart_auto_offl_enable(false),
       smart_auto_save_disable(false), smart_auto_save_enable(false),
-      smart_selftest_type(-1),
+      smart_selftest_type(-1), smart_selftest_force(false),
       sct_temp_int(0), sct_temp_int_pers(false),
       output_format(0),
-      fix_firmwarebug(FIX_NOTSPECIFIED),
       fix_swapped_id(false),
       ignore_presets(false),
       show_presets(false),
-      powermode(0)
+      powermode(0),
+      get_set_used(false),
+      get_aam(false), set_aam(0),
+      get_apm(false), set_apm(0),
+      get_lookahead(false), set_lookahead(0),
+      set_standby(0), set_standby_now(false),
+      get_security(false), set_security_freeze(false),
+      get_wcache(false), set_wcache(0),
+      sct_wcache_reorder_get(false), sct_wcache_reorder_set(0)
     { }
 };