summaryrefslogtreecommitdiff
path: root/sys/lib/libkern/crc32.c
AgeCommit message (Collapse)Author
2009-03-26Make the function declaration the same for the big-endian case ashe
for the little-endian case, and consistent with the libkern.h declaration. Fixes build problem for at least hp700 and evbbarm-eb.
2009-03-25Fix compilation error on 64-bit platforms.tls
2009-03-25Fix build problems caused by crc32 addition to libkern. Also, this makestls
the i386 bootblocks about 2K smaller than they were before we monkeyed with crc32 at all.
2009-03-25Fixes PR kern/41069 and PR kern/41070.darran
Extends the Opencrypto API to allow the destination buffer size to be specified when its not the same size as the input buffer (i.e. for operations like compress and decompress). The crypto_op and crypt_n_op structures gain a u_int dst_len field. The session_op structure gains a comp_alg field to specify a compression algorithm. Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION, CIOCCRYPT, and CIOCNCRYPTM. Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION, OCIOCCRYPT, and OCIOCNCRYPTM. Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which implement the original ioctls and set dst_len and comp_alg to 0. Adds user-space access to compression features. Adds software gzip support (CRYPTO_GZIP_COMP). Adds the fast version of crc32 from zlib to libkern. This should be generally useful and provide a place to start normalizing the various crc32 routines in the kernel. The crc32 routine is used in this patch to support GZIP. With input and support from tls@NetBSD.org.