rename __call__ to mf in cython.mf
[liba.git] / include / a / crc.h
bloba3630848f710426468a2fab14f4f869996ded190
1 /*!
2 @file crc.h
3 @brief Cyclic Redundancy Check
4 @details https://en.wikipedia.org/wiki/Cyclic_redundancy_check
5 */
7 #ifndef LIBA_CRC_H
8 #define LIBA_CRC_H
10 #include "a.h"
12 #if defined(__cplusplus)
13 extern "C" {
14 #endif /* __cplusplus */
16 A_EXTERN void a_crc8m_init(a_u8 table[0x100], a_u8 poly);
17 A_EXTERN void a_crc8l_init(a_u8 table[0x100], a_u8 poly);
18 A_EXTERN a_u8 a_crc8(a_u8 const table[0x100], void const *pdata, a_size nbyte, a_u8 value);
20 A_EXTERN void a_crc16l_init(a_u16 table[0x100], a_u16 poly);
21 A_EXTERN void a_crc16m_init(a_u16 table[0x100], a_u16 poly);
22 A_EXTERN a_u16 a_crc16l(a_u16 const table[0x100], void const *pdata, a_size nbyte, a_u16 value);
23 A_EXTERN a_u16 a_crc16m(a_u16 const table[0x100], void const *pdata, a_size nbyte, a_u16 value);
25 A_EXTERN void a_crc32l_init(a_u32 table[0x100], a_u32 poly);
26 A_EXTERN void a_crc32m_init(a_u32 table[0x100], a_u32 poly);
27 A_EXTERN a_u32 a_crc32l(a_u32 const table[0x100], void const *pdata, a_size nbyte, a_u32 value);
28 A_EXTERN a_u32 a_crc32m(a_u32 const table[0x100], void const *pdata, a_size nbyte, a_u32 value);
30 A_EXTERN void a_crc64l_init(a_u64 table[0x100], a_u64 poly);
31 A_EXTERN void a_crc64m_init(a_u64 table[0x100], a_u64 poly);
32 A_EXTERN a_u64 a_crc64l(a_u64 const table[0x100], void const *pdata, a_size nbyte, a_u64 value);
33 A_EXTERN a_u64 a_crc64m(a_u64 const table[0x100], void const *pdata, a_size nbyte, a_u64 value);
35 #if defined(__cplusplus)
36 } /* extern "C" */
37 #endif /* __cplusplus */
39 #endif /* a/crc.h */