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