Name Date Size #Lines LOC

..--

MakefileH A D25-Apr-20254.6 KiB15993

Makefile.cygH A D25-Apr-20252.7 KiB11161

Makefile.freebsdH A D25-Apr-20252.4 KiB9747

READMEH A D25-Apr-20252.2 KiB4838

bsg_queue_tst.cH A D25-Apr-20255.3 KiB172131

sg_chk_asc.cH A D25-Apr-20256 KiB219181

sg_iovec_tst.cppH A D25-Apr-202519.2 KiB600525

sg_json_builder_test.cH A D25-Apr-20251.7 KiB7449

sg_mrq_dd.cppH A D25-Apr-2025161.7 KiB4,6654,211

sg_queue_tst.cH A D25-Apr-20257.3 KiB235173

sg_scat_gath.cppH A D25-Apr-202532.7 KiB1,050869

sg_scat_gath.hH A D25-Apr-20255 KiB14490

sg_sense_test.cH A D25-Apr-20256.8 KiB205170

sg_take_snap.cH A D25-Apr-20257 KiB226179

sg_tst_async.cppH A D25-Apr-202577.5 KiB2,2282,003

sg_tst_bidi.cH A D25-Apr-202521.5 KiB603532

sg_tst_context.cppH A D25-Apr-202515.8 KiB503393

sg_tst_excl.cppH A D25-Apr-202532.3 KiB985780

sg_tst_excl2.cppH A D25-Apr-202518.1 KiB557432

sg_tst_excl3.cppH A D25-Apr-202518.5 KiB562437

sg_tst_ioctl.cH A D25-Apr-202547.7 KiB1,3521,207

sg_tst_json_builder.cH A D25-Apr-20254.4 KiB161122

sg_tst_nvme.cH A D25-Apr-202533.5 KiB958878

sgh_dd.cppH A D25-Apr-2025181.4 KiB5,0914,631

sgs_dd.cH A D25-Apr-202554.3 KiB1,6681,519

tst_sg_lib.cH A D25-Apr-202525.2 KiB735630

uapi_sg.hH A D25-Apr-202522.5 KiB494220

README

1
2
3The utilities in this directory are _not_ built automatically. So:
4    cd <root_of_sg3_utils_src>
5    ./configure ; make ; make install
6will _not_ build and install them. The make command (or some variant
7of it) needs to be run in this directory as outlined below.
8
9Building files in this directory depends on several files being already
10built in the ../lib directory. So to build files here, the ./configure
11needs to be executed in the parent directory followed by changing
12directory to the lib directory and calling 'make' there.
13Another way is to do a top level 'make' after the ./configure which
14will make the libraries followed by all the utilities in the src/
15directory. To make them in FreeBSD use 'make -f Makefile.freebsd' .
16
17The utilities in this directory do not have manpages. They have
18relatively complete but terse help messages, typically seen by using
19the '--help' option one or more times. If called several times, the
20shorter form of the help option is more convenient, for example: '-hhh'.
21And of course there is the source code. Unfortunately where the code
22implements many different options, it can become a bit dense. There
23is also a large amount of error checking, as many of these utilities
24were used to test new features placed in the sg v4 driver in Linux.
25
26The sg_chk_asc utility decodes the SCSI additional sense code table
27found at https://www.t10.org/lists/asc-num.txt and checks it against
28the table found in sg_lib_data.c in the lib/ subdirectory. It is
29designed to keep the table in sg_lib_data.c in "sync" with the
30table at the t10.org web site.
31
32The tst_sg_lib utility exercises several functions found in sg_lib.c
33and related files in the 'lib' sibling directory. Use 'tst_sg_lib -h'
34to get more information.
35
36There are both C and C++ files in this directory, they have extensions
37'.c' and '.cpp' respectively. Now both are built with rules in Makefile
38(at least in Linux). A gcc/g++ compiler of 4.7.3 vintage or later
39(or a recent clang compiler) will be required. To make them in FreeBSD
40use 'make -f Makefile.freebsd'.
41
42The sgh_dd utility (C++) uses 'libatomic' which may not be installed
43on some systems. On Debian based systems 'apt install libatomic1' fixes
44this.
45
46Douglas Gilbert
4717th September 2019
48