summaryrefslogtreecommitdiffstats
path: root/lib/libcam/scsi_cmdparse.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r314189,r314190,r314191:ngie2017-03-121-28/+29
| | | | | | | | | | | | | | | | | | | r314189: Fix up NULL/'\0' uses and fix 2 derefs after NULL CID: 1018898, 1018899 r314190: Fix some minor style nits: put parentheses around return values r314191: Fix up r314189 The conditional in do_buff_decode(..) after the while loop was accidentally inverted. Only increment the pointer for fmt if it's not NUL.
* MFC r311623: Make do_buff_decode() not read past the end of the buffer.mav2017-01-211-34/+40
| | | | Abort format processing as soon as we have no enough data.
* MFC r298753:ngie2016-05-041-38/+41
| | | | | | | | | | | | | | Fix va_list handling - Add missing va_end's after corresponding va_start's to cleanup state - Eliminate questionable bzero'ing of va_list passed in to do_buff_decode(..) and do_encode(..) from buff_{de,en}code_visit(..) and csio_{de,en}code_visit(..). Make va_list a pointer instead and pass NULL into the underlying functions to handler this in a portable way. - Do some minor style(9) clean up in affected functions. CID: 1018500-1018503
* Don't depend on <sys/types.h> pollution in <fcntl.h>.mike2002-09-161-0/+2
|
* Const'ify the CDB format string passed to the CDB parsing routineskbyanc2001-12-181-25/+41
| | | | | | (csio_decode_visit() and family). Reviewed by: ken
* Add __FBSDID()s to libcamdillon2001-09-301-1/+4
|
* This is an overhaul of the mode page handling in camcontrol as well askbyanc2000-08-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Fix some Alpha portability problems, and add some belt-and-suspendersken1998-09-161-9/+44
| | | | | | | checking in some functions. Submitted by: dfr Modified by: ken
* CAM userland utility library, a replacement for libscsi.gibbs1998-09-151-0/+792
Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org>
OpenPOWER on IntegriCloud