F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Crc32.hpp
Go to the documentation of this file.
1 #ifndef UTILS_HASH_CRC32_CRC32_HPP
2 #define UTILS_HASH_CRC32_CRC32_HPP
3 
5 
6 namespace Utils {
7 
8 // This is an implementation of the IEEE 802.3 CRC32 polynomial, which is
9 // 0x82608EDB when expressed as a reverse reciprocal form, or 0xEDB88320
10 // when expressed in a reverse form.
11 //
12 // Note that this specific function does not perform the one's complement
13 // that is typically performed when calculating a CRC32 hash. Use the Hash
14 // class implementation instead.
15 U32 crc32_ieee802_3_update(const U8* data, FwSizeType length, U32 crc);
16 
19 #ifndef HASH_HANDLE_TYPE
20 #define HASH_HANDLE_TYPE U32 // NO_CODESONAR LANG.PREPROC.MACROSTART/END
21 #endif
22 
25 #ifndef HASH_DIGEST_LENGTH
26 #define HASH_DIGEST_LENGTH (4)
27 #endif
28 
32 #ifndef HASH_EXTENSION_STRING
33 #define HASH_EXTENSION_STRING (".CRC32")
34 #endif
35 
36 } // namespace Utils
37 
38 #endif
PlatformSizeType FwSizeType
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
U32 crc32_ieee802_3_update(const U8 *data, FwSizeType length, U32 crc)
Definition: Crc32.cpp:172