| #ifndef __SECURE_STORAGE_H__ | |
| #define __SECURE_STORAGE_H__ | |
| /* return value*/ | |
| #define RET_OK 0 | |
| #define RET_EFAIL 1 | |
| #define RET_EINVAL 2 | |
| #define RET_EMEM 3 | |
| #define RET_EUND -1 | |
| #define SMC_UNK 0xffffffff | |
| /* Attribute*/ | |
| #define OBJ_ATTR_SECURE (1<<0) | |
| #ifdef CONFIG_SECURE_STORAGE | |
| /* funtion name: secure_storage_write | |
| * keyname : key name is ascii string | |
| * keybuf : key buf | |
| * keylen : key buf len | |
| * keyattr: Secure/Normal, ... | |
| * | |
| * return 0: ok, 0x1fe: no space, other fail | |
| * */ | |
| int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf, | |
| uint32_t keylen, uint32_t keyattr); | |
| int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf, | |
| uint32_t keylen, uint32_t *reallen); | |
| int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval); | |
| int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval); | |
| int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf); | |
| int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval); | |
| void *secure_storage_getbuffer(uint32_t *size); | |
| void secure_storage_notifier(void); | |
| void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg); | |
| int32_t secure_storage_list(uint8_t *listbuf, uint32_t buflen, | |
| uint32_t *readlen); | |
| int32_t secure_storage_remove(uint8_t *keyname); | |
| void secure_storage_set_info(uint32_t info); | |
| int32_t secure_storage_set_enctype(uint32_t type); | |
| /* return 0: success, -1: fail*/ | |
| int32_t secure_storage_get_enctype(void); | |
| /*return -1: no storage, 0: default enc, 1: efuse enc, 2: fixed enc*/ | |
| int32_t secure_storage_version(void); | |
| /*return -1: no storage, others: version*/ | |
| #endif | |
| #endif |