blob: 60e022c931fed43dee52b27d1cb11e8bee5ef0af
1 | #ifndef __SECURE_STORAGE_H__ |
2 | #define __SECURE_STORAGE_H__ |
3 | |
4 | /* return value*/ |
5 | #define RET_OK 0 |
6 | #define RET_EFAIL 1 |
7 | #define RET_EINVAL 2 |
8 | #define RET_EMEM 3 |
9 | |
10 | #define RET_EUND -1 |
11 | #define SMC_UNK 0xffffffff |
12 | |
13 | /* Attribute*/ |
14 | #define OBJ_ATTR_SECURE (1<<0) |
15 | |
16 | #ifdef CONFIG_SECURE_STORAGE |
17 | /* funtion name: secure_storage_write |
18 | * keyname : key name is ascii string |
19 | * keybuf : key buf |
20 | * keylen : key buf len |
21 | * keyattr: Secure/Normal, ... |
22 | * |
23 | * return 0: ok, 0x1fe: no space, other fail |
24 | * */ |
25 | int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf, |
26 | uint32_t keylen, uint32_t keyattr); |
27 | int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf, |
28 | uint32_t keylen, uint32_t *reallen); |
29 | int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval); |
30 | int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval); |
31 | int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf); |
32 | int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval); |
33 | void *secure_storage_getbuffer(uint32_t *size); |
34 | void secure_storage_notifier(void); |
35 | void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg); |
36 | int32_t secure_storage_list(uint8_t *listbuf, uint32_t buflen, |
37 | uint32_t *readlen); |
38 | int32_t secure_storage_remove(uint8_t *keyname); |
39 | void secure_storage_set_info(uint32_t info); |
40 | int32_t secure_storage_set_enctype(uint32_t type); |
41 | /* return 0: success, -1: fail*/ |
42 | int32_t secure_storage_get_enctype(void); |
43 | /*return -1: no storage, 0: default enc, 1: efuse enc, 2: fixed enc*/ |
44 | int32_t secure_storage_version(void); |
45 | /*return -1: no storage, others: version*/ |
46 | #endif |
47 | |
48 | #endif |
49 |