Lines Matching refs:elfFile

11  * Checks that elfFile points to a valid elf file. Returns 0 if the elf
16 elf_checkFile(void *elfFile)
18 return ISELF32 (elfFile)
19 ? elf32_checkFile(elfFile)
20 : elf64_checkFile(elfFile);
25 elf_getNumProgramHeaders(void *elfFile)
27 return ISELF32 (elfFile)
28 ? elf32_getNumProgramHeaders(elfFile)
29 : elf64_getNumProgramHeaders(elfFile);
33 elf_getProgramHeaderFlags(void *elfFile, uint16_t ph)
35 return ISELF32 (elfFile)
36 ? elf32_getProgramHeaderFlags(elfFile, ph)
37 : elf64_getProgramHeaderFlags(elfFile, ph);
41 elf_getProgramHeaderType(void *elfFile, uint16_t ph)
43 return ISELF32 (elfFile)
44 ? elf32_getProgramHeaderType(elfFile, ph)
45 : elf64_getProgramHeaderType(elfFile, ph);
49 elf_getProgramHeaderPaddr(void *elfFile, uint16_t ph)
51 return ISELF32 (elfFile)
52 ? elf32_getProgramHeaderPaddr(elfFile, ph)
53 : elf64_getProgramHeaderPaddr(elfFile, ph);
57 elf_getProgramHeaderVaddr(void *elfFile, uint16_t ph)
59 return ISELF32 (elfFile)
60 ? elf32_getProgramHeaderVaddr(elfFile, ph)
61 : elf64_getProgramHeaderVaddr(elfFile, ph);
65 elf_getProgramHeaderMemorySize(void *elfFile, uint16_t ph)
67 return ISELF32 (elfFile)
68 ? elf32_getProgramHeaderMemorySize(elfFile, ph)
69 : elf64_getProgramHeaderMemorySize(elfFile, ph);
73 elf_getProgramHeaderFileSize(void *elfFile, uint16_t ph)
75 return ISELF32 (elfFile)
76 ? elf32_getProgramHeaderFileSize(elfFile, ph)
77 : elf64_getProgramHeaderFileSize(elfFile, ph);
81 elf_getProgramHeaderOffset(void *elfFile, uint16_t ph)
83 return ISELF32 (elfFile)
84 ? elf32_getProgramHeaderOffset(elfFile, ph)
85 : elf64_getProgramHeaderOffset(elfFile, ph);
89 elf_getSegmentStringTable(void *elfFile)
91 return ISELF32 (elfFile)
92 ? elf32_getSegmentStringTable(elfFile)
93 : elf64_getSegmentStringTable(elfFile);
97 elf_getStringTable(void *elfFile, int string_segment)
99 return ISELF32 (elfFile)
100 ? elf32_getStringTable(elfFile)
101 : elf64_getStringTable(elfFile, string_segment);
105 elf_getNumSections(void *elfFile)
107 return ISELF32 (elfFile)
108 ? elf32_getNumSections(elfFile)
109 : elf64_getNumSections(elfFile);
113 elf_getSectionName(void *elfFile, int i)
115 return ISELF32 (elfFile)
116 ? elf32_getSectionName(elfFile, i)
117 : elf64_getSectionName(elfFile, i);
121 elf_getSectionFlags(void *elfFile, int i)
123 return ISELF32 (elfFile)
124 ? elf32_getSectionFlags(elfFile, i)
125 : elf64_getSectionFlags(elfFile, i);
129 elf_getSectionType(void *elfFile, int i)
131 return ISELF32 (elfFile)
132 ? elf32_getSectionType(elfFile, i)
133 : elf64_getSectionType(elfFile, i);
137 elf_getSectionSize(void *elfFile, int i)
139 return ISELF32 (elfFile)
140 ? elf32_getSectionSize(elfFile, i)
141 : elf64_getSectionSize(elfFile, i);
145 elf_getSectionAddr(void *elfFile, int i)
147 return ISELF32 (elfFile)
148 ? elf32_getSectionAddr(elfFile, i)
149 : elf64_getSectionAddr(elfFile, i);
153 elf_getSection(void *elfFile, int i)
155 return ISELF32 (elfFile)
156 ? elf32_getSection(elfFile, i)
157 : elf64_getSection(elfFile, i);
161 elf_getSectionNamed(void *elfFile, char *_str)
163 return ISELF32 (elfFile)
164 ? elf32_getSectionNamed(elfFile, _str)
165 : elf64_getSectionNamed(elfFile, _str);
169 elf_getProgramHeaderInfo(void *elfFile, uint16_t ph, uint64_t *p_vaddr,
173 *p_vaddr = elf_getProgramHeaderVaddr(elfFile, ph);
174 *p_paddr = elf_getProgramHeaderPaddr(elfFile, ph);
175 *p_filesz = elf_getProgramHeaderFileSize(elfFile, ph);
176 *p_offset = elf_getProgramHeaderOffset(elfFile, ph);
177 *p_memsz = elf_getProgramHeaderMemorySize(elfFile, ph);
181 elf_getEntryPoint(void *elfFile)
183 return ISELF32 (elfFile)
184 ? elf32_getEntryPoint (elfFile)
185 : elf64_getEntryPoint (elfFile);
189 elf_getMemoryBounds(void *elfFile, int phys, uint64_t *min, uint64_t *max)
195 if (elf_checkFile(elfFile) != 0) {
199 for (i = 0; i < elf_getNumProgramHeaders(elfFile); i++) {
202 if (elf_getProgramHeaderMemorySize(elfFile, i) == 0) {
207 sect_min = elf_getProgramHeaderPaddr(elfFile, i);
209 sect_min = elf_getProgramHeaderVaddr(elfFile, i);
212 sect_max = sect_min + elf_getProgramHeaderMemorySize(elfFile, i);
228 elf_vaddrInProgramHeader(void *elfFile, uint16_t ph, uint64_t vaddr)
230 uint64_t min = elf_getProgramHeaderVaddr(elfFile, ph);
231 uint64_t max = min + elf_getProgramHeaderMemorySize(elfFile, ph);
240 elf_vtopProgramHeader(void *elfFile, uint16_t ph, uint64_t vaddr)
242 uint64_t ph_phys = elf_getProgramHeaderPaddr(elfFile, ph);
243 uint64_t ph_virt = elf_getProgramHeaderVaddr(elfFile, ph);
252 elf_loadFile(void *elfFile, int phys)
256 if (elf_checkFile(elfFile) != 0) {
260 for (i = 0; i < elf_getNumProgramHeaders(elfFile); i++) {
265 dest = elf_getProgramHeaderPaddr(elfFile, i);
267 dest = elf_getProgramHeaderVaddr(elfFile, i);
269 len = elf_getProgramHeaderFileSize(elfFile, i);
270 src = (uint64_t) (uintptr_t) elfFile + elf_getProgramHeaderOffset(elfFile, i);
273 memset((void*) (uintptr_t) dest, 0, elf_getProgramHeaderMemorySize(elfFile, i) - len);