summaryrefslogtreecommitdiffstats
path: root/sbin/camcontrol/util.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix build.delphij2011-11-251-1/+1
|
* Add firmware update support for SCSI devices.emaste2011-11-251-0/+28
| | | | | | | | | | | | | | | | | Firmware can be reprogrammed on devices from Hitachi, HP, IBM, Plextor, Quantum, and Seagate. At least one device from each manufacturer has been tested with some version of this code, and it has been used to update thousands of drives so far. The man page suggests having a backup of the drive's data, and the operation must be confirmed, either interactively or on the command line. (This is the same as the confirmation on the format command.) This work is largely derived from fwprog.c by Andre Albsmeier. Submitted by: Nima Misaghian Sponsored by: Sandvine Incorporated MFC after: 3 months
* Make this WARNS=6 clean by:johan2003-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | 1: add 'const' to char * where needed; 2: mark unused variables with __unused; 3: remove double prototypes for mode_edit and mode_list. 4: moves the global variables 'bus', 'target', and 'lun' into the main function and protect them with #ifndef MINIMALISTIC, 5: renames 3 variable in order not to shadow other things index -> indx -- in modepage_dump since index is a function from <strings.h.> arglist -> arglst -- in the function parse_btl since arglist is also a global variable convertend -> convertend2 -- in the function editentry_set since that name is used two times within the function. 6: cast 0xffffffff in the macro RESOLUTION_MAX(size) to (int) since it is unsigned otherwise. Tested by: make universe Approved by: ken
* Use __FBSDID.obrien2003-05-021-4/+2
|
* Make camcontrol WARNS=2 clean.johan2003-02-201-2/+4
| | | | Approved by: ken
* Properly check malloc(3) return valuesjedgar2000-12-011-0/+4
| | | | Approved by: ken
* This is an overhaul of the mode page handling in camcontrol as well askbyanc2000-08-081-354/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related patches. These include: * Mode page editting can be scripted. This involves two things: first, if stdin is not a tty, changes are read from stdin rather than invoking $EDITOR. Second, and more importantly, not all modepage entries must be included in the change set. This means that camcontrol can now gracefully handle more intrusive editting from the $EDITOR, including removal or rearrangement of lines. It also means that you can do stuff like: # echo "WCE: 1" | camcontrol modepage da3 -m 8 -e # newfs /dev/da3 # echo "WCE: 0" | camcontrol modepage da3 -m 8 -e * Range-checking on user-supplied input values. modeedit.c now uses the field width specifiers to determine the maximum allowable value for a field. If the user enters a value larger than the maximum, it clips the value to the max and warns the user. This also involved patching cam_cmdparse.c to be more consistent with regards to the "count" parameter to arg_put (previously is was the length of strings and 1 for all integral types). The cam_cdbparse(3) man page was also updated to reflect the revised semantics. * In the process, I removed the 64 entry limit on mode pages (not that we were even close to hitting that limit). This was a nice side-effect of the other changes. * Technically, the new mode editting functionality allows editting of character array entries in mode pages (type 'c' or 'z'), however since buff_encode doesn't grok them it is currently useless. * Camcontrol gained two new options related to mode pages: -l and -b. The former lists all available mode pages for a given device. The latter forces mode page display in binary format (the default when no mode page definition was found in scsi_modes). * Added support for mode page names to scsi_modes. Allows names to be displayed alongside mode numbers in the mode page listing. Updated scsi_modes to use the new functionality. This also adds the semicolon into the scsi_modes syntax as an optional mode page definition terminator. This is needed to name pages without providing a page format definition. * Updated scsi_all.h to include a structure describing mode page headers. * Added $FreeBSD$ line to scsi_modes. Inspired by: dwhite Reviewed by: ken
* Do some intptr_t casting for alpha.mjacob2000-01-211-4/+4
| | | | Reviewed by: ken@freebsd.org
* Use mkstemp(3) instead of tmpnam(3) when creating temporary files for modeken1999-09-281-3/+6
| | | | | | | page editing. Submitted by: roberto Reviewed by: imp, ken
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add a new device specification syntax to camcontrol. It is now possible token1999-05-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | do things like: camcontrol tur da5 or camcontrol tur 1:2:0 or camcontrol tur 1:2 These changes are fully backwards compatible with the original device specification syntax (-n dev -u unit), so it is possible to use either method to specify a device now. The device specification changes do not affect the rescan, reset or debug commands, since by design, those commands work on a bus or bus:target:lun basis only. Also, shorten the default usage statement so that it fits in a 24 column terminal. The full usage statement is still available by using the "help" "-h" or "-?" arguments to camcontrol. Submitted by: Joerg Wunsch <joerg_wunsch@interface-business.de>
* Camcontrol - A utility for configuring/manipulating the CAM subsystemgibbs1998-09-151-0/+500
Submitted by: "Kenneth D. Merry" <ken@plutotech.com>
OpenPOWER on IntegriCloud