]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - smartd.h
Imported smartmontools-5.27.cvs20061002
[mirror_smartmontools-debian.git] / smartd.h
index c1b5dd195d394a1c666f8690b786dcbe747e5983..563a2c1723d0e98a26502c4aa5bc88afd52233e9 100644 (file)
--- a/smartd.h
+++ b/smartd.h
@@ -32,7 +32,7 @@
 
 
 #ifndef SMARTD_H_CVSID
-#define SMARTD_H_CVSID "$Id: smartd.h,v 1.76 2006/04/12 14:54:28 ballen4705 Exp $\n"
+#define SMARTD_H_CVSID "$Id: smartd.h,v 1.83 2006/09/15 08:01:21 sxzzsf Exp $\n"
 #endif
 
 // Configuration file
@@ -64,7 +64,7 @@
 
 
 // Number of allowed mail message types
-#define SMARTD_NMAIL 12
+#define SMARTD_NMAIL 13
 
 typedef struct mailinfo_s {
   int logged;// number of times an email has been sent
@@ -168,8 +168,11 @@ typedef struct configfile_s {
   // REGISTERED AND WE LEARN ITS CAPABILITIES.
   int lineno;                             // Line number of entry in file
   char *name;                             // Device name (+ optional [3ware_disk_XX])
-  unsigned char controller_type;          // Controller type, ATA/SCSI/3Ware/(more to come)
+  unsigned char controller_explicit;      // Controller (device) type has been specified explicitly
+  unsigned char controller_type;          // Controller type, ATA/SCSI/SAT/3Ware/(more to come)
   unsigned char controller_port;          // 1 + (disk number in controller). 0 means controller only handles one disk.
+  unsigned char hpt_data[3];              // combined controller/channle/pmport for highpoint rocketraid controller
+  unsigned char satpassthrulen;           // length of SAT ata pass through scsi commands (12, 16 or 0 (platform choice))
   char smartcheck;                        // Check SMART status
   char usagefailed;                       // Check for failed Usage Attributes
   char prefail;                           // Track changes in Prefail Attributes
@@ -185,6 +188,9 @@ typedef struct configfile_s {
   char removable;                         // Device may disappear (not be present)
   char powermode;                         // skip check, if disk in idle or standby mode
   char powerquiet;                        // skip powermode 'skipping checks' message
+  unsigned char tempdiff;                 // Track Temperature changes >= this limit
+  unsigned char tempinfo, tempcrit;       // Track Temperatures >= these limits as LOG_INFO, LOG_CRIT+mail
+  unsigned char tempmin, tempmax;         // Min/Max Temperatures
   unsigned char selflogcount;             // total number of self-test errors
   unsigned short selfloghour;             // lifetime hours of last self-test error
   testinfo *testdata;                     // Pointer to data on scheduled testing
@@ -193,11 +199,13 @@ typedef struct configfile_s {
   
   // THE NEXT SET OF ENTRIES ALSO TRACK DEVICE STATE AND ARE DYNAMIC
   maildata *mailwarn;                     // non-NULL: info about sending mail or executing script
+  unsigned char temperature;              // last recorded Temperature (in Celsius)
+  unsigned char tempmininc;               // #checks where Min Temperature is increased after powerup
+  int powerskipcnt;                       // Number of checks skipped due to idle or standby mode
 
   // SCSI ONLY
   unsigned char SmartPageSupported;       // has log sense IE page (0x2f)
   unsigned char TempPageSupported;        // has log sense temperature page (0xd)
-  unsigned char Temperature;              // last recorded figure (in Celsius)
   unsigned char SuppressReport;           // minimize nuisance reports
   unsigned char modese_len;               // mode sense/select cmd len: 0 (don't
                                           // know yet) 6 or 10
@@ -241,7 +249,7 @@ typedef struct changedattribute_s {
 #ifndef __GNUC__
 #define __attribute__(x)      /* nothing */
 #endif
-void PrintOut(int priority,char *fmt, ...) __attribute__ ((format(printf, 2, 3)));
+void PrintOut(int priority, const char *fmt, ...) __attribute__ ((format(printf, 2, 3)));
 
 void PrintAndMail(cfgfile *cfg, int which, int priority, char *fmt, ...) __attribute__ ((format(printf, 4, 5)));