1 #ifndef _IPXE_ELF_H
2 #define _IPXE_ELF_H
3 
4 /**
5  * @file
6  *
7  * ELF image format
8  *
9  */
10 
11 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
12 
13 #include <stdint.h>
14 #include <ipxe/image.h>
15 #include <elf.h>
16 
17 typedef Elf32_Ehdr	Elf_Ehdr;
18 typedef Elf32_Phdr	Elf_Phdr;
19 typedef Elf32_Off	Elf_Off;
20 #define ELFCLASS	ELFCLASS32
21 
22 extern int elf_segments ( struct image *image, Elf_Ehdr *ehdr,
23 			  int ( * process ) ( struct image *image,
24 					      Elf_Phdr *phdr, physaddr_t dest ),
25 			  physaddr_t *entry, physaddr_t *max );
26 extern int elf_load ( struct image *image, physaddr_t *entry, physaddr_t *max );
27 
28 #endif /* _IPXE_ELF_H */
29