1 /* 2 * Copyright (C) 2022 Huawei Technologies Co., Ltd. 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12 13 #ifndef DRVMGR_DRVCALL_DYN_CONF_MGR_H 14 #define DRVMGR_DRVCALL_DYN_CONF_MGR_H 15 16 #include <stdint.h> 17 #include <pthread.h> 18 #include <dlist.h> 19 #include <tee_defines.h> 20 #include <tee_driver_module.h> 21 #include "drv_dispatch.h" 22 #include "dyn_conf_common.h" 23 24 #define DRVCALL_DEC_CNT_INCLUDE_REGISTER_ONE 2U 25 26 struct drvcall_conf_t { 27 struct tee_uuid uuid; 28 struct drvcall_perm_apply_t drvcall_perm_apply; 29 }; 30 31 struct fd_node { 32 struct dlist_node data_list; 33 int64_t fd; 34 struct task_node *drv; 35 bool close_flag; 36 }; 37 38 void dump_all_drvcall_conf(void); 39 40 int32_t receive_perm_apply_list(struct drvcall_perm_apply_t *drvcall_perm_apply); 41 42 #endif 43