1edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu/******************************************************************************
2edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *
3edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  Copyright (C) 2012 Broadcom Corporation
4edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *
5edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  Licensed under the Apache License, Version 2.0 (the "License");
6edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  you may not use this file except in compliance with the License.
7edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  You may obtain a copy of the License at:
8edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *
9edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  http://www.apache.org/licenses/LICENSE-2.0
10edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *
11edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  Unless required by applicable law or agreed to in writing, software
12edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  distributed under the License is distributed on an "AS IS" BASIS,
13edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  See the License for the specific language governing permissions and
15edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *  limitations under the License.
16edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu *
17edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu ******************************************************************************/
18edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#pragma once
19edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
20a6eddd86a10fc3d7e72e589f874bffdfab6d6933Ruchi Kandoi#include <stdbool.h>
21edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
22edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#ifdef __cplusplus
23edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chuextern "C" {
24edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#endif
25edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
26edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu/*******************************************************************************
27edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
28edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Function         crcChecksumCompute
29edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
30edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Description      Compute a checksum on a buffer of data.
31edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
32edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Returns          2-byte checksum.
33edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
34edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu*******************************************************************************/
356fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiunsigned short crcChecksumCompute(const unsigned char* buffer, int bufferLen);
36edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
37edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu/*******************************************************************************
38edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
39edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Function         crcChecksumVerifyIntegrity
40edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
41edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Description      Detect any corruption in a file by computing a checksum.
42edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**                  filename: file name.
43edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
44edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Returns          True if file is good.
45edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
46edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu*******************************************************************************/
476fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoibool crcChecksumVerifyIntegrity(const char* filename);
48edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
49edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#ifdef __cplusplus
50edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu}
51edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#endif
52