4 * Home page of code is: http://www.smartmontools.org
6 * Copyright (C) 2002-9 Bruce Allen
7 * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
9 * Additional SCSI work:
10 * Copyright (C) 2003-18 Douglas Gilbert <dgilbert@interlog.com>
12 * SPDX-License-Identifier: GPL-2.0-or-later
19 #define SCSIPRINT_H_CVSID "$Id: scsiprint.h 4760 2018-08-19 18:45:53Z chrfranke $\n"
21 // Options for scsiPrintMain
22 struct scsi_print_options
25 bool smart_check_status
;
26 bool smart_vendor_attrib
;
28 bool smart_selftest_log
;
29 bool smart_background_log
;
30 bool smart_ss_media_log
;
32 bool smart_disable
, smart_enable
;
33 bool smart_auto_save_disable
, smart_auto_save_enable
;
35 bool smart_default_selftest
;
36 bool smart_short_selftest
, smart_short_cap_selftest
;
37 bool smart_extend_selftest
, smart_extend_cap_selftest
;
38 bool smart_selftest_abort
;
39 bool smart_selftest_force
; // Ignore already running test
41 bool sasphy
, sasphy_reset
;
43 bool get_wce
, get_rcd
;
44 short int set_wce
, set_rcd
; // disable(-1), enable(1) cache
48 smart_check_status(false),
49 smart_vendor_attrib(false),
50 smart_error_log(false),
51 smart_selftest_log(false),
52 smart_background_log(false),
53 smart_ss_media_log(false),
54 smart_disable(false), smart_enable(false),
55 smart_auto_save_disable(false), smart_auto_save_enable(false),
56 smart_default_selftest(false),
57 smart_short_selftest(false), smart_short_cap_selftest(false),
58 smart_extend_selftest(false), smart_extend_cap_selftest(false),
59 smart_selftest_abort(false),
60 smart_selftest_force(false),
61 sasphy(false), sasphy_reset(false),
62 get_wce(false), get_rcd(false),
63 set_wce(0), set_rcd(0)
67 int scsiPrintMain(scsi_device
* device
, const scsi_print_options
& options
);