aboutsummaryrefslogtreecommitdiffstats
path: root/crc.h
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2012-05-08 14:48:01 +0100
committerJonathan McCrohan <jmccrohan@gmail.com>2012-05-08 14:48:01 +0100
commite8ed9bd2e7597f7aefdfc7004a308f0e291c3ca7 (patch)
treedaaa342bcc828ba94f826c82a133da10f4a09567 /crc.h
downloadfiglet-e8ed9bd2e7597f7aefdfc7004a308f0e291c3ca7.tar.gz
Imported Upstream version 2.2.2upstream/2.2.2
Diffstat (limited to 'crc.h')
-rw-r--r--crc.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/crc.h b/crc.h
new file mode 100644
index 0000000..1f84831
--- /dev/null
+++ b/crc.h
@@ -0,0 +1,59 @@
+/*
+ * crc.h - CRC calculation routine
+ *
+ * Version 1.0
+ */
+
+/*
+ * Copyright (c) 1995, Edward B. Hamrick
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that
+ *
+ * (i) the above copyright notice and the text in this "C" comment block
+ * appear in all copies of the software and related documentation, and
+ *
+ * (ii) any modifications to this source file must be sent, via e-mail
+ * to the copyright owner (currently hamrick@primenet.com) within
+ * 30 days of such modification.
+ *
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL EDWARD B. HAMRICK BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
+ * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * This CRC algorithm is the same as that used in zip. Normally it
+ * should be initialized with 0xffffffff, and the final CRC stored
+ * should be crc ^ 0xffffffff.
+ *
+ * It implements the polynomial:
+ *
+ * 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
+ */
+
+#ifndef __CRC_H
+#define __CRC_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned long CrcUpdate( /* returns updated crc */
+ unsigned long crc, /* starting crc */
+ unsigned char *buffer, /* buffer to use to update crc */
+ long length /* length of buffer */
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif