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