xref: /optee_os/lib/libutee/tee_api_private.h (revision e86f1266afb6871795921b1eeb2bcbe5b1928cb5)
1*e86f1266SJens Wiklander /*
2*e86f1266SJens Wiklander  * Copyright (c) 2015, Linaro Limited
3*e86f1266SJens Wiklander  * All rights reserved.
4*e86f1266SJens Wiklander  *
5*e86f1266SJens Wiklander  * Redistribution and use in source and binary forms, with or without
6*e86f1266SJens Wiklander  * modification, are permitted provided that the following conditions are met:
7*e86f1266SJens Wiklander  *
8*e86f1266SJens Wiklander  * 1. Redistributions of source code must retain the above copyright notice,
9*e86f1266SJens Wiklander  * this list of conditions and the following disclaimer.
10*e86f1266SJens Wiklander  *
11*e86f1266SJens Wiklander  * 2. Redistributions in binary form must reproduce the above copyright notice,
12*e86f1266SJens Wiklander  * this list of conditions and the following disclaimer in the documentation
13*e86f1266SJens Wiklander  * and/or other materials provided with the distribution.
14*e86f1266SJens Wiklander  *
15*e86f1266SJens Wiklander  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16*e86f1266SJens Wiklander  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*e86f1266SJens Wiklander  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*e86f1266SJens Wiklander  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19*e86f1266SJens Wiklander  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20*e86f1266SJens Wiklander  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21*e86f1266SJens Wiklander  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22*e86f1266SJens Wiklander  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23*e86f1266SJens Wiklander  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24*e86f1266SJens Wiklander  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25*e86f1266SJens Wiklander  * POSSIBILITY OF SUCH DAMAGE.
26*e86f1266SJens Wiklander  */
27*e86f1266SJens Wiklander #ifndef TEE_API_PRIVATE
28*e86f1266SJens Wiklander #define TEE_API_PRIVATE
29*e86f1266SJens Wiklander 
30*e86f1266SJens Wiklander #include <tee_api_types.h>
31*e86f1266SJens Wiklander #include <utee_types.h>
32*e86f1266SJens Wiklander 
33*e86f1266SJens Wiklander 
34*e86f1266SJens Wiklander void __utee_from_attr(struct utee_attribute *ua, const TEE_Attribute *attrs,
35*e86f1266SJens Wiklander 			uint32_t attr_count);
36*e86f1266SJens Wiklander 
37*e86f1266SJens Wiklander void __utee_from_param(struct utee_params *up, uint32_t param_types,
38*e86f1266SJens Wiklander 			const TEE_Param params[TEE_NUM_PARAMS]);
39*e86f1266SJens Wiklander 
40*e86f1266SJens Wiklander void __utee_to_param(TEE_Param params[TEE_NUM_PARAMS],
41*e86f1266SJens Wiklander 			uint32_t *param_types, const struct utee_params *up);
42*e86f1266SJens Wiklander 
43*e86f1266SJens Wiklander void __utee_entry_close_session(unsigned long session_id) __noreturn;
44*e86f1266SJens Wiklander 
45*e86f1266SJens Wiklander void __utee_entry_open_session(struct utee_params *up, unsigned long session_id)
46*e86f1266SJens Wiklander 			__noreturn;
47*e86f1266SJens Wiklander 
48*e86f1266SJens Wiklander void __utee_entry_invoke_command(unsigned long cmd_id, struct utee_params *up,
49*e86f1266SJens Wiklander 			unsigned long session_id) __noreturn;
50*e86f1266SJens Wiklander 
51*e86f1266SJens Wiklander 
52*e86f1266SJens Wiklander #endif /*TEE_API_PRIVATE*/
53*e86f1266SJens Wiklander 
54