29#ifndef __VSF_ELFLOADER_H__
30#define __VSF_ELFLOADER_H__
36#if VSF_USE_LOADER == ENABLED && VSF_LOADER_USE_ELF == ENABLED
40#if defined(__VSF_ELFLOADER_CLASS_IMPLEMENT)
41# define __VSF_CLASS_IMPLEMENT__
42#elif defined(__VSF_ELFLOADER_CLASS_INHERIT__)
43# define __VSF_CLASS_INHERIT__
48#if defined(__VSF_ELFLOADER_CLASS_INHERIT__) || defined(__VSF_ELFLOADER_CLASS_IMPLEMENT)
111#if defined(__VSF_ELFLOADER_CLASS_INHERIT__) || defined(__VSF_ELFLOADER_CLASS_IMPLEMENT)
118 const char *name,
Elf_Shdr *header);
129#undef __VSF_ELFLOADER_CLASS_IMPLEMENT
130#undef __VSF_ELFLOADER_CLASS_INHERIT__
Definition vsf_elfloader.h:60
Definition vsf_loader.h:176
#define Elf_Phdr
Definition elf.h:359
#define Elf_Shdr
Definition elf.h:355
unsigned int uint32_t
Definition lvgl.h:43
#define vsf_class(__name)
Definition ooc_class.h:48
uint32_t uintptr_t
Definition stdint.h:38
Definition vsf_loader.h:167
Definition vsf_loader.h:132
int vsf_elfloader_foreach_program_header(vsf_elfloader_t *elfloader, vsf_loader_target_t *target, void *param, int(*callback)(vsf_elfloader_t *, vsf_loader_target_t *, Elf_Phdr *pheader, int index, void *param))
Definition vsf_elfloader.c:222
int vsf_elfloader_foreach_section(vsf_elfloader_t *elfloader, vsf_loader_target_t *target, void *param, int(*callback)(vsf_elfloader_t *, vsf_loader_target_t *, Elf_Shdr *header, char *name, int index, void *param))
Definition vsf_elfloader.c:181
uint32_t vsf_elfloader_get_section(vsf_elfloader_t *elfloader, vsf_loader_target_t *target, const char *name, Elf_Shdr *header)
Definition vsf_elfloader.c:657
void * vsf_elfloader_remap(vsf_elfloader_t *elfloader, void *vaddr)
Definition vsf_elfloader.c:279
void vsf_elfloader_call_fini_array(vsf_elfloader_t *elfloader)
Definition vsf_elfloader.c:263
vsf_elfloader_sym_type_t
Definition vsf_elfloader.h:84
@ VSF_ELFLOADER_SYM_NONE
Definition vsf_elfloader.h:85
@ VSF_ELFLOADER_SYM_OBJECT
Definition vsf_elfloader.h:86
@ VSF_ELFLOADER_SYM_FILE
Definition vsf_elfloader.h:89
@ VSF_ELFLOADER_SYM_FUNC
Definition vsf_elfloader.h:87
@ VSF_ELFLOADER_SYM_SECTION
Definition vsf_elfloader.h:88
int vsf_elfloader_call_init_array(vsf_elfloader_t *elfloader)
Definition vsf_elfloader.c:250
int vsf_elfloader_load(vsf_elfloader_t *elfloader, vsf_loader_target_t *target)
Definition vsf_elfloader.c:458
void vsf_elfloader_cleanup(vsf_elfloader_t *elfloader)
Definition vsf_elfloader.c:150
void * vsf_elfloader_get_symbol(vsf_elfloader_t *elfloader, const char *symbol_name, vsf_elfloader_sym_type_t symbol_type)
const struct vsf_loader_op_t vsf_elfloader_op
Definition vsf_elfloader.c:97
@ VSF_ELFLOADER_CB_GOON
Definition vsf_elfloader.h:94
@ VSF_ELFLOADER_CB_DONE
Definition vsf_elfloader.h:95
@ VSF_ELFLOADER_CB_FAIL
Definition vsf_elfloader.h:93