1 /* 2 * Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /*! 8 @addtogroup cc_pal_init 9 @{ 10 */ 11 12 /*! 13 @file 14 @brief This file contains the PAL layer entry point. 15 16 It includes the definitions and APIs for PAL initialization and termination. 17 */ 18 19 #ifndef _CC_PAL_INIT_H 20 #define _CC_PAL_INIT_H 21 22 #include "cc_pal_types.h" 23 24 #ifdef __cplusplus 25 extern "C" 26 { 27 #endif 28 29 30 /*! 31 @brief This function performs all initializations that may be required by 32 your PAL implementation, specifically by the DMA-able buffer scheme. 33 34 It is called by ::CC_LibInit. 35 36 The existing implementation allocates a contiguous memory pool that is later 37 used by the CryptoCell implementation. 38 If no initializations are needed in your environment, the function can be 39 minimized to return OK. 40 41 @return A non-zero value on failure. 42 */ 43 int CC_PalInit(void); 44 45 46 47 /*! 48 @brief This function terminates the PAL implementation and frees the resources 49 that were allocated by ::CC_PalInit. 50 51 @return Void. 52 */ 53 void CC_PalTerminate(void); 54 55 56 57 #ifdef __cplusplus 58 } 59 #endif 60 61 /*! 62 @} 63 */ 64 #endif 65