#ifndef __TLC_BASEDEF_H__
#define __TLC_BASEDEF_H__

#define USE_DEBUG_MESSAGE

#ifdef __cplusplus
extern "C"
{
#endif
typedef signed char     int8;
typedef signed short    int16;
typedef signed int      int32;

typedef  unsigned char      boolean;     /* Boolean value type. */
typedef  unsigned long long  uint64;     /* Unsigned 64 bit value */
typedef  unsigned int       uint32;      /* Unsigned 32 bit value */
typedef  unsigned short     uint16;      /* Unsigned 16 bit value */
typedef  unsigned char      uint8;       /* Unsigned 8  bit value */

#ifndef TRUE 
#define TRUE    1
#endif
#ifndef FALSE
#define FALSE   0
#endif
#ifndef NULL
#define NULL    0
#endif

#define FIDO_CMD_DO_FIDO			0x03

#define FP_ASM_MAX_BLOB_DATA_SIZE			(20*1024)   //20k
#define CERT_PATH             "/system/lib/certificate_chain_C001.der"
//#define WRAP_KEY_LENGTH      16
#define TAG_UAFV1_REGISTER_CMD			0x3402
#define TAG_UAFV1_SIGN_CMD			0x3403

//Pass command
#define PASS_CMD_DO_PASS			0x21

//Pass command
#define PASS_CMD_DO_TUI			    0x31

typedef struct ifBlobData_s {
    uint32 DataSize;
    uint8 *Data;
} ifBlobData_t;

typedef struct BlobData_s {
    uint32 DataSize;
    uint8 Data[FP_ASM_MAX_BLOB_DATA_SIZE];
} BlobData_t;


#define LOG_TAG "fpasm_test"
#if defined USE_QSEE
#include <utils/Log.h>


#define printE(msg, ...)	    do { ALOGE("[ERROR]%s: "msg, __func__, ##__VA_ARGS__); } while (FALSE)
#ifdef USE_DEBUG_MESSAGE
#define printD(msg, ...)	    do { ALOGD("[DEBUG]%s: "msg, __func__, ##__VA_ARGS__); } while (FALSE)
#else   //USE_DEBUG_MESSAGE
#define printD(msg, ...)
#define printBlob(arr, msg)
#endif  //USE_DEBUG_MESSAGE


#elif defined USE_MOBICORE
#include "log.h"


#define printE(msg, ...)	    do { LOG_e("[ERROR]%s: "msg, __func__,##__VA_ARGS__); } while (FALSE)
#ifdef USE_DEBUG_MESSAGE
#define printD(msg, ...)	    do { LOG_i("[DEBUG]%s: "msg, __func__,##__VA_ARGS__); } while (FALSE)
#else   //USE_DEBUG_MESSAGE
#define printD(msg, ...)
#define printBlob(arr, msg)
#endif  //USE_DEBUG_MESSAGE


#endif


#ifdef __cplusplus
}
#endif


#endif

