xref: /optee_os/core/include/kernel/ldelf_loader.h (revision d50fee0321fe6853ac6352cf0fd548666457b407)
15b2ee5d8SMarouene Boubakri /* SPDX-License-Identifier: BSD-2-Clause */
25b2ee5d8SMarouene Boubakri /*
35b2ee5d8SMarouene Boubakri  * Copyright (c) 2020, Arm Limited
45b2ee5d8SMarouene Boubakri  */
55b2ee5d8SMarouene Boubakri 
65b2ee5d8SMarouene Boubakri #include <kernel/ts_manager.h>
75b2ee5d8SMarouene Boubakri #include <kernel/user_mode_ctx.h>
85b2ee5d8SMarouene Boubakri #include <tee_api_types.h>
95b2ee5d8SMarouene Boubakri 
10*d50fee03SEtienne Carriere #ifndef __KERNEL_LDELF_LOADER_H
11*d50fee03SEtienne Carriere #define __KERNEL_LDELF_LOADER_H
125b2ee5d8SMarouene Boubakri 
135b2ee5d8SMarouene Boubakri TEE_Result ldelf_load_ldelf(struct user_mode_ctx *uctx);
145b2ee5d8SMarouene Boubakri TEE_Result ldelf_init_with_ldelf(struct ts_session *sess,
155b2ee5d8SMarouene Boubakri 				 struct user_mode_ctx *uctx);
165b2ee5d8SMarouene Boubakri TEE_Result ldelf_dump_state(struct user_mode_ctx *uctx);
175b2ee5d8SMarouene Boubakri TEE_Result ldelf_dump_ftrace(struct user_mode_ctx *uctx,
185b2ee5d8SMarouene Boubakri 			     void *buf, size_t *blen);
195b2ee5d8SMarouene Boubakri TEE_Result ldelf_dlopen(struct user_mode_ctx *uctx, TEE_UUID *uuid,
205b2ee5d8SMarouene Boubakri 			uint32_t flags);
215b2ee5d8SMarouene Boubakri TEE_Result ldelf_dlsym(struct user_mode_ctx *uctx, TEE_UUID *uuid,
2252e7b1a6SJens Wiklander 		       const char *sym, size_t symlen, vaddr_t *val);
235b2ee5d8SMarouene Boubakri 
24*d50fee03SEtienne Carriere #endif /* __KERNEL_LDELF_LOADER_H */
25