"Fossies" - the Fresh Open Source Software Archive

Member "hashcat-6.2.6/deps/LZMA-SDK/C/7zCrc.h" (2 Sep 2022, 637 Bytes) of package /linux/privat/hashcat-6.2.6.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /* 7zCrc.h -- CRC32 calculation
    2 2013-01-18 : Igor Pavlov : Public domain */
    3 
    4 #ifndef __7Z_CRC_H
    5 #define __7Z_CRC_H
    6 
    7 #include "7zTypes.h"
    8 
    9 EXTERN_C_BEGIN
   10 
   11 extern UInt32 g_CrcTable[];
   12 
   13 /* Call CrcGenerateTable one time before other CRC functions */
   14 void MY_FAST_CALL CrcGenerateTable(void);
   15 
   16 #define CRC_INIT_VAL 0xFFFFFFFF
   17 #define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL)
   18 #define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
   19 
   20 UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size);
   21 UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size);
   22 
   23 EXTERN_C_END
   24 
   25 #endif