xref: /aosp_15_r20/external/lzma/C/XzCrc64.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker /* XzCrc64.h -- CRC64 calculation
2*f6dc9357SAndroid Build Coastguard Worker 2023-12-08 : Igor Pavlov : Public domain */
3*f6dc9357SAndroid Build Coastguard Worker 
4*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_XZ_CRC64_H
5*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_XZ_CRC64_H
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker #include <stddef.h>
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker #include "7zTypes.h"
10*f6dc9357SAndroid Build Coastguard Worker 
11*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_BEGIN
12*f6dc9357SAndroid Build Coastguard Worker 
13*f6dc9357SAndroid Build Coastguard Worker // extern UInt64 g_Crc64Table[];
14*f6dc9357SAndroid Build Coastguard Worker 
15*f6dc9357SAndroid Build Coastguard Worker void Z7_FASTCALL Crc64GenerateTable(void);
16*f6dc9357SAndroid Build Coastguard Worker 
17*f6dc9357SAndroid Build Coastguard Worker #define CRC64_INIT_VAL UINT64_CONST(0xFFFFFFFFFFFFFFFF)
18*f6dc9357SAndroid Build Coastguard Worker #define CRC64_GET_DIGEST(crc) ((crc) ^ CRC64_INIT_VAL)
19*f6dc9357SAndroid Build Coastguard Worker // #define CRC64_UPDATE_BYTE(crc, b) (g_Crc64Table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
20*f6dc9357SAndroid Build Coastguard Worker 
21*f6dc9357SAndroid Build Coastguard Worker UInt64 Z7_FASTCALL Crc64Update(UInt64 crc, const void *data, size_t size);
22*f6dc9357SAndroid Build Coastguard Worker // UInt64 Z7_FASTCALL Crc64Calc(const void *data, size_t size);
23*f6dc9357SAndroid Build Coastguard Worker 
24*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_END
25*f6dc9357SAndroid Build Coastguard Worker 
26*f6dc9357SAndroid Build Coastguard Worker #endif
27