Merge tag 'v3.10.62' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / mach / mt_sec_export.h
1 #ifndef SEC_EXPORT_H
2 #define SEC_EXPORT_H
3
4 /**************************************************************************
5 * Security Module ERROR CODE
6 **************************************************************************/
7 #define SEC_OK 0x0000
8
9 /* IMAGE CIPHER */
10 #define ERR_IMAGE_CIPHER_KEY_ERR 0x1000
11 #define ERR_IMAGE_CIPHER_IMG_NOT_FOUND 0x1001
12 #define ERR_IMAGE_CIPHER_READ_FAIL 0x1002
13 #define ERR_IMAGE_CIPHER_WRONG_OPERATION 0x1003
14 #define ERR_IMAGE_CIPHER_DEC_TEST_ERROR 0x1004
15 #define ERR_IMAGE_CIPHER_ENC_TEST_ERROR 0x1005
16 #define ERR_IMAGE_CIPHER_HEADER_NOT_FOUND 0x1006
17 #define ERR_IMAGE_CIPHER_DEC_Fail 0x1007
18
19 /* AUTH */
20 #define ERR_AUTH_IMAGE_VERIFY_FAIL 0x2000
21 #define ERR_AES_KEY_NOT_FOUND 0x2005
22
23 /* LIB */
24 #define ERR_LIB_SEC_CFG_NOT_EXIST 0x3000
25 #define ERR_LIB_VER_INVALID 0x3001
26 #define ERR_LIB_SEC_CFG_ERASE_FAIL 0x3002
27 #define ERR_LIB_SEC_CFG_CANNOT_WRITE 0x3003
28
29 /* SECURE DOWNLOAD / IMAGE VERIFICATION */
30 #define ERR_IMG_VERIFY_THIS_IMG_INFO_NOT_EXIST 0x4000
31 #define ERR_IMG_VERIFY_HASH_COMPARE_FAIL 0x4001
32 #define ERR_IMG_VERIFY_NO_SPACE_ADD_IMG_INFO 0x4002
33 #define ERR_SEC_DL_TOKEN_NOT_FOUND_IN_IMG 0x4003
34 #define ERR_SEC_DL_FLOW_ERROR 0x4004
35
36 /* IMAGE DOWNLOAD LOCK */
37 #define ERR_IMG_LOCK_TABLE_NOT_EXIST 0x5000
38 #define ERR_IMG_LOCK_ALL_LOCK 0x5001
39 #define ERR_IMG_LOCK_NO_SPACE_ADD_LOCK_INFO 0x5002
40 #define ERR_IMG_LOCK_THIS_IMG_INFO_NOT_EXIST 0x5003
41 #define ERR_IMG_LOCK_MAGIC_ERROR 0x5004
42
43 /* KERNEL DRIVER */
44 #define ERR_KERNEL_CRYPTO_INVALID_MODE 0xA000
45
46 /**************************************************************************
47 * Security Module Enumeration
48 **************************************************************************/
49 typedef enum {
50 SECRO_MD1 = 0,
51 SECRO_MD2,
52 } SECRO_USER;
53
54 /**************************************************************************
55 * Security Module Export API
56 **************************************************************************/
57 extern int masp_boot_init(void);
58 extern void masp_secure_algo(unsigned char Direction, unsigned int ContentAddr,
59 unsigned int ContentLen, unsigned char *CustomSeed,
60 unsigned char *ResText);
61 extern unsigned char masp_secure_algo_init(void);
62 extern unsigned char masp_secure_algo_deinit(void);
63 extern int masp_ccci_signfmt_verify_file(char *file_path, unsigned int *data_offset,
64 unsigned int *data_sec_len);
65 extern int masp_ccci_version_info(void);
66 extern int masp_ccci_is_cipherfmt(int fp_id, unsigned int start_off, unsigned int *img_len);
67 extern int masp_ccci_decrypt_cipherfmt(int fp_id, unsigned int start_off, char *buf,
68 unsigned int buf_len, unsigned int *data_offset);
69 extern unsigned char masp_secro_en(void);
70 extern unsigned int masp_secro_md_len(unsigned char *md_info);
71 extern unsigned int masp_secro_md_get_data(unsigned char *md_info, unsigned char *buf,
72 unsigned int offset, unsigned int len);
73 extern unsigned int masp_secro_blk_sz(void);
74
75 #endif /* SEC_EXPORT_H */