![]() |
MySQL 9.4.0
Source Code Documentation
|
Functions | |
| uint64_t | swap_byteorder (uint64_t i) |
| Swap the byte order of an 8 byte integer. More... | |
| static void | crc32_slice8_table_init () |
| Initializes the table that is used to generate the CRC32 if the CPU does not have support for it. More... | |
| void | crc32_8 (uint32_t *crc, const byte **data, size_t *len) |
| Calculate CRC32 over 8-bit data using a software implementation. More... | |
| uint32_t | crc32_64_low (uint32_t crc, uint64_t data) |
| Calculate CRC32 over a 64-bit integer using a software implementation. More... | |
| static void | crc32_64 (uint32_t *crc, const byte **data, size_t *len) |
| Calculate CRC32 over 64-bit byte string using a software implementation. More... | |
| static void | crc32_64_legacy_big_endian (uint32_t *crc, const byte **data, size_t *len) |
| Calculate CRC32 over 64-bit byte string using a software implementation. More... | |
| template<void crc32_64> | |
| uint32_t | crc32_processing_64bit_chunks (const byte *buf, size_t len) |
| Calculates CRC32 in software, without using CPU instructions. More... | |
| uint32_t | crc32 (const byte *buf, size_t len) |
| Computes CRC32-C hash not using any hardware acceleration. More... | |
Variables | |
| static uint32_t | crc32_slice8_table [8][256] |
| static bool | crc32_slice8_table_initialized = false |
| uint32_t software::crc32 | ( | const byte * | buf, |
| size_t | len | ||
| ) |
Computes CRC32-C hash not using any hardware acceleration.
It's non-static so it can be unit-tested, but otherwise should not be used directly, and thus is not exposed in the header file - use ut_crc32 to benefit from hardware acceleration available.
| [in] | buf | data over which to calculate CRC32 |
| [in] | len | data length |
|
inlinestatic |
Calculate CRC32 over 64-bit byte string using a software implementation.
| [in,out] | crc | crc32 checksum so far when this function is called, when the function ends it will contain the new checksum |
| [in,out] | data | data to be checksummed, the pointer will be advanced with 8 bytes |
| [in,out] | len | remaining bytes, it will be decremented with 8 |
|
inlinestatic |
Calculate CRC32 over 64-bit byte string using a software implementation.
The byte string is converted to a 64-bit integer using big endian byte order.
| [in,out] | crc | crc32 checksum so far when this function is called, when the function ends it will contain the new checksum |
| [in,out] | data | data to be checksummed, the pointer will be advanced with 8 bytes |
| [in,out] | len | remaining bytes, it will be decremented with 8 |
|
inline |
Calculate CRC32 over a 64-bit integer using a software implementation.
| [in] | crc | crc32 checksum so far |
| [in] | data | data to be checksummed |
|
inline |
Calculate CRC32 over 8-bit data using a software implementation.
| [in,out] | crc | crc32 checksum so far when this function is called, when the function ends it will contain the new checksum |
| [in,out] | data | data to be checksummed, the pointer will be advanced with 1 byte |
| [in,out] | len | remaining bytes, it will be decremented with 1 |
| uint32_t software::crc32_processing_64bit_chunks | ( | const byte * | buf, |
| size_t | len | ||
| ) |
Calculates CRC32 in software, without using CPU instructions.
| [in] | buf | data over which to calculate CRC32 |
| [in] | len | data length |
|
static |
Initializes the table that is used to generate the CRC32 if the CPU does not have support for it.
|
inline |
Swap the byte order of an 8 byte integer.
| [in] | i | 8-byte integer |
|
static |
|
static |