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
20edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
21edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#ifdef __cplusplus
22edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chuextern "C" {
23edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#endif
24edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
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*******************************************************************************/
35edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chuunsigned short crcChecksumCompute (const unsigned char *buffer, int bufferLen);
36edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
37edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
38edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu/*******************************************************************************
39edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
40edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Function         crcChecksumVerifyIntegrity
41edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
42edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Description      Detect any corruption in a file by computing a checksum.
43edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**                  filename: file name.
44edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
45edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu** Returns          True if file is good.
46edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu**
47edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu*******************************************************************************/
48edbfba90df8e223fadd787a10cb131e1dcfa7347Evan ChuBOOLEAN crcChecksumVerifyIntegrity (const char* filename);
49edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
50edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu
51edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#ifdef __cplusplus
52edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu}
53edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu#endif
54