![]()  | 
  
    MySQL 9.5.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 |