History log of /freebsd-current/bin/chio/chio.c
Revision Date Author Comments
# 8b6876e1 02-Jan-2024 Wilbert Allen Koeswoyo Suwito <nwilbertallen@gapp.nthu.edu.tw>

chio(8): Fix typo in the copyright section

Event: Advanced UNIX Programming Course (Fall’23) at NTHU.
Pull Request: https://github.com/freebsd/freebsd-src/pull/978


# 0b8224d1 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

Remove copyright strings ifdef'd out

We've ifdef'd out the copyright strings for some time now. Go ahead and
remove the ifdefs. Plus whatever other detritis was left over from other
recent removals. These copyright strings are present in the comments and
are largely from CSRG's attempt at adding their copyright to every
binary file (which modern interpretations of the license doesn't
require).

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# e9746806 07-Jul-2023 Alfonso Gregory <gfunni234@gmail.com>

Mark usage function as __dead2 in programs where it does not return

In most cases, usage does not return, so mark them as __dead2. For the
cases where they do return, they have not been marked __dead2.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/735


# 3b899d5a 24-Oct-2022 Warner Losh <imp@FreeBSD.org>

chio: Mark some arguments as unused.

Sponsored by: Netflix


# 8550ddb2 26-Jul-2020 Ed Maste <emaste@FreeBSD.org>

chio: avoid out of bounds read

ch_ces is alloacated with space for total_elem entries.

CID: 1418536
Reported by: Coverity Scan
Sponsored by: The FreeBSD Foundation


# 21b6ee96 19-Apr-2013 Kenneth D. Merry <ken@FreeBSD.org>

Update chio(1) and ch(4) to support reporting element designators.

This allows mapping a tape drive in a changer (as reported by
'chio status') to a sa(4) driver instance by comparing the
serial numbers.

The designators can be ASCII (which is printed out directly), binary
(which is printed in hex format) or UTF-8, which is printed in either
native UTF-8 format if the terminal can support it, or in %XX notation
for non-ASCII characters. Thanks to Hiroki Sato <hrs@> for the
explaining UTF-8 printing and example UTF-8 printing code.

chio.h: Modify the changer_element_status structure to add new
fields and definitions from the SMC3r16 spec.

Rename the original CHIOGSTATUS ioctl to OCHIOGTATUS and
define a new CHIOGSTATUS ioctl.

Clean up some tab/space issues.

chio.c: For the 'status' subcommand, print the designator field
if it is supplied by a device.

scsi_ch.h: Add new flags for DVCID and CURDATA to the READ
ELEMENT STATUS command structure.

Add a read_element_status_device_id structure
for the data fields in the new standard. Add new
unions, dt_or_obsolete and voltage_devid, to hold
and address data from either SCSI-2 or newer devices.

scsi_ch.c: Implement support for fetching device IDs with READ
ELEMENT STATUS data.

Add new arguments to scsi_read_element_status() to
allow the user to request the DVCID and CURDATA bits.
This isn't compiled into libcam (it's only an internal
kernel interface), so we don't need any special
handling for the API change.

If the user issues the new CHIOGSTATUS ioctl, copy all of
the available element status data out. If he issues the
OCHIOGSTATUS ioctl, we don't copy the new fields in the
structure.

Fix a bug in chopen() that would result in the peripheral
never getting unheld if chgetparams() failed.

Sponsored by: Spectra Logic
Submitted by: Po-Li Soong
MFC After: 1 week


# 46974387 11-Dec-2011 Ed Schouten <ed@FreeBSD.org>

Add static keywords to chio(1).

All other global variables are already marked static, so for consistency
sake, add them to these three arrays as well.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# c5d27505 02-Jun-2010 Ulrich Spörlein <uqs@FreeBSD.org>

Zero struct before reading from it

PR: 140384
Found by: clang static analyzer
MFC after: 3 weeks


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 7f33c7dd 30-Oct-2008 Joerg Wunsch <joerg@FreeBSD.org>

When running a "chio return" operation using a physical source unit
rather than a voltag name, do not set the CESR_VOLTAGS flags in the
CHIOGSTATUS command requesting the current status. As voltags are an
optional feature that must be handled as "reserved" by media changers
not implementing the feature, always setting CESR_VOLTAGS resulted in
the command being aborted with an `Invalid field in CDB', and
consequently the "chio return" failed, for media changers that do not
support voltags.

MFC after: 1 week


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 9ddb49cb 10-Jan-2005 Warner Losh <imp@FreeBSD.org>

/*- or .\"- or #- to begin license clauses.


# 09a80d48 01-May-2003 David E. O'Brien <obrien@FreeBSD.org>

Quiet warnings about copyright[].


# 05676782 01-Jul-2002 David Malone <dwmalone@FreeBSD.org>

Remove double #include <sys/cdef.h> and __FBSDID.

PR: 40053
Submitted by: Dan Lukes <dan@obluda.cz>


# 5eb43ac2 29-Jun-2002 David E. O'Brien <obrien@FreeBSD.org>

Consistently use __FBSDID


# 55fad6bb 24-Mar-2002 Mark Murray <markm@FreeBSD.org>

Replace use of __progname with the functionally identical and more
acceptable getprogname(3).


# 250a0cef 04-Mar-2002 Warner Losh <imp@FreeBSD.org>

Use ANSI-99 int names (uintXX_t) over traditional BSD int names
(u_intXX_t).


# ece57645 22-Feb-2002 Mark Murray <markm@FreeBSD.org>

Fix a boatload of warnings inspired by lint, a commercial lint
and WARNS=4.


# 5dce647c 01-Feb-2002 Warner Losh <imp@FreeBSD.org>

Modernization effort for bin/c*:

o __P has been reoved
o Old-style K&R declarations have been converted to new C89 style
o register has been removed
o prototype for main() has been removed (gcc3 makes it an error)
o int main(int argc, char *argv[]) is the preferred main definition.
o Attempt to not break style(9) conformance for declarations more than
they already are.

Approved by: arch@, new style(9)


# 61620393 04-Jul-2001 Mike Heffner <mikeh@FreeBSD.org>

Fix warnings on alpha and re-enable WARNS=2.

Submitted by: Mike Barcroft <mike@q9media.com>


# 6c120f46 02-Jul-2001 Mike Heffner <mikeh@FreeBSD.org>

Constify and lockdown with WARNS=2.

Submitted by: Mike Barcroft <mike@q9media.com>
MFC after: 2 weeks


# f944dc77 18-Sep-2000 Kenneth D. Merry <ken@FreeBSD.org>

Add two new features to chio(1):
- The ability to specify elements by volume tag instead of their actual
physical location. e.g., instead of:
chio move slot 3 slot 4
you would now use:
chio move voltag FOO slot 4

- The ability to return an element to its previous location, as specified
by the source element. e.g., instead of:
chio move drive 0 slot 4
you would now use:
chio return drive 0
or
chio return voltag FOO

These features will obviously only work with changers that support volume
tags and/or source element IDs. chio(1) should fail gracefully if the user
attempts to use these new features and the source element ID or volume tag
are not found.

PR: bin/21178
Submitted by: "C. Stephen Gunn" <csg@waterspout.com>
Reviewed by: ken


# 2c15efcf 15-Aug-2000 Warner Losh <imp@FreeBSD.org>

Don't explicitly declare optarg and optind. These are declared in
unistd.h, which is already included.


# 2a456239 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 98ae496f 22-Jul-1999 Kris Kennaway <kris@FreeBSD.org>

Correct some style issues in my previous commit.

Submitted by: bde


# 794bf053 21-Jun-1999 Kris Kennaway <kris@FreeBSD.org>

Undo some of the reversions from previous revisions, and attempt to
minimize diffs with {Net,Open}BSD

Hinted-More-Or-Less-By: bde


# 305a253a 07-Jun-1999 Kris Kennaway <kris@FreeBSD.org>

Changes from OpenBSD:
* Better usage() - correct syntax, display available commands
instead of examples
* Accept command abbreviations
* sprintf -> snprintf (for paranoia)
* manpage capitalisation tweak

Obtained from: OpenBSD


# b790f1b6 23-May-1999 Warner Losh <imp@FreeBSD.org>

getopt(3) returns -1 not EOF.


# 426e9c1d 25-Apr-1999 Warner Losh <imp@FreeBSD.org>

First set of fixes to keep egcs happy. These include {} around single
statement if blocks[*] when the else could be ambiguous, not defaulting
to int type and removal of some unused variables.

[*] This is explicitly allowed by style(9) when the single statement
spans more than one line.

Reviewed by: obrien, chuckr


# 9776f3db 07-Dec-1998 Bruce Evans <bde@FreeBSD.org>

Fixed printf format errors (new bugs in rev.1.7). Fixed a spelling error
(rev.1.7 blew away most of rev.1.2-1.6; I'm only fixing blowing away of
rev.1.4).


# c8c7ba2b 01-Oct-1998 Kenneth D. Merry <ken@FreeBSD.org>

Fix 'chio params' so that it actually prints out the current picker.
(This was broken when the volume tag changes went in.)

Submitted by: Josef Karthauser <joe@pavilion.net>


# 20bf9a14 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Updated the ch(4) driver and chio(1) command to include volume
tag support. These changes have been tested with a Breeze Hill
Q47 DLT and a DEC DLT2500 media changer. The latter has no
volume tag support.

The chio(1) command was updated to include various flags to the
status subcommand. These flags can be used to select additional
information to be displayed (like volume tags).

A new chio(1) subcommand named 'voltag' has been added which allows
for changes to volume tags inside the media changer controller.
This could not be tested as the Q47 does not provide the functio-
nality.

Submitted by: Hans Huebner


# 930ab418 13-May-1998 Philippe Charnier <charnier@FreeBSD.org>

Do not remove include of <sys/param.h> and <sys/types.h>. They should
be here before including almost any POSIX header.
Requested by: Bruce


# cbf6f7d3 06-May-1998 Philippe Charnier <charnier@FreeBSD.org>

Correct use of .Nm and other cosmetics. Add rcsid. Remove unused #inc.


# 112e2ea9 10-Feb-1998 Eivind Eklund <eivind@FreeBSD.org>

spelling

Obtained from: OpenBSD (src/bin/chio/chio.c rev 1.7) by todd@openbsd.org


# 714ec423 06-Jun-1997 Philippe Charnier <charnier@FreeBSD.org>

Do not use __progname.


# 73087c02 02-Jun-1997 Philippe Charnier <charnier@FreeBSD.org>

Remove unused variables. Suppress -Wall warnings. Check for potential buffer
overflow. Display available command in usage string.
Obtained from: {Net|Open}BSD


# 224c8a5b 06-Mar-1997 Joerg Wunsch <joerg@FreeBSD.org>

Import Jason Thorpe's contribution for an updated SCSI media changer
device (now, finally!).