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 18extern "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*******************************************************************************/ 39unsigned 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) 51unsigned char ALA_Start(const char *name, const char *dest, UINT8 *pdata, UINT16 len, UINT8 *respSW); 52#else 53unsigned 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*******************************************************************************/ 65bool 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*******************************************************************************/ 77unsigned char ALA_lsGetVersion(UINT8 *pVersion); 78unsigned char ALA_lsGetStatus(UINT8 *pVersion); 79unsigned char ALA_lsGetAppletStatus(UINT8 *pVersion); 80#else 81void ALA_GetlistofApplets(char *list[], UINT8* num); 82 83unsigned char ALA_GetCertificateKey(UINT8 *pKey, INT32 *pKeylen); 84#endif 85 86inline 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