You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
612 B
25 lines
612 B
/* 7zCrc.h -- CRC32 calculation |
|
2013-01-18 : Igor Pavlov : Public domain */ |
|
|
|
#ifndef __7Z_CRC_H |
|
#define __7Z_CRC_H |
|
|
|
#include "7zTypes.h" |
|
|
|
EXTERN_C_BEGIN |
|
|
|
extern UInt32 g_CrcTable[]; |
|
|
|
/* Call CrcGenerateTable one time before other CRC functions */ |
|
void MY_FAST_CALL CrcGenerateTable(void); |
|
|
|
#define CRC_INIT_VAL 0xFFFFFFFF |
|
#define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL) |
|
#define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8)) |
|
|
|
UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size); |
|
UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size); |
|
|
|
EXTERN_C_END |
|
|
|
#endif
|
|
|