summaryrefslogtreecommitdiff
path: root/lib/libcam/scsi_cmdparse.c
Commit message (Collapse)AuthorAgeFilesLines
* spdx: initial adoption of licensing ID tags.Pedro F. Giffuni2017-11-181-1/+4
| | | | | | | | | | | | | | | | | | | | The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Initially, only tag files that use BSD 4-Clause "Original" license. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D13133 Notes: svn path=/head/; revision=325966
* Fix up r314189Enji Cooper2017-02-241-1/+1
| | | | | | | | | | | | | 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 after: 2 weeks X-MFC with: r314189 Reported by: pstef Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314191
* Fix some minor style nits: put parentheses around return valuesEnji Cooper2017-02-241-10/+10
| | | | | | | | MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314190
* Fix up NULL/'\0' uses and fix 2 derefs after NULLEnji Cooper2017-02-241-18/+19
| | | | | | | | | | | MFC after: 2 weeks Reported by: Coverity CID: 1018898, 1018899 Differential Revision: https://reviews.freebsd.org/D6142 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314189
* Make do_buff_decode() not read past the end of the buffer.Alexander Motin2017-01-071-34/+40
| | | | | | | | | Abort format processing as soon as we have no enough data. MFC after: 2 weeks Notes: svn path=/head/; revision=311623
* Fix va_list handlingEnji Cooper2016-04-281-38/+41
| | | | | | | | | | | | | | | | | | | | - 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. Differential Revision: https://reviews.freebsd.org/D6072 MFC after: 3 days Reported by: cppcheck, Coverity CID: 1018500-1018503 Reviewed by: cem Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=298753
* Don't depend on <sys/types.h> pollution in <fcntl.h>.Mike Barcroft2002-09-161-0/+2
| | | | Notes: svn path=/head/; revision=103382
* Const'ify the CDB format string passed to the CDB parsing routinesKelly Yancey2001-12-181-25/+41
| | | | | | | | | (csio_decode_visit() and family). Reviewed by: ken Notes: svn path=/head/; revision=88090
* Add __FBSDID()s to libcamMatthew Dillon2001-09-301-1/+4
| | | | Notes: svn path=/head/; revision=84199
* This is an overhaul of the mode page handling in camcontrol as well asKelly Yancey2000-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 Notes: svn path=/head/; revision=64382
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50476
* Fix some Alpha portability problems, and add some belt-and-suspendersKenneth D. Merry1998-09-161-9/+44
| | | | | | | | | | checking in some functions. Submitted by: dfr Modified by: ken Notes: svn path=/head/; revision=39381
* CAM userland utility library, a replacement for libscsi.Justin T. Gibbs1998-09-151-0/+792
Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org> Notes: svn path=/head/; revision=39209