4 * Home page of code is: http://smartmontools.sourceforge.net
6 * Copyright (C) 2002-9 Bruce Allen <smartmontools-support@lists.sourceforge.net>
7 * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
9 * Additional SCSI work:
10 * Copyright (C) 2003-13 Douglas Gilbert <dgilbert@interlog.com>
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2, or (at your option)
17 * You should have received a copy of the GNU General Public License
18 * (for example COPYING); if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 * This code was originally developed as a Senior Thesis by Michael Cornwell
22 * at the Concurrent Systems Laboratory (now part of the Storage Systems
23 * Research Center), Jack Baskin School of Engineering, University of
24 * California, Santa Cruz. http://ssrc.soe.ucsc.edu/
32 #define SCSIPRINT_H_CVSID "$Id: scsiprint.h 3776 2013-02-17 04:25:42Z dpgilbert $\n"
34 // Options for scsiPrintMain
35 struct scsi_print_options
38 bool smart_check_status
;
39 bool smart_vendor_attrib
;
41 bool smart_selftest_log
;
42 bool smart_background_log
;
43 bool smart_ss_media_log
;
45 bool smart_disable
, smart_enable
;
46 bool smart_auto_save_disable
, smart_auto_save_enable
;
48 bool smart_default_selftest
;
49 bool smart_short_selftest
, smart_short_cap_selftest
;
50 bool smart_extend_selftest
, smart_extend_cap_selftest
;
51 bool smart_selftest_abort
;
52 bool smart_selftest_force
; // Ignore already running test
54 bool sasphy
, sasphy_reset
;
56 bool get_wce
, get_rcd
;
57 short int set_wce
, set_rcd
; // disable(-1), enable(1) cache
61 smart_check_status(false),
62 smart_vendor_attrib(false),
63 smart_error_log(false),
64 smart_selftest_log(false),
65 smart_background_log(false),
66 smart_ss_media_log(false),
67 smart_disable(false), smart_enable(false),
68 smart_auto_save_disable(false), smart_auto_save_enable(false),
69 smart_default_selftest(false),
70 smart_short_selftest(false), smart_short_cap_selftest(false),
71 smart_extend_selftest(false), smart_extend_cap_selftest(false),
72 smart_selftest_abort(false),
73 smart_selftest_force(false),
74 sasphy(false), sasphy_reset(false),
75 get_wce(false), get_rcd(false),
76 set_wce(0), set_rcd(0)
80 int scsiPrintMain(scsi_device
* device
, const scsi_print_options
& options
);