Wireshark 2.9.0-477-g68ec514b The Wireshark network protocol analyzer

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

crc32.h
1 /* crc32.h
2 * Declaration of CRC-32 routine and table
3 *
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
7 *
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 */
10
11 #ifndef __CRC32_H__
12 #define __CRC32_H__
13
14 #include "ws_symbol_export.h"
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
19
20 #define CRC32_CCITT_SEED 0xFFFFFFFF
21 #define CRC32C_PRELOAD 0xffffffff
22 #define CRC32_MPEG2_SEED 0xFFFFFFFF
23
24 /*
25 * Byte swap fix contributed by Dave Wysochanski <davidw@netapp.com>.
26 */
27 #define CRC32C_SWAP(crc32c_value) \
28 (((crc32c_value & 0xff000000) >> 24) | \
29 ((crc32c_value & 0x00ff0000) >> 8) | \
30 ((crc32c_value & 0x0000ff00) << 8) | \
31 ((crc32c_value & 0x000000ff) << 24))
32
35 WS_DLL_PUBLIC guint32 crc32_ccitt_table_lookup (guchar pos);
36
39 WS_DLL_PUBLIC guint32 crc32c_table_lookup (guchar pos);
40
46 WS_DLL_PUBLIC guint32 crc32c_calculate(const void *buf, int len, guint32 crc);
47
54 WS_DLL_PUBLIC guint32 crc32c_calculate_no_swap(const void *buf, int len, guint32 crc);
55
60 WS_DLL_PUBLIC guint32 crc32_ccitt(const guint8 *buf, guint len);
61
69 WS_DLL_PUBLIC guint32 crc32_ccitt_seed(const guint8 *buf, guint len, guint32 seed);
70
76 WS_DLL_PUBLIC guint32 crc32_mpeg2_seed(const guint8 *buf, guint len, guint32 seed);
77
85 WS_DLL_PUBLIC guint32 crc32_0x0AA725CF_seed(const guint8 *buf, guint len, guint32 seed);
86
94 WS_DLL_PUBLIC guint32 crc32_0x5D6DCB_seed(const guint8 *buf, guint len, guint32 seed);
95
96 WS_DLL_PUBLIC int Dot11DecryptWepDecrypt(
97 const guchar *seed,
98 const size_t seed_len,
99 guchar *cypher_text,
100 const size_t data_len);
101
102 #ifdef __cplusplus
103 }
104 #endif /* __cplusplus */
105
106 #endif /* crc32.h */