1*8617a60dSAndroid Build Coastguard Worker /* Copyright 2014 The ChromiumOS Authors 2*8617a60dSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 3*8617a60dSAndroid Build Coastguard Worker * found in the LICENSE file. 4*8617a60dSAndroid Build Coastguard Worker * 5*8617a60dSAndroid Build Coastguard Worker * Very simple 8-bit CRC function. 6*8617a60dSAndroid Build Coastguard Worker */ 7*8617a60dSAndroid Build Coastguard Worker 8*8617a60dSAndroid Build Coastguard Worker #ifndef VBOOT_REFERENCE_2CRC8_H_ 9*8617a60dSAndroid Build Coastguard Worker #define VBOOT_REFERENCE_2CRC8_H_ 10*8617a60dSAndroid Build Coastguard Worker 11*8617a60dSAndroid Build Coastguard Worker #include "2sysincludes.h" 12*8617a60dSAndroid Build Coastguard Worker 13*8617a60dSAndroid Build Coastguard Worker /** 14*8617a60dSAndroid Build Coastguard Worker * Calculate CRC-8 of the data, using the ITU version. 15*8617a60dSAndroid Build Coastguard Worker * 16*8617a60dSAndroid Build Coastguard Worker * Calculate CRC-8 ITU version of the given buffer, using x^8 + x^2 + x + 1 17*8617a60dSAndroid Build Coastguard Worker * polynomial. Note that the CRC-8 will evaluate to zero for a buffer of all 18*8617a60dSAndroid Build Coastguard Worker * zeroes. 19*8617a60dSAndroid Build Coastguard Worker * 20*8617a60dSAndroid Build Coastguard Worker * @param data Data to CRC 21*8617a60dSAndroid Build Coastguard Worker * @param size Size of data in bytes 22*8617a60dSAndroid Build Coastguard Worker * @return CRC-8 of the data. 23*8617a60dSAndroid Build Coastguard Worker */ 24*8617a60dSAndroid Build Coastguard Worker uint8_t vb2_crc8(const void *data, uint32_t size); 25*8617a60dSAndroid Build Coastguard Worker 26*8617a60dSAndroid Build Coastguard Worker #endif /* VBOOT_REFERENCE_2CRC8_H_ */ 27