xref: /OK3568_Linux_fs/external/recovery/update_engine/crc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright (C) 2023 Rockchip Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *       http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef _CRC_H
18 #define _CRC_H
19 #include "defineHeader.h"
20 extern USHORT CRC_16(BYTE * aData, UINT aSize);
21 extern UINT CRC_32(PBYTE pData, UINT ulSize, UINT uiPreviousValue);
22 extern void P_RC4(BYTE * buf, USHORT len);
23 extern void bch_encode(BYTE *encode_in, BYTE *encode_out);
24 extern USHORT CRC_CCITT(UCHAR *p, UINT CalculateNumber);
25 extern void generate_gf();
26 extern void gen_poly();
27 #endif
28