15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Crc8 utility functions. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef RLZ_LIB_CRC8_H_ 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define RLZ_LIB_CRC8_H_ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace rlz_lib { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// CRC-8 methods: 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Crc8 { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool Generate(const unsigned char* data, 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int length, 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unsigned char* check_sum); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool Verify(const unsigned char* data, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int length, 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unsigned char checksum, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool * matches); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; // namespace rlz_lib 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // RLZ_LIB_CRC8_H_ 25