xref: /haiku/headers/private/kernel/boot/elf.h (revision e07c1f2cc113d6b515bc03bf0a76fe13fe6d3125)
1b73b3e5aSAxel Dörfler /*
262dbb799SAxel Dörfler ** Copyright 2003-2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3b73b3e5aSAxel Dörfler ** Distributed under the terms of the OpenBeOS License.
4b73b3e5aSAxel Dörfler */
5b73b3e5aSAxel Dörfler #ifndef KERNEL_BOOT_ELF_H
6b73b3e5aSAxel Dörfler #define KERNEL_BOOT_ELF_H
7b73b3e5aSAxel Dörfler 
8b73b3e5aSAxel Dörfler 
9ca109e72SAxel Dörfler #include <boot/addr_range.h>
10*e07c1f2cSAxel Dörfler #include <sys/stat.h>
11b73b3e5aSAxel Dörfler #include <elf_priv.h>
12b73b3e5aSAxel Dörfler 
13b73b3e5aSAxel Dörfler 
14b73b3e5aSAxel Dörfler struct preloaded_image {
15b73b3e5aSAxel Dörfler 	struct preloaded_image *next;
16b73b3e5aSAxel Dörfler 	char		*name;
17b73b3e5aSAxel Dörfler 	elf_region	text_region;
18b73b3e5aSAxel Dörfler 	elf_region	data_region;
19c2c0779eSAxel Dörfler 	addr_range	dynamic_section;
201bde925eSAxel Dörfler 	struct Elf32_Ehdr elf_header;
216e062dd1SAxel Dörfler 
22fa1ddc4fSAxel Dörfler 	struct Elf32_Sym *debug_symbols;
23fa1ddc4fSAxel Dörfler 	const char	*debug_string_table;
24fa1ddc4fSAxel Dörfler 	uint32		num_debug_symbols, debug_string_table_size;
25fa1ddc4fSAxel Dörfler 
26*e07c1f2cSAxel Dörfler 	ino_t		inode;
276e062dd1SAxel Dörfler 	image_id	id;
286e062dd1SAxel Dörfler 		// the ID field will be filled out in the kernel
29b73b3e5aSAxel Dörfler };
30b73b3e5aSAxel Dörfler 
31b73b3e5aSAxel Dörfler #endif	/* KERNEL_BOOT_ELF_H */
32