2 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
3 * Alexander Warg <warg@os.inf.tu-dresden.de>,
4 * Frank Mehnert <fm3@os.inf.tu-dresden.de>
5 * economic rights: Technische Universität Dresden (Germany)
7 * This file is part of TUD:OS and distributed under the terms of the
8 * GNU General Public License 2.
9 * Please see the COPYING-GPL-2 file for details.
15 #include <l4/sys/compiler.h>
16 #include <l4/util/mb_info.h>
18 typedef int exec_sectype_t;
20 #define EXEC_SECTYPE_READ ((exec_sectype_t)0x000001)
21 #define EXEC_SECTYPE_WRITE ((exec_sectype_t)0x000002)
22 #define EXEC_SECTYPE_EXECUTE ((exec_sectype_t)0x000004)
23 #define EXEC_SECTYPE_ALLOC ((exec_sectype_t)0x000100)
24 #define EXEC_SECTYPE_LOAD ((exec_sectype_t)0x000200)
32 l4_addr_t begin; /* program begin */
33 l4_addr_t end; /* program end */
37 typedef int exec_handler_func_t(void *handle,
38 l4_addr_t file_ofs, l4_size_t file_size,
39 l4_addr_t mem_addr, l4_addr_t v_addr,
41 exec_sectype_t section_type);
45 int exec_load_elf(exec_handler_func_t *handler_exec,
46 void *handle, const char **error_msg, l4_addr_t *entry);