Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       sum - Calculate a sum(1) compatible checksum

SYNOPSIS

       package require Tcl  8.2

       package require sum  ?1.1.2?

       ::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan
       | string ]

_________________________________________________________________________________________________

DESCRIPTION

       This package provides a Tcl-only implementation of the sum(1) command which  calculates  a
       16  bit  checksum value from the input data.  The BSD sum algorithm is used by default but
       the SysV algorithm is also available.

COMMANDS

       ::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan
       | string ]
              The  command  takes  string data or a file name or a channel and returns a checksum
              value calculated using the sum(1) algorithm. The  result  is  formatted  using  the
              format(3tcl) specifier provided or as an unsigned integer (%u) by default.

OPTIONS

       -sysv  The  SysV algorithm is fairly naive. The byte values are summed and any overflow is
              discarded. The lowest 16 bits are returned as the checksum.  Input  with  the  same
              content but different ordering will give the same result.

       -bsd   This  algorithm  is  similar  to  the SysV version but includes a bit rotation step
              which provides a dependency on the order of the data values.

       -filename name
              Return a checksum for the file contents instead of for parameter data.

       -channel chan
              Return a checksum for the contents of the specified channel. The  channel  must  be
              open  for reading and should be configured for binary translation. The channel will
              no be closed on completion.

       -chunksize size
              Set the block size used when reading data from either files or channels. This value
              defaults to 4096.

       -format string
              Return the checksum using an alternative format template.

EXAMPLES

              % crc::sum "Hello, World!"
              37287

              % crc::sum -format 0x%X "Hello, World!"
              0x91A7

              % crc::sum -file sum.tcl
              13392

AUTHORS

       Pat Thoyts

BUGS, IDEAS, FEEDBACK

       This  document,  and  the  package  it  describes, will undoubtedly contain bugs and other
       problems.   Please  report  such  in   the   category   crc   of   the   Tcllib   Trackers
       [http://core.tcl.tk/tcllib/reportlist].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments can
       be  made  by going to the Edit form of the ticket immediately after its creation, and then
       using the left-most button in the secondary navigation bar.

SEE ALSO

       cksum(3tcl), crc32(3tcl), sum(1)

KEYWORDS

       checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security, sum

CATEGORY

       Hashes, checksums, and encryption

COPYRIGHT

       Copyright (c) 2002, Pat Thoyts <patthoyts@users.sourceforge.net>