17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci#ifndef TEE_DRV_CLIENT_H 167777dab0Sopenharmony_ci#define TEE_DRV_CLIENT_H 177777dab0Sopenharmony_ci 187777dab0Sopenharmony_ci/** 197777dab0Sopenharmony_ci * @addtogroup TeeTrusted 207777dab0Sopenharmony_ci * @{ 217777dab0Sopenharmony_ci * 227777dab0Sopenharmony_ci * @brief TEE(Trusted Excution Environment) API. 237777dab0Sopenharmony_ci * Provides security capability APIs such as trusted storage, encryption and decryption, 247777dab0Sopenharmony_ci * and trusted time for trusted application development. 257777dab0Sopenharmony_ci * 267777dab0Sopenharmony_ci * @since 12 277777dab0Sopenharmony_ci */ 287777dab0Sopenharmony_ci 297777dab0Sopenharmony_ci/** 307777dab0Sopenharmony_ci * @file tee_drv_client.h 317777dab0Sopenharmony_ci * 327777dab0Sopenharmony_ci * @brief Declare tee driver client API. 337777dab0Sopenharmony_ci * 347777dab0Sopenharmony_ci * @library NA 357777dab0Sopenharmony_ci * @kit TEEKit 367777dab0Sopenharmony_ci * @syscap SystemCapability.Tee.TeeClient 377777dab0Sopenharmony_ci * @since 12 387777dab0Sopenharmony_ci * @version 1.0 397777dab0Sopenharmony_ci */ 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci#include <stdint.h> 427777dab0Sopenharmony_ci 437777dab0Sopenharmony_ci#ifdef __cplusplus 447777dab0Sopenharmony_ciextern "C" { 457777dab0Sopenharmony_ci#endif 467777dab0Sopenharmony_ci 477777dab0Sopenharmony_ci/** 487777dab0Sopenharmony_ci * @brief Open the specified driver in the TEE. 497777dab0Sopenharmony_ci * 507777dab0Sopenharmony_ci * @param drv_name [IN] The driver name. 517777dab0Sopenharmony_ci * @param param [IN] The parameter information. 527777dab0Sopenharmony_ci * @param param_len [IN] The length of the parameter. 537777dab0Sopenharmony_ci * 547777dab0Sopenharmony_ci * @return Returns greater than 0, which means the fd of the corresponding driver. 557777dab0Sopenharmony_ci * Returns less than or equal to 0, which means falied to open the driver. 567777dab0Sopenharmony_ci * 577777dab0Sopenharmony_ci * @since 12 587777dab0Sopenharmony_ci * @version 1.0 597777dab0Sopenharmony_ci */ 607777dab0Sopenharmony_ciint64_t tee_drv_open(const char *drv_name, const void *param, uint32_t param_len); 617777dab0Sopenharmony_ci 627777dab0Sopenharmony_ci/** 637777dab0Sopenharmony_ci * @brief Cancels an operation. 647777dab0Sopenharmony_ci * 657777dab0Sopenharmony_ci * @param fd [IN] The file descriptor of the driver. 667777dab0Sopenharmony_ci * @param cmd_id [IN] The command id. 677777dab0Sopenharmony_ci * @param param [IN] The parameter information. 687777dab0Sopenharmony_ci * @param param_len [IN] The length of the parameter. 697777dab0Sopenharmony_ci * 707777dab0Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 717777dab0Sopenharmony_ci * Returns <b>-1</b> if the operation is failed. 727777dab0Sopenharmony_ci * 737777dab0Sopenharmony_ci * @since 12 747777dab0Sopenharmony_ci * @version 1.0 757777dab0Sopenharmony_ci */ 767777dab0Sopenharmony_ciint64_t tee_drv_ioctl(int64_t fd, uint32_t cmd_id, const void *param, uint32_t param_len); 777777dab0Sopenharmony_ci 787777dab0Sopenharmony_ci/** 797777dab0Sopenharmony_ci * @brief Open the specified driver in the TEE. 807777dab0Sopenharmony_ci * 817777dab0Sopenharmony_ci * @param fd [IN] The file descriptor of the driver. 827777dab0Sopenharmony_ci * 837777dab0Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 847777dab0Sopenharmony_ci * Returns <b>-1</b> if the operation is failed. 857777dab0Sopenharmony_ci * 867777dab0Sopenharmony_ci * @since 12 877777dab0Sopenharmony_ci * @version 1.0 887777dab0Sopenharmony_ci */ 897777dab0Sopenharmony_ciint64_t tee_drv_close(int64_t fd); 907777dab0Sopenharmony_ci 917777dab0Sopenharmony_ci#ifdef __cplusplus 927777dab0Sopenharmony_ci} 937777dab0Sopenharmony_ci#endif 947777dab0Sopenharmony_ci/** @} */ 957777dab0Sopenharmony_ci#endif 967777dab0Sopenharmony_ci 97