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