diff options
-rw-r--r-- | crc32.3 | 52 | ||||
l--------- | crc32_z.3 | 1 |
2 files changed, 53 insertions, 0 deletions
diff --git a/crc32.3 b/crc32.3 new file mode 100644 index 0000000..66191fd --- /dev/null +++ b/crc32.3 @@ -0,0 +1,52 @@ +.Dd November 8, 2018 +.Dt CRC32 3 +.Os +. +.Sh NAME +.Nm crc32 , +.Nm crc32_z +.Nd update CRC-32 checksum +. +.Sh LIBRARY +.Lb libz +. +.Sh SYNOPSIS +.In zlib.h +.Ft uLong +.Fn crc32 "uLong crc" "const Bytef *buf" "uInt len" +.Ft uLong +.Fn crc32_z "uLong crc" "const Bytef *buf" "z_size_t len" +. +.Sh DESCRIPTION +Update a running CRC-32 with the bytes +.Fa "buf[0..len-1]" +and return the updated CRC-32. +If +.Fa buf +is +.Dv Z_NULL , +this function returns +the required initial value for the CRC. +Pre- and post-conditioning +(one's complement) +is performed within this function +so it shouldn't be done +by the application. +. +.Pp +.Fn crc32_z +is the same as +.Fn crc32 , +but with a +.Vt size_t +length. +. +.Sh EXAMPLES +.Bd -literal -offset indent +uLong crc = crc32(0L, Z_NULL, 0); + +while (read_buffer(buffer, length) != EOF) { + crc = crc32(crc, buffer, length); +} +if (crc != original_crc) error(); +.Ed diff --git a/crc32_z.3 b/crc32_z.3 new file mode 120000 index 0000000..cd5bed9 --- /dev/null +++ b/crc32_z.3 @@ -0,0 +1 @@ +crc32.3 \ No newline at end of file |