|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Public APIs for the tee driver. More...
#include <zephyr/device.h>#include <zephyr/kernel.h>#include <zephyr/sys/util.h>#include <zephyr/syscalls/tee.h>Go to the source code of this file.
Data Structures | |
| struct | tee_version_info |
| TEE version. More... | |
| struct | tee_open_session_arg |
| |
| struct | tee_param |
| Tee parameter. More... | |
| struct | tee_invoke_func_arg |
| Invokes a function in a Trusted Application. More... | |
| struct | tee_shm |
| Tee shared memory structure. More... | |
| struct | tee_driver_api |
Macros | |
| #define | TEE_UUID_LEN 16 |
| #define | TEE_GEN_CAP_GP BIT(0) /* GlobalPlatform compliant TEE */ |
| #define | TEE_GEN_CAP_PRIVILEGED BIT(1) /* Privileged device (for supplicant) */ |
| #define | TEE_GEN_CAP_REG_MEM BIT(2) /* Supports registering shared memory */ |
| #define | TEE_GEN_CAP_MEMREF_NULL BIT(3) /* Support NULL MemRef */ |
| #define | TEE_SHM_REGISTER BIT(0) |
| #define | TEE_SHM_ALLOC BIT(1) |
| #define | TEE_PARAM_ATTR_TYPE_NONE 0 /* parameter not used */ |
| #define | TEE_PARAM_ATTR_TYPE_VALUE_INPUT 1 |
| #define | TEE_PARAM_ATTR_TYPE_VALUE_OUTPUT 2 |
| #define | TEE_PARAM_ATTR_TYPE_VALUE_INOUT 3 /* input and output */ |
| #define | TEE_PARAM_ATTR_TYPE_MEMREF_INPUT 5 |
| #define | TEE_PARAM_ATTR_TYPE_MEMREF_OUTPUT 6 |
| #define | TEE_PARAM_ATTR_TYPE_MEMREF_INOUT 7 /* input and output */ |
| #define | TEE_PARAM_ATTR_TYPE_MASK 0xff |
| #define | TEE_PARAM_ATTR_META 0x100 |
| #define | TEE_PARAM_ATTR_MASK (TEE_PARAM_ATTR_TYPE_MASK | TEE_PARAM_ATTR_META) |
| #define | TEEC_ORIGIN_API 0x00000001 |
| Function error origins, of type TEEC_ErrorOrigin. | |
| #define | TEEC_ORIGIN_COMMS 0x00000002 |
| #define | TEEC_ORIGIN_TEE 0x00000003 |
| #define | TEEC_ORIGIN_TRUSTED_APP 0x00000004 |
| #define | TEEC_SUCCESS 0x00000000 |
| Return values. | |
| #define | TEEC_ERROR_STORAGE_NOT_AVAILABLE 0xF0100003 |
| #define | TEEC_ERROR_GENERIC 0xFFFF0000 |
| #define | TEEC_ERROR_ACCESS_DENIED 0xFFFF0001 |
| #define | TEEC_ERROR_CANCEL 0xFFFF0002 |
| #define | TEEC_ERROR_ACCESS_CONFLICT 0xFFFF0003 |
| #define | TEEC_ERROR_EXCESS_DATA 0xFFFF0004 |
| #define | TEEC_ERROR_BAD_FORMAT 0xFFFF0005 |
| #define | TEEC_ERROR_BAD_PARAMETERS 0xFFFF0006 |
| #define | TEEC_ERROR_BAD_STATE 0xFFFF0007 |
| #define | TEEC_ERROR_ITEM_NOT_FOUND 0xFFFF0008 |
| #define | TEEC_ERROR_NOT_IMPLEMENTED 0xFFFF0009 |
| #define | TEEC_ERROR_NOT_SUPPORTED 0xFFFF000A |
| #define | TEEC_ERROR_NO_DATA 0xFFFF000B |
| #define | TEEC_ERROR_OUT_OF_MEMORY 0xFFFF000C |
| #define | TEEC_ERROR_BUSY 0xFFFF000D |
| #define | TEEC_ERROR_COMMUNICATION 0xFFFF000E |
| #define | TEEC_ERROR_SECURITY 0xFFFF000F |
| #define | TEEC_ERROR_SHORT_BUFFER 0xFFFF0010 |
| #define | TEEC_ERROR_EXTERNAL_CANCEL 0xFFFF0011 |
| #define | TEEC_ERROR_TARGET_DEAD 0xFFFF3024 |
| #define | TEEC_ERROR_STORAGE_NO_SPACE 0xFFFF3041 |
| #define | TEEC_LOGIN_PUBLIC 0x00000000 |
| Session login methods, for use in tee_open_session() as parameter connectionMethod. | |
| #define | TEEC_LOGIN_USER 0x00000001 |
| #define | TEEC_LOGIN_GROUP 0x00000002 |
| #define | TEEC_LOGIN_APPLICATION 0x00000004 |
| #define | TEEC_LOGIN_USER_APPLICATION 0x00000005 |
| #define | TEEC_LOGIN_GROUP_APPLICATION 0x00000006 |
Typedefs | |
| typedef int(* | tee_get_version_t) (const struct device *dev, struct tee_version_info *info) |
| Callback API to get current tee version. | |
| typedef int(* | tee_open_session_t) (const struct device *dev, struct tee_open_session_arg *arg, unsigned int num_param, struct tee_param *param, uint32_t *session_id) |
| Callback API to open session to Trusted Application. | |
| typedef int(* | tee_close_session_t) (const struct device *dev, uint32_t session_id) |
| Callback API to close session to TA. | |
| typedef int(* | tee_cancel_t) (const struct device *dev, uint32_t session_id, uint32_t cancel_id) |
| Callback API to cancel open session of invoke function to TA. | |
| typedef int(* | tee_invoke_func_t) (const struct device *dev, struct tee_invoke_func_arg *arg, unsigned int num_param, struct tee_param *param) |
| Callback API to invoke function to TA. | |
| typedef int(* | tee_shm_register_t) (const struct device *dev, struct tee_shm *shm) |
| Callback API to register shared memory. | |
| typedef int(* | tee_shm_unregister_t) (const struct device *dev, struct tee_shm *shm) |
| Callback API to unregister shared memory. | |
| typedef int(* | tee_suppl_recv_t) (const struct device *dev, uint32_t *func, unsigned int *num_params, struct tee_param *param) |
| Callback API to receive a request for TEE supplicant. | |
| typedef int(* | tee_suppl_send_t) (const struct device *dev, unsigned int ret, unsigned int num_params, struct tee_param *param) |
| Callback API to send a request for TEE supplicant. | |
Functions | |
| int | tee_get_version (const struct device *dev, struct tee_version_info *info) |
| Get the current TEE version info. | |
| int | tee_open_session (const struct device *dev, struct tee_open_session_arg *arg, unsigned int num_param, struct tee_param *param, uint32_t *session_id) |
| Open session for Trusted Environment. | |
| int | tee_close_session (const struct device *dev, uint32_t session_id) |
| Close session for Trusted Environment. | |
| int | tee_cancel (const struct device *dev, uint32_t session_id, uint32_t cancel_id) |
| Cancel session or invoke function for Trusted Environment. | |
| int | tee_invoke_func (const struct device *dev, struct tee_invoke_func_arg *arg, unsigned int num_param, struct tee_param *param) |
| Invoke function for Trusted Environment Application. | |
| int | tee_add_shm (const struct device *dev, void *addr, size_t align, size_t size, uint32_t flags, struct tee_shm **shmp) |
| Helper function to allocate and register shared memory. | |
| int | tee_rm_shm (const struct device *dev, struct tee_shm *shm) |
| Helper function to remove and unregister shared memory. | |
| int | tee_shm_register (const struct device *dev, void *addr, size_t size, uint32_t flags, struct tee_shm **shm) |
| Register shared memory for Trusted Environment. | |
| int | tee_shm_unregister (const struct device *dev, struct tee_shm *shm) |
| Unregister shared memory for Trusted Environment. | |
| int | tee_shm_alloc (const struct device *dev, size_t size, uint32_t flags, struct tee_shm **shm) |
| Allocate shared memory region for Trusted Environment. | |
| int | tee_shm_free (const struct device *dev, struct tee_shm *shm) |
| Free shared memory region for Trusted Environment. | |
| int | tee_suppl_recv (const struct device *dev, uint32_t *func, unsigned int *num_params, struct tee_param *param) |
| Receive a request for TEE Supplicant. | |
| int | tee_suppl_send (const struct device *dev, unsigned int ret, unsigned int num_params, struct tee_param *param) |
| Send a request for TEE Supplicant function. | |
Public APIs for the tee driver.