1 /*
2 * Copyright (C) 2015 NXP Semiconductors
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 #ifdef __cplusplus
17
18 extern "C" {
19
20 #endif
21
22
23 #ifndef ALALIB_H_
24 #define ALALIB_H_
25
26 #include <stdio.h>
27
28 #include "IChannel.h"
29
30 /*******************************************************************************
31 **
32 ** Function: ALA_Init
33 **
34 ** Description: Initializes the ALA library and opens the DWP communication channel
35 **
36 ** Returns: SUCCESS if ok.
37 **
38 *******************************************************************************/
39 unsigned char ALA_Init(IChannel *channel);
40
41 /*******************************************************************************
42 **
43 ** Function: ALA_Start
44 **
45 ** Description: Starts the ALA over DWP
46 **
47 ** Returns: SUCCESS if ok.
48 **
49 *******************************************************************************/
50 #if(NXP_LDR_SVC_VER_2 == TRUE)
51 unsigned char ALA_Start(const char *name, const char *dest, UINT8 *pdata, UINT16 len, UINT8 *respSW);
52 #else
53 unsigned char ALA_Start(const char *name, UINT8 *pdata, UINT16 len);
54 #endif
55
56 /*******************************************************************************
57 **
58 ** Function: ALA_DeInit
59 **
60 ** Description: Deinitializes the ALA Lib
61 **
62 ** Returns: TRUE if ok.
63 **
64 *******************************************************************************/
65 bool ALA_DeInit();
66
67 #if(NXP_LDR_SVC_VER_2 == TRUE)
68 /*******************************************************************************
69 **
70 ** Function: ALA_lsGetVersion
71 **
72 ** Description: Get the Loader service Applet and cleint version
73 **
74 ** Returns: byte[] array.
75 **
76 *******************************************************************************/
77 unsigned char ALA_lsGetVersion(UINT8 *pVersion);
78 unsigned char ALA_lsGetStatus(UINT8 *pVersion);
79 unsigned char ALA_lsGetAppletStatus(UINT8 *pVersion);
80 #else
81 void ALA_GetlistofApplets(char *list[], UINT8* num);
82
83 unsigned char ALA_GetCertificateKey(UINT8 *pKey, INT32 *pKeylen);
84 #endif
85
FSCANF_BYTE(FILE * stream,const char * format,void * pVal)86 inline int FSCANF_BYTE(FILE *stream, const char *format, void* pVal)
87 {
88 int Result = 0;
89
90 if((NULL != stream) && (NULL != format) && (NULL != pVal))
91 {
92 unsigned int dwVal;
93 unsigned char* pTmp = (unsigned char*)pVal;
94 Result = fscanf(stream, format, &dwVal);
95
96 (*pTmp) = (unsigned char)(dwVal & 0x000000FF);
97 }
98 return Result;
99 }
100
101 #endif /* ALALIB_H_ */
102
103 #ifdef __cplusplus
104
105 }
106
107 #endif
108