• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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