2 * static crc tables for crc.c
4 * Copyright (c) 2007 by Intel Corporation.
6 * Author: Mike Harvey <michael.harvey@intel.com>
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1999 Gerald Combs
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
35 guint32 crc32_table
[256] = {
36 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9,
37 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005,
38 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61,
39 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
40 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9,
41 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75,
42 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011,
43 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd,
44 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
45 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5,
46 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81,
47 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d,
48 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49,
49 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
50 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1,
51 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d,
52 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae,
53 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072,
54 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
55 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca,
56 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde,
57 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02,
58 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066,
59 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
60 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e,
61 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692,
62 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6,
63 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a,
64 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
65 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2,
66 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686,
67 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a,
68 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637,
69 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
70 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f,
71 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53,
72 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47,
73 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b,
74 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
75 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623,
76 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7,
77 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b,
78 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f,
79 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
80 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7,
81 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b,
82 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f,
83 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3,
84 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
85 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c,
86 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8,
87 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24,
88 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30,
89 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
90 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088,
91 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654,
92 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0,
93 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c,
94 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
95 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,
96 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0,
97 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c,
98 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668,
99 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
103 guint8 hcs_table
[256] = {
104 0x00, 0x07, 0x0e, 0x09, 0x1c, 0x1b, 0x12, 0x15,
105 0x38, 0x3f, 0x36, 0x31, 0x24, 0x23, 0x2a, 0x2d,
106 0x70, 0x77, 0x7e, 0x79, 0x6c, 0x6b, 0x62, 0x65,
107 0x48, 0x4f, 0x46, 0x41, 0x54, 0x53, 0x5a, 0x5d,
108 0xe0, 0xe7, 0xee, 0xe9, 0xfc, 0xfb, 0xf2, 0xf5,
109 0xd8, 0xdf, 0xd6, 0xd1, 0xc4, 0xc3, 0xca, 0xcd,
110 0x90, 0x97, 0x9e, 0x99, 0x8c, 0x8b, 0x82, 0x85,
111 0xa8, 0xaf, 0xa6, 0xa1, 0xb4, 0xb3, 0xba, 0xbd,
112 0xc7, 0xc0, 0xc9, 0xce, 0xdb, 0xdc, 0xd5, 0xd2,
113 0xff, 0xf8, 0xf1, 0xf6, 0xe3, 0xe4, 0xed, 0xea,
114 0xb7, 0xb0, 0xb9, 0xbe, 0xab, 0xac, 0xa5, 0xa2,
115 0x8f, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9d, 0x9a,
116 0x27, 0x20, 0x29, 0x2e, 0x3b, 0x3c, 0x35, 0x32,
117 0x1f, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0d, 0x0a,
118 0x57, 0x50, 0x59, 0x5e, 0x4b, 0x4c, 0x45, 0x42,
119 0x6f, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7d, 0x7a,
120 0x89, 0x8e, 0x87, 0x80, 0x95, 0x92, 0x9b, 0x9c,
121 0xb1, 0xb6, 0xbf, 0xb8, 0xad, 0xaa, 0xa3, 0xa4,
122 0xf9, 0xfe, 0xf7, 0xf0, 0xe5, 0xe2, 0xeb, 0xec,
123 0xc1, 0xc6, 0xcf, 0xc8, 0xdd, 0xda, 0xd3, 0xd4,
124 0x69, 0x6e, 0x67, 0x60, 0x75, 0x72, 0x7b, 0x7c,
125 0x51, 0x56, 0x5f, 0x58, 0x4d, 0x4a, 0x43, 0x44,
126 0x19, 0x1e, 0x17, 0x10, 0x05, 0x02, 0x0b, 0x0c,
127 0x21, 0x26, 0x2f, 0x28, 0x3d, 0x3a, 0x33, 0x34,
128 0x4e, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5c, 0x5b,
129 0x76, 0x71, 0x78, 0x7f, 0x6a, 0x6d, 0x64, 0x63,
130 0x3e, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2c, 0x2b,
131 0x06, 0x01, 0x08, 0x0f, 0x1a, 0x1d, 0x14, 0x13,
132 0xae, 0xa9, 0xa0, 0xa7, 0xb2, 0xb5, 0xbc, 0xbb,
133 0x96, 0x91, 0x98, 0x9f, 0x8a, 0x8d, 0x84, 0x83,
134 0xde, 0xd9, 0xd0, 0xd7, 0xc2, 0xc5, 0xcc, 0xcb,
135 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3
139 guint16 crc16_table
[256] = {
140 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
141 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
142 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
143 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
144 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
145 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
146 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
147 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
148 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
149 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
150 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
151 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
152 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
153 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
154 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
155 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
156 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
157 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
158 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
159 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
160 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
161 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
162 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
163 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
164 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
165 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
166 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
167 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
168 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
169 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
170 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
171 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0,