1 /*
2  * Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef _PROD_UTIL_H
8 #define _PROD_UTIL_H
9 
10 #include <stdint.h>
11 #include "cc_production_asset.h"
12 
13 #ifdef __cplusplus
14 extern "C"
15 {
16 #endif
17 
18 #define PROD_MIN(a , b ) ( ( (a) < (b) ) ? (a) : (b) )
19 
20 uint32_t CC_PROD_PkgVerify(CCProdAssetPkg_t *pPkgAsset,
21                             const uint8_t      *pAssetId, uint32_t assetIdSize,
22                           const uint8_t     *pLabel, uint32_t labelSize,
23                           uint8_t     *pContext, uint32_t contextSize,
24                                                     CCPlainAsset_t pPlainAsset,
25                                unsigned long workspaceAddr,
26                             uint32_t     workspaceSize);
27 
28 uint32_t  CC_PROD_BitListFromNum(uint32_t *pWordBuff,
29                                         uint32_t wordBuffSize,
30                                         uint32_t numVal);
31 
32 uint32_t  CC_PROD_GetZeroCount(uint32_t *pBuff,
33                                uint32_t buffWordSize,
34                                uint32_t  *pZeroCount);
35 
36 
37 uint32_t  CCProd_Init(void);
38 
39 void  CCPROD_Fini(void);
40 
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 #endif  //_PROD_UTIL_H
46 
47