1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1996-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A***********************************************************************/ 1N/A * man this is sum library 1N/Astatic const char id[] =
"\n@(#)$Id: sumlib (AT&T Research) 2009-09-28 $\0\n";
1N/A * 16 and 32 bit common code 1N/A * now the library interface 1N/A "posix|cksum|std|standard",
1N/A "The posix 1003.2-1992 32 bit crc checksum. This is the" 1N/A " default \bcksum\b(1) method.",
1N/A "crc-0x04c11db7-rotate-done-size" 1N/A "The \bzip\b(1) crc.",
1N/A "crc-0xedb88320-init-done" 1N/A "crc-0xedb88320-size=0xcc55cc55" 1N/A "The Fowler-Noll-Vo 32 bit PRNG hash with non-zero" 1N/A " initializer (FNV-1).",
1N/A "prng-0x01000193-init=0x811c9dc5" 1N/A "The \bast\b \bstrsum\b(3) PRNG hash.",
1N/A "prng-0x63c63cd9-add=0x9c39c33d" 1N/A * simple alternation prefix match 1N/Amatch(
register const char* s,
register const char* p)
1N/A register const char* b = s;
1N/A if (*p ==
'|' || *p == 0)
1N/A }
while (*s++ == *p++);
1N/A * open sum method name 1N/A * initialize for a new run of blocks 1N/A * compute the running sum on buf 1N/A * done with this run of blocks 1N/A * print the sum [size] on sp 1N/A * return the current sum (internal) data 1N/A * close an open sum handle 1N/A * print the checksum method optget(3) usage on sp and return the length