Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Macros | Functions
crc32.h File Reference
#include <wireshark.h>

Go to the source code of this file.

Macros

#define CRC32_CCITT_SEED   0xFFFFFFFF
 
#define CRC32C_PRELOAD   0xffffffff
 
#define CRC32_MPEG2_SEED   0xFFFFFFFF
 
#define CRC32C_SWAP(crc32c_value)
 

Functions

WS_DLL_PUBLIC uint32_t crc32_ccitt_table_lookup (unsigned char pos)
 
WS_DLL_PUBLIC uint32_t crc32c_table_lookup (unsigned char pos)
 
WS_DLL_PUBLIC uint32_t crc32c_calculate (const void *buf, int len, uint32_t crc)
 
WS_DLL_PUBLIC uint32_t crc32c_calculate_no_swap (const void *buf, int len, uint32_t crc)
 
WS_DLL_PUBLIC uint32_t crc32_ccitt (const uint8_t *buf, unsigned len)
 
WS_DLL_PUBLIC uint32_t crc32_ccitt_seed (const uint8_t *buf, unsigned len, uint32_t seed)
 
WS_DLL_PUBLIC uint32_t crc32_mpeg2_seed (const uint8_t *buf, unsigned len, uint32_t seed)
 
WS_DLL_PUBLIC uint32_t crc32_0x0AA725CF_seed (const uint8_t *buf, unsigned len, uint32_t seed)
 
WS_DLL_PUBLIC uint32_t crc32_0x5D6DCB_seed (const uint8_t *buf, unsigned len, uint32_t seed)
 
WS_DLL_PUBLIC int Dot11DecryptWepDecrypt (const unsigned char *seed, const size_t seed_len, unsigned char *cypher_text, const size_t data_len)
 

Detailed Description

Declaration of CRC-32 routine and table

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

Macro Definition Documentation

◆ CRC32C_SWAP

#define CRC32C_SWAP (   crc32c_value)
Value:
(((crc32c_value & 0xff000000) >> 24) | \
((crc32c_value & 0x00ff0000) >> 8) | \
((crc32c_value & 0x0000ff00) << 8) | \
((crc32c_value & 0x000000ff) << 24))

Function Documentation

◆ crc32_0x0AA725CF_seed()

WS_DLL_PUBLIC uint32_t crc32_0x0AA725CF_seed ( const uint8_t *  buf,
unsigned  len,
uint32_t  seed 
)

Computes CRC32 checksum for the given data with the polynom 0x0AA725CF using precompiled CRC table

Parameters
bufa pointer to a buffer of the given length
lenthe length of the given buffer
seedThe seed to use.
Returns
the CRC32 checksum for the buffer

◆ crc32_0x5D6DCB_seed()

WS_DLL_PUBLIC uint32_t crc32_0x5D6DCB_seed ( const uint8_t *  buf,
unsigned  len,
uint32_t  seed 
)

Computes CRC32 checksum for the given data with the polynom 0x5D6DCB using precompiled CRC table

Parameters
bufa pointer to a buffer of the given length
lenthe length of the given buffer
seedThe seed to use.
Returns
the CRC32 checksum for the buffer

◆ crc32_ccitt()

WS_DLL_PUBLIC uint32_t crc32_ccitt ( const uint8_t *  buf,
unsigned  len 
)

Compute CRC32 CCITT checksum of a buffer of data.

Parameters
bufThe buffer containing the data.
lenThe number of bytes to include in the computation.
Returns
The CRC32 CCITT checksum.

◆ crc32_ccitt_seed()

WS_DLL_PUBLIC uint32_t crc32_ccitt_seed ( const uint8_t *  buf,
unsigned  len,
uint32_t  seed 
)

Compute CRC32 CCITT checksum of a buffer of data. If computing the checksum over multiple buffers and you want to feed the partial CRC32 back in, remember to take the 1's complement of the partial CRC32 first.

Parameters
bufThe buffer containing the data.
lenThe number of bytes to include in the computation.
seedThe seed to use.
Returns
The CRC32 CCITT checksum (using the given seed).

◆ crc32_ccitt_table_lookup()

WS_DLL_PUBLIC uint32_t crc32_ccitt_table_lookup ( unsigned char  pos)

Lookup the crc value in the crc32_ccitt_table

Parameters
posPosition in the table.

◆ crc32_mpeg2_seed()

WS_DLL_PUBLIC uint32_t crc32_mpeg2_seed ( const uint8_t *  buf,
unsigned  len,
uint32_t  seed 
)

Compute MPEG-2 CRC32 checksum of a buffer of data.

Parameters
bufThe buffer containing the data.
lenThe number of bytes to include in the computation.
seedThe seed to use.
Returns
The CRC32 MPEG-2 checksum (using the given seed).

◆ crc32c_calculate()

WS_DLL_PUBLIC uint32_t crc32c_calculate ( const void *  buf,
int  len,
uint32_t  crc 
)

Compute CRC32C checksum of a buffer of data.

Parameters
bufThe buffer containing the data.
lenThe number of bytes to include in the computation.
crcThe preload value for the CRC32C computation.
Returns
The CRC32C checksum.

◆ crc32c_calculate_no_swap()

WS_DLL_PUBLIC uint32_t crc32c_calculate_no_swap ( const void *  buf,
int  len,
uint32_t  crc 
)

Compute CRC32C checksum of a buffer of data without swapping seed crc or completed checksum

Parameters
bufThe buffer containing the data.
lenThe number of bytes to include in the computation.
crcThe preload value for the CRC32C computation.
Returns
The CRC32C checksum.

◆ crc32c_table_lookup()

WS_DLL_PUBLIC uint32_t crc32c_table_lookup ( unsigned char  pos)

Lookup the crc value in the crc32c_table

Parameters
posPosition in the table.