xref: /aosp_15_r20/external/sg3_utils/README.tru64 (revision 44704f698541f6367e81f991ef8bb54ccbf3fc18)
1Introduction
2============
3The Tru64 port of sg3_utils contains those utilities that are _not_
4specific to Linux. In some cases a utility could be ported but
5requires more work. An example is sg_dd which needs more work
6beyond the SCSI command pass through mechanism.
7
8Supported Utilities
9===================
10Here is a list of utilities that have been ported:
11    sg_compare_and_write
12    sg_decode_sense
13    sg_format
14    sg_get_config
15    sg_get_lba_status
16    sg_ident
17    sg_inq          [dropped ATA IDENTIFY DEVICE capability]
18    sg_logs
19    sg_luns
20    sg_modes
21    sg_opcodes
22    sg_persist
23    sg_prevent
24    sg_raw
25    sg_rdac
26    sg_read_block_limits
27    sg_read_buffer
28    sg_read_long
29    sg_readcap
30    sg_reassign
31    sg_referrals
32    sg_requests
33    sg_rmsn
34    sg_rtpg
35    sg_safte
36    sg_sanitize
37    sg_sat_identify
38    sg_sat_phy_event
39    sg_sat_set_features
40    sg_senddiag
41    sg_ses
42    sg_start
43    sg_stpg
44    sg_sync
45    sg_turs
46    sg_unmap
47    sg_verify
48    sg_vpd
49    sg_wr_mode
50    sg_write_buffer
51    sg_write_long
52    sg_write_same
53
54Most utility names are indicative of the main SCSI command
55that they execute.  Some utilities are slightly higher level, for
56example sg_ses fetches SCSI Enclosure Services (SES) status pages and
57can send control pages. Each utility has a man page (placed in
58section 8). An overview of sg3_utils can be found at:
59https://sg.danny.cz/sg/sg3_utils.html .
60A copy of the "sg3_utils.html" file is in the "doc" subdirectory.
61
62This package uses autotools infrastructure with the now common
63"./configure ; make ; make install" sequence needed to build and install
64from the source found in the tarball. If the "./configure" sequence
65fails try using the ./autogen.sh prior to that sequence.
66
67Some man pages have examples which use Linux device names which hopefully
68will not confuse Tru64 users.
69
70
71Details
72=======
73Most of the ported utilities listed above use SCSI command functions
74declared in sg_cmds_*.h headers . Those SCSI command functions are
75implemented in the corresponding ".c" files. The ".c" files pass SCSI
76commands to the host operating system via an interface declared in sg_pt.h .
77There are currently five implementations of that interface depending on
78the host operating system:
79system:
80  - sg_pt_linux.c
81  - sg_pt_osf1.c  [Tru64]
82  - sg_pt_freebsd.c
83  - sg_pt_solaris.c
84  - sg_pt_win32.c
85
86The sg_pt_osf1.c file uses the Tru64 CAM SCSI pass through mechanism.
87
88Tru64 does not have general library support for "long" options
89(e.g. "--verbose") which are used extensively by most of the
90utilities in this package. Rather than change all the utilities
91and their man/web pages a local implementation of the missing
92function "getopt_long()" has been placed in the "getopt_long"
93subdirectory. Currently only the Tru64 port uses it.
94
95
96Douglas Gilbert
9714th January 2013
98