sum(3tcl) Cyclic Redundancy Checks sum(3tcl)
______________________________________________________________________________
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 avail-
able.
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 pro-
vided 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 or-
dering 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 out-
put 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>
tcllib 1.1.2 sum(3tcl)