mirror of
https://github.com/openharmony/tee_tee_tzdriver.git
synced 2026-07-01 06:41:57 -04:00
60950d3b60
signed-off-by: YuanHao<yuanhao34@huawei.com>
179 lines
5.4 KiB
C
179 lines
5.4 KiB
C
/*
|
|
* teek_client_constants.h
|
|
*
|
|
* macro declaration for libteec interface for kernel CA.
|
|
*
|
|
* Copyright (C) 2022 Huawei Technologies Co., Ltd.
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
#include <linux/types.h>
|
|
|
|
#ifndef TEEK_CLIENT_CONSTANTS_H
|
|
#define TEEK_CLIENT_CONSTANTS_H
|
|
|
|
enum global_service_cmd_id {
|
|
GLOBAL_CMD_ID_INVALID = 0x0,
|
|
GLOBAL_CMD_ID_BOOT_ACK = 0x1,
|
|
GLOBAL_CMD_ID_OPEN_SESSION = 0x2,
|
|
GLOBAL_CMD_ID_CLOSE_SESSION = 0x3,
|
|
GLOBAL_CMD_ID_LOAD_SECURE_APP = 0x4,
|
|
GLOBAL_CMD_ID_NEED_LOAD_APP = 0x5,
|
|
GLOBAL_CMD_ID_REGISTER_AGENT = 0x6,
|
|
GLOBAL_CMD_ID_UNREGISTER_AGENT = 0x7,
|
|
GLOBAL_CMD_ID_REGISTER_NOTIFY_MEMORY = 0x8,
|
|
GLOBAL_CMD_ID_UNREGISTER_NOTIFY_MEMORY = 0x9,
|
|
GLOBAL_CMD_ID_INIT_CONTENT_PATH = 0xa,
|
|
GLOBAL_CMD_ID_TERMINATE_CONTENT_PATH = 0xb,
|
|
GLOBAL_CMD_ID_ALLOC_EXCEPTION_MEM = 0xc,
|
|
GLOBAL_CMD_ID_TEE_TIME = 0xd,
|
|
GLOBAL_CMD_ID_TEE_INFO = 0xe,
|
|
GLOBAL_CMD_ID_REGISTER_LOG_MEM = 0xf,
|
|
GLOBAL_CMD_ID_KILL_TASK = 0x10,
|
|
GLOBAL_CMD_ID_TUI_EXCEPTION = 0x11,
|
|
GLOBAL_CMD_ID_ADJUST_TIME = 0x12,
|
|
GLOBAL_CMD_ID_SET_CA_HASH = 0x13,
|
|
/* set the Android's build version */
|
|
GLOBAL_CMD_ID_SET_BUILD_VERSION = 0x14,
|
|
GLOBAL_CMD_ID_REGISTER_TTF_MEM = 0x15,
|
|
/* get session key for encrypting dialog */
|
|
GLOBAL_CMD_ID_GET_SESSION_SECURE_PARAMS = 0x16,
|
|
GLOBAL_CMD_ID_REGISTER_MAILBOX = 0x17,
|
|
GLOBAL_CMD_ID_REGISTER_UNUSUAL_TTF_MEM = 0x18,
|
|
GLOBAL_CMD_ID_REGISTER_ION_MEM = 0x19,
|
|
GLOBAL_CMD_ID_DUMP_MEMINFO = 0x1a,
|
|
/* this cmd will be used to service no ca handle cmd */
|
|
GLOBAL_CMD_ID_SET_SERVE_CMD = 0x1b,
|
|
GLOBAL_CMD_ID_ADD_DYNAMIC_ION = 0x1c,
|
|
GLOBAL_CMD_ID_DEL_DYNAMIC_ION = 0x1d,
|
|
GLOBAL_CMD_ID_RELEASE_ION_SRV = 0x1e,
|
|
/* this cmd for tui to get notch_size */
|
|
GLOBAL_CMD_ID_TUI_NOTCH = 0x1f,
|
|
GLOBAL_CMD_ID_LATE_INIT = 0x20,
|
|
/* this cmd for tui to get information of foldable screen */
|
|
GLOBAL_CMD_ID_TUI_FOLD = 0x21,
|
|
GLOBAL_CMD_ID_GET_TEE_VERSION = 0x22,
|
|
#ifdef CONFIG_CMS_SIGNATURE
|
|
GLOBAL_CMD_ID_UPDATE_TA_CRL = 0x23,
|
|
#endif
|
|
GLOBAL_CMD_ID_REGISTER_RESMEM = 0x24,
|
|
GLOBAL_CMD_ID_DUMP_SRV_SESS = 0x25,
|
|
GLOBAL_CMD_ID_UNKNOWN = 0x7FFFFFFE,
|
|
GLOBAL_CMD_ID_MAX = 0x7FFFFFFF
|
|
};
|
|
|
|
enum teec_result {
|
|
TEEC_SUCCESS = 0x0,
|
|
TEEC_ERROR_INVALID_CMD = 0x1,
|
|
TEEC_ERROR_SERVICE_NOT_EXIST = 0x2,
|
|
TEEC_ERROR_SESSION_NOT_EXIST = 0x3,
|
|
TEEC_ERROR_SESSION_MAXIMUM,
|
|
TEEC_ERROR_REGISTER_EXIST_SERVICE,
|
|
TEEC_ERROR_TAGET_DEAD_FATAL,
|
|
TEEC_ERROR_READ_DATA,
|
|
TEEC_ERROR_WRITE_DATA,
|
|
TEEC_ERROR_TRUNCATE_OBJECT,
|
|
TEEC_ERROR_SEEK_DATA,
|
|
TEEC_ERROR_RENAME_OBJECT,
|
|
TEEC_ERROR_TRUSTED_APP_LOAD_ERROR,
|
|
TEEC_ERROR_GENERIC = 0xFFFF0000,
|
|
TEEC_ERROR_ACCESS_DENIED = 0xFFFF0001,
|
|
TEEC_ERROR_CANCEL = 0xFFFF0002,
|
|
TEEC_ERROR_ACCESS_CONFLICT = 0xFFFF0003,
|
|
TEEC_ERROR_EXCESS_DATA = 0xFFFF0004,
|
|
TEEC_ERROR_BAD_FORMAT = 0xFFFF0005,
|
|
TEEC_ERROR_BAD_PARAMETERS = 0xFFFF0006,
|
|
TEEC_ERROR_BAD_STATE = 0xFFFF0007,
|
|
TEEC_ERROR_ITEM_NOT_FOUND = 0xFFFF0008,
|
|
TEEC_ERROR_NOT_IMPLEMENTED = 0xFFFF0009,
|
|
TEEC_ERROR_NOT_SUPPORTED = 0xFFFF000A,
|
|
TEEC_ERROR_NO_DATA = 0xFFFF000B,
|
|
TEEC_ERROR_OUT_OF_MEMORY = 0xFFFF000C,
|
|
TEEC_ERROR_BUSY = 0xFFFF000D,
|
|
TEEC_ERROR_COMMUNICATION = 0xFFFF000E,
|
|
TEEC_ERROR_SECURITY = 0xFFFF000F,
|
|
TEEC_ERROR_SHORT_BUFFER = 0xFFFF0010,
|
|
TEEC_PENDING = 0xFFFF2000,
|
|
TEEC_PENDING2 = 0xFFFF2001,
|
|
TEE_ERROR_TAGET_DEAD = 0xFFFF3024,
|
|
TEE_ERROR_GT_DEAD = 0xFFFF3124,
|
|
TEEC_ERROR_MAC_INVALID = 0xFFFF3071,
|
|
TEEC_CLIENT_INTR = 0xFFFF4000,
|
|
TEEC_ERROR_TUI_IN_USE = 0xFFFF7110,
|
|
TEEC_ERROR_TUI_SWITCH_CHANNAL,
|
|
TEEC_ERROR_TUI_CFG_DRIVER,
|
|
TEEC_ERROR_TUI_INVALID_EVENT,
|
|
TEEC_ERROR_TUI_POLL_EVENT,
|
|
TEEC_ERROR_TUI_CANCELED,
|
|
TEEC_ERROR_TUI_EXIT,
|
|
TEEC_ERROR_TUI_NOT_AVAILABLE,
|
|
TEEC_ERROR_SEC_FLASH_NOT_AVAILABLE,
|
|
TEEC_ERROR_CA_AUTH_FAIL = 0xFFFFCFE5,
|
|
TEE_ERROR_AUDIT_FAIL = 0xFFFF9112,
|
|
};
|
|
|
|
enum TEEC_ReturnCodeOrigin {
|
|
TEEC_ORIGIN_API = 0x1,
|
|
TEEC_ORIGIN_COMMS = 0x2,
|
|
TEEC_ORIGIN_TEE = 0x3,
|
|
TEEC_ORIGIN_TRUSTED_APP = 0x4,
|
|
};
|
|
|
|
enum TEEC_SharedMemCtl {
|
|
TEEC_MEM_INPUT = 0x1,
|
|
TEEC_MEM_OUTPUT = 0x2,
|
|
TEEC_MEM_INOUT = 0x3,
|
|
};
|
|
|
|
enum TEEC_ParamType {
|
|
TEEC_NONE = 0x0,
|
|
TEEC_VALUE_INPUT = 0x01,
|
|
TEEC_VALUE_OUTPUT = 0x02,
|
|
TEEC_VALUE_INOUT = 0x03,
|
|
TEEC_MEMREF_TEMP_INPUT = 0x05,
|
|
TEEC_MEMREF_TEMP_OUTPUT = 0x06,
|
|
TEEC_MEMREF_TEMP_INOUT = 0x07,
|
|
TEEC_ION_INPUT = 0x08,
|
|
TEEC_ION_SGLIST_INPUT = 0x09,
|
|
TEEC_MEMREF_SHARED_INOUT = 0x0a,
|
|
TEEC_MEMREF_WHOLE = 0xc,
|
|
TEEC_MEMREF_PARTIAL_INPUT = 0xd,
|
|
TEEC_MEMREF_PARTIAL_OUTPUT = 0xe,
|
|
TEEC_MEMREF_PARTIAL_INOUT = 0xf
|
|
};
|
|
|
|
enum TEE_ParamType {
|
|
TEE_PARAM_TYPE_NONE = 0x0,
|
|
TEE_PARAM_TYPE_VALUE_INPUT = 0x1,
|
|
TEE_PARAM_TYPE_VALUE_OUTPUT = 0x2,
|
|
TEE_PARAM_TYPE_VALUE_INOUT = 0x3,
|
|
TEE_PARAM_TYPE_MEMREF_INPUT = 0x5,
|
|
TEE_PARAM_TYPE_MEMREF_OUTPUT = 0x6,
|
|
TEE_PARAM_TYPE_MEMREF_INOUT = 0x7,
|
|
TEE_PARAM_TYPE_ION_INPUT = 0x8,
|
|
TEE_PARAM_TYPE_ION_SGLIST_INPUT = 0x9,
|
|
TEE_PARAM_TYPE_MEMREF_SHARED_INOUT = 0x0a,
|
|
TEE_PARAM_TYPE_RESMEM_INPUT = 0xc,
|
|
TEE_PARAM_TYPE_RESMEM_OUTPUT = 0xd,
|
|
TEE_PARAM_TYPE_RESMEM_INOUT = 0xe
|
|
};
|
|
|
|
enum TEEC_LoginMethod {
|
|
TEEC_LOGIN_PUBLIC = 0x0,
|
|
TEEC_LOGIN_USER,
|
|
TEEC_LOGIN_GROUP,
|
|
TEEC_LOGIN_APPLICATION = 0x4,
|
|
TEEC_LOGIN_USER_APPLICATION = 0x5,
|
|
TEEC_LOGIN_GROUP_APPLICATION = 0x6,
|
|
TEEC_LOGIN_IDENTIFY = 0x7,
|
|
};
|
|
|
|
#endif
|