1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.7 KiB

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
#ifndef WRITE_KEYBOX_H_
#define WRITE_KEYBOX_H_
#include <common.h>
#include <optee_include/tee_client_api.h>
#if defined CONFIG_ANDROID_WRITE_KEYBOX && defined CONFIG_ANDROID_KEYMASTER_CA
/*
* write_keybox_to_secure_storage
*
* @received_data: the data received from usb
* @len: size of received_data
*
* @return a negative number in case of error, or 0 on success.
*/
uint32_t write_keybox_to_secure_storage(uint8_t *received_data, uint32_t len);
/*
* write_to_secure_storage
*
* @is_use_rpmb: 0, write data to security patition
* 1, write data to rpmb
* @filename: the file name of data written to secure storage
* @filename_size: size of filename
* @data: the data want to write to secure storage
* @data_size: size of data
*
* @return a nonzero number in case of error, or 0 on success.
*/
TEEC_Result write_to_security_storage(uint8_t is_use_rpmb,
uint8_t *filename,
uint32_t filename_size,
uint8_t *data,
uint32_t data_size);
/*
* read_raw_data_from_secure_storege
*
* @raw_data: the data read from secure storage
* @data_size: size of raw data
*
* @return size of raw_data in case of success, or 0 on fail
*/
uint32_t read_raw_data_from_secure_storage(uint8_t *received_data,
uint32_t len);
char *new_strstr(const char *s1, const char *s2, uint32_t l1);
#else
inline uint32_t write_keybox_to_secure_storage(uint8_t *raw_data,
uint32_t data_size)
{
return -EPERM;
}
inline uint32_t read_raw_data_from_secure_storage(uint8_t *received_data,
uint32_t len)
{
return -EPERM;
}
#endif
#endif