AcessNative - Work on the ELF Loader
[tpg/acess2.git] / AcessNative / ld-acess.so_src / common.h
index 276938f..4667acb 100644 (file)
@@ -3,15 +3,33 @@
 #ifndef _COMMON_H_
 #define _COMMON_H_
 
+#include <stdlib.h>
+#include <stdio.h>
 #include <stdint.h>
 
-extern int     Binary_GetSymbol(const char *SymbolName, intptr_t *Value);
-extern int     Binary_LoadLibrary(const char *Path);
+extern int     Binary_GetSymbol(const char *SymbolName, uintptr_t *Value);
+extern void    *Binary_LoadLibrary(const char *Path);
+extern void    *Binary_Load(const char *Path, uintptr_t *EntryPoint);
+extern void    Binary_SetReadyToUse(void *Base);
 
-extern int     AllocateMemory(intptr_t VirtAddr, size_t ByteCount);
+extern int     AllocateMemory(uintptr_t VirtAddr, size_t ByteCount);
+extern uintptr_t       FindFreeRange(size_t ByteCount, int MaxBits);
 
-extern int     Warning(const char *Format, ...);
-extern int     Notice(const char *Format, ...);
+extern void    Warning(const char *Format, ...);
+extern void    Notice(const char *Format, ...);
+
+typedef struct {
+       char    *Name;
+       void    *Value;
+}      tSym;
+
+typedef struct sBinFmt {
+       struct sBinFmt  *Next;
+       char    *Name;
+       void    *(*Load)(FILE *fp);
+       uintptr_t       (*Relocate)(void *base);
+        int    (*GetSymbol)(void*,char*,uintptr_t*);
+}      tBinFmt;
 
 #endif
 

UCC git Repository :: git.ucc.asn.au