TEMU  3.0
The Terma Emulator
Loader.h
Go to the documentation of this file.
1 //===-- temu-c/Loader.h - Binary image loading ------------------*- C++ -*-===//
2 //
3 // TEMU: The Terma Emulator
4 // (c) Terma 2015
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
9 #include <stdint.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
29 TEMU_API int temu_loadImage(void *mem, const char *file);
30 
53 TEMU_API int temu_loadImageAndStartAddr(void *Mem, const char *FileName,
54  uint64_t *StartAddr TEMU_NONNULL);
55 
68 TEMU_API int temu_loadBinaryImage(void *mem, const char *file, uint64_t pa);
69 
70 typedef void temu_Symtab;
71 
80 TEMU_API int temu_loadElfImage(void *mem, const char *file, uint64_t pa);
81 
93 TEMU_API int temu_loadElfImageAndStartAddr(void *Mem, const char *FileName,
94  uint64_t *StartAddr TEMU_NONNULL);
101 TEMU_API int temu_imageIsELF(const char *file);
102 
109 TEMU_API int temu_elfHasDwarf(const char *file);
110 
122 TEMU_API int temu_loadSymtab(const char *FileName,
123  temu_Symtab **Sym TEMU_NONNULL);
124 
153  const char **LocalFile TEMU_NONNULL,
154  const char **Symbol TEMU_NONNULL,
155  uint64_t Addr);
156 
186  const char **LocalFile TEMU_NONNULL,
187  const char **Symbol TEMU_NONNULL,
188  uint64_t Addr);
189 
203  const char *FuncName TEMU_NONNULL,
204  uint64_t *Addr TEMU_NONNULL,
205  uint64_t *Size);
206 
223  const char *FileName TEMU_NONNULL,
224  const char *FuncName TEMU_NONNULL,
225  uint64_t *Addr TEMU_NONNULL,
226  uint64_t *Size TEMU_NONNULL);
227 
242  const char *ObjectName TEMU_NONNULL,
243  uint64_t *Addr TEMU_NONNULL,
244  uint64_t *Size TEMU_NONNULL);
245 
261  const char *FileName TEMU_NONNULL,
262  const char *ObjectName TEMU_NONNULL,
263  uint64_t *Addr TEMU_NONNULL,
264  uint64_t *Size TEMU_NONNULL);
265 
271 
280 TEMU_API int temu_loadSrecImage(void *mem, const char *file, uint64_t pa);
281 
291 TEMU_API int temu_loadSrecImageAndStartAddr(void *mem, const char *fileName,
292  uint32_t *startAddr TEMU_NONNULL);
293 #ifdef __cplusplus
294 }
295 #endif
TEMU_API int temu_loadImageAndStartAddr(void *Mem, const char *FileName, uint64_t *StartAddr TEMU_NONNULL)
TEMU_API int temu_elfHasDwarf(const char *file)
#define TEMU_NONNULL
Definition: Attributes.h:48
TEMU_API int temu_loadElfImageAndStartAddr(void *Mem, const char *FileName, uint64_t *StartAddr TEMU_NONNULL)
void temu_Symtab
Definition: Loader.h:70
TEMU_API int temu_symtabGetGlobalFuncRange(temu_Symtab *Sym TEMU_NONNULL, const char *FuncName TEMU_NONNULL, uint64_t *Addr TEMU_NONNULL, uint64_t *Size)
TEMU_API int temu_loadSrecImage(void *mem, const char *file, uint64_t pa)
TEMU_API void temu_symtabGetObjName(temu_Symtab *Sym TEMU_NONNULL, const char **LocalFile TEMU_NONNULL, const char **Symbol TEMU_NONNULL, uint64_t Addr)
TEMU_API int temu_symtabGetGlobalObjRange(temu_Symtab *Sym TEMU_NONNULL, const char *ObjectName TEMU_NONNULL, uint64_t *Addr TEMU_NONNULL, uint64_t *Size TEMU_NONNULL)
#define TEMU_API
Definition: Attributes.h:53
TEMU_API void temu_disposeSymtab(temu_Symtab *Sym)
TEMU_API int temu_imageIsELF(const char *file)
TEMU_API int temu_loadSrecImageAndStartAddr(void *mem, const char *fileName, uint32_t *startAddr TEMU_NONNULL)
TEMU_API int temu_loadSymtab(const char *FileName, temu_Symtab **Sym TEMU_NONNULL)
TEMU_API int temu_loadBinaryImage(void *mem, const char *file, uint64_t pa)
TEMU_API int temu_symtabGetLocalObjRange(temu_Symtab *Sym TEMU_NONNULL, const char *FileName TEMU_NONNULL, const char *ObjectName TEMU_NONNULL, uint64_t *Addr TEMU_NONNULL, uint64_t *Size TEMU_NONNULL)
TEMU_API int temu_loadElfImage(void *mem, const char *file, uint64_t pa)
TEMU_API int temu_symtabGetLocalFuncRange(temu_Symtab *Sym TEMU_NONNULL, const char *FileName TEMU_NONNULL, const char *FuncName TEMU_NONNULL, uint64_t *Addr TEMU_NONNULL, uint64_t *Size TEMU_NONNULL)
TEMU_API void temu_symtabGetFuncName(temu_Symtab *Sym TEMU_NONNULL, const char **LocalFile TEMU_NONNULL, const char **Symbol TEMU_NONNULL, uint64_t Addr)
TEMU_API int temu_loadImage(void *mem, const char *file)