33#define ELF_GEN_FIELD_GET_SET(__s, __field, __type) \
34 static inline __type elf_##__s##_get_##__field(u8 class, const void *arg) { \
35 if (class == ELFCLASS32) \
36 return (__type) ((const struct elf32_##__s *) arg)->__field; \
38 return (__type) ((const struct elf64_##__s *) arg)->__field; \
40 static inline void elf_##__s##_set_##__field(u8 class, void *arg, __type value) { \
41 if (class == ELFCLASS32) \
42 ((struct elf32_##__s *) arg)->__field = (__type) value; \
44 ((struct elf64_##__s *) arg)->__field = (__type) value; \
77#define ELF_STRUCT_SIZE(__s) \
78 static inline unsigned long elf_size_of_##__s(u8 class) { \
79 if (class == ELFCLASS32) \
80 return sizeof(struct elf32_##__s); \
82 return sizeof(struct elf64_##__s); \
void * memcpy(void *dest, const void *src, size_t len)
Definition string.c:25
#define ELFOSABI_NONE
Definition elf.h:361
#define EI_CLASS
Definition elf.h:335
#define SELFMAG
Definition elf.h:346
#define EI_DATA
Definition elf.h:336
#define EV_CURRENT
Definition elf.h:358
#define EI_OSABI
Definition elf.h:338
#define EI_VERSION
Definition elf.h:337
#define ELFMAG
Definition elf.h:345
#define ELFDATA2LSB
Definition elf.h:354
#define ELF_STRUCT_SIZE(__s)
Definition elf_helpers.h:77
#define ELF_GEN_FIELD_GET_SET(__s, __field, __type)
Definition elf_helpers.h:33
static u8 fw_elf_get_class(u32 elf_fw_addr)
Definition elf_helpers.h:18
static void elf_hdr_init_ident(struct elf32_hdr *hdr, u8 class)
Definition elf_helpers.h:24
unsigned int u32
Definition types.h:39
unsigned short u16
Definition types.h:36
unsigned long long u64
Definition types.h:42
unsigned char u8
Definition types.h:33
Elf32_Half e_type
Definition elf.h:208
unsigned char e_ident[EI_NIDENT]
Definition elf.h:207
Elf32_Half e_ehsize
Definition elf.h:215
Elf32_Word e_version
Definition elf.h:210
Elf32_Half e_phentsize
Definition elf.h:216
Elf32_Off e_phoff
Definition elf.h:212
Elf32_Half e_shentsize
Definition elf.h:218
Elf32_Half e_shnum
Definition elf.h:219
Elf32_Half e_machine
Definition elf.h:209
Elf32_Half e_phnum
Definition elf.h:217
Elf32_Addr e_entry
Definition elf.h:211
Elf32_Half e_shstrndx
Definition elf.h:220
Elf32_Off e_shoff
Definition elf.h:213