*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> cksum (1)              


CKSUM(1)							      CKSUM(1)

NAME    [Toc]    [Back]

     cksum - display file checksums and	block counts

SYNOPSIS    [Toc]    [Back]

     cksum [-o 1 | 2] [file ...]

DESCRIPTION    [Toc]    [Back]

     The cksum utility writes to the standard output three whitespace
     separated fields for each input file.  These fields are a checksum	CRC,
     the total number of octets	in the file and	the file name.	If no file
     name is specified,	the standard input is used and no file name is

     The options are as	follows:

     -o	  Use historic algorithms instead of the (superior) default one.

     Algorithm 1 is the	algorithm used by historic Unix	systems	as the sum 1
     algorithm.	 This is a 16-bit checksum, with a right rotation before each
     addition; overflow	is discarded.

     Algorithm 2 is the	algorithm used by historic System V Unix systems as
     the default sum algorithm.	 This is a 32-bit checksum, and	is defined as

	  s = sum of all bytes;
	  r = s	% 2^16 + (s % 2^32) / 2^16;
	  cksum	= (r % 2^16) + r / 2^16;

     Both algorithm 1 and 2 write to the standard output the same fields as
     the default algorithm except that the size	of the file in bytes is
     replaced with the size of the file	in blocks.  For	historic reasons, the
     block size	is 1024	for algorithm 1	and 512	for algorithm 2.  Partial
     blocks are	rounded	up.

     The default CRC used is based on the polynomial used for CRC error
     checking in the networking	standard -iso8802-3.  The CRC checksum
     encoding is defined by the	generating polynomial:

	  G(x) = x^32 +	x^26 + x^23 + x^22 + x^16 + x^12 +
	       x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1

     Mathematically, the CRC value corresponding to a given file is defined by
     the following procedure:

     1.	  The n	bits to	be evaluated are considered to be the coefficients of
	  a mod	2 polynomial M(x) of degree n-1.

     2.	  These	n bits are the bits from the file, with	the most significant
	  bit being the	most significant bit of	the first octet	of the file
	  and the last bit being the least significant bit of the last octet,
	  padded with zero bits	(if necessary) to achieve an integral number

									Page 1

CKSUM(1)							      CKSUM(1)

	  of octets, followed by one or	more octets representing the length of
	  the file as a	binary value, least significant	octet first.

     3.	  The smallest number of octets	capable	of representing	this integer
	  are used.

     4.	  M(x) is multiplied by	x^32 (i.e., shifted left 32 bits) and divided
	  by G(x) using	mod 2 division,	producing a remainder R(x) of degree
	  <= 31.

     5.	  The coefficients of R(x) are considered to be	a 32-bit sequence.

     6.	  The bit sequence is complemented and the result is the CRC.

     The cksum utility exits 0 on success, and >0 if an	error occurs.

SEE ALSO    [Toc]    [Back]

     The default calculation is	identical to that given	in pseudo-code in the
     following ACM article.

	  Title: Computation of	Cyclic Redundancy Checks Via Table Lookup
	  Author: Dilip	V. Sarwate
	  Publication: Communications of the ACM; August 1988

STANDARDS    [Toc]    [Back]

     The cksum utility is expected to be POSIX 1003.2 compatible.

HISTORY    [Toc]    [Back]

     The cksum utility appears in BSD 4.4 .

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
dumpcounts IRIX print out pixie .Counts file structure
wc Tru64 Counts the lines, words, characters, and bytes in a file
gcov NetBSD display basic block profile / coverage data
bzip2 FreeBSD a block-sorting file compressor, v1.0.2
bunzip2 FreeBSD a block-sorting file compressor, v1.0.2
xfs_bmap IRIX print block mapping for an XFS file
pxfisblk IRIX Tests for block special file
sum IRIX print checksum and block count of a file
sum HP-UX print checksum and block or byte count of file(s)
popcnt IRIX Counts number of set bits
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service