]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - extern.h
Imported Upstream version 5.38
[mirror_smartmontools-debian.git] / extern.h
index 5eabed73118cada46515997885f2d77993e81ad5..44988d5d68c5d7c402507a0d05da0dc4c1b686a9 100644 (file)
--- a/extern.h
+++ b/extern.h
@@ -3,7 +3,7 @@
  *
  * Home page of code is: http://smartmontools.sourceforge.net
  *
- * Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net>
+ * Copyright (C) 2002-8 Bruce Allen <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
 #ifndef EXTERN_H_
 #define EXTERN_H_
 
-#define EXTERN_H_CVSID "$Id: extern.h,v 1.41 2006/04/12 14:54:28 ballen4705 Exp $\n"
+#define EXTERN_H_CVSID "$Id: extern.h,v 1.54 2008/03/04 22:09:47 ballen4705 Exp $\n"
 
-// Possible values for fixfirmwarebug.  If use has NOT specified -F at
+// Possible values for fixfirmwarebug.  If user has NOT specified -F at
 // all, then value is 0.
 #define FIX_NOTSPECIFIED     0
 #define FIX_NONE             1
 #define FIX_SAMSUNG          2
 #define FIX_SAMSUNG2         3
+#define FIX_SAMSUNG3         4
 
 // Block used for global control/communications.  If you need more
 // global variables, this should be the only place that you need to
 typedef struct smartmonctrl_s {
   // spans for selective self-test
   uint64_t smartselectivespan[5][2];
+  // mode for each span, see SEL_* in utility.h
+  char smartselectivemode[5];
   // number of spans
   int smartselectivenumspans;
   int           testcase;
+  unsigned      scttempint;
   // one plus time in minutes to wait after powerup before restarting
   // interrupted offline scan after selective self-test.
   int  pendingtime;
@@ -50,6 +54,8 @@ typedef struct smartmonctrl_s {
   // turn off scan after selective self-test, 2: turn on scan after
   // selective self-test.
   unsigned char scanafterselect;
+  // skip check, if disk in idle or standby mode
+  unsigned char powermode;
   unsigned char driveinfo;
   unsigned char checksmart;
   unsigned char smartvendorattrib;
@@ -58,6 +64,10 @@ typedef struct smartmonctrl_s {
   unsigned char smartselftestlog;
   unsigned char selectivetestlog;
   unsigned char smarterrorlog;
+  unsigned char smartbackgroundlog;
+  unsigned char scttempsts;
+  unsigned char scttemphist;
+  unsigned char scttempintp;
   unsigned char smartdisable;
   unsigned char smartenable; 
   unsigned char smartstatus;
@@ -77,6 +87,7 @@ typedef struct smartmonctrl_s {
   unsigned char smartautosavedisable;
   unsigned char printing_switchable;
   unsigned char dont_print;
+  unsigned char dont_print_serial;
   unsigned char permissive;
   unsigned char conservative;
   unsigned char checksumfail;
@@ -84,10 +95,16 @@ typedef struct smartmonctrl_s {
   unsigned char reportataioctl;
   unsigned char reportscsiioctl;
   unsigned char fixfirmwarebug;
+  unsigned char fixswappedid;
+  unsigned char satpassthrulen;
+  // Controller type (device type) has been specified explicitly
+  unsigned char controller_explicit;
   // 3Ware controller type, but also extensible to other contoller types
   unsigned char controller_type;
   // For 3Ware controllers, nonzero value is 1 plus the disk number
   unsigned char controller_port;
+  // combined controller/channle/pmport for highpoint rocketraid controller
+  unsigned char hpt_data[3];
   unsigned char ignorepresets;
   unsigned char showpresets;
   // The i'th entry in this array will modify the printed meaning of