Lots of work on the AcessNative kernel
[tpg/acess2.git] / AcessNative / ld-acess_src / common.h
1 /*
2  */
3 #ifndef _COMMON_H_
4 #define _COMMON_H_
5
6 #include <stdlib.h>
7 #include <stdio.h>
8 #include <stdint.h>
9
10 extern int      Binary_GetSymbol(const char *SymbolName, uintptr_t *Value);
11 extern void     *Binary_LoadLibrary(const char *Path);
12 extern void     *Binary_Load(const char *Path, uintptr_t *EntryPoint);
13 extern void     Binary_SetReadyToUse(void *Base);
14
15 extern int      AllocateMemory(uintptr_t VirtAddr, size_t ByteCount);
16 extern uintptr_t        FindFreeRange(size_t ByteCount, int MaxBits);
17
18 extern void     Warning(const char *Format, ...);
19 extern void     Notice(const char *Format, ...);
20
21 typedef struct {
22         char    *Name;
23         void    *Value;
24 }       tSym;
25
26 typedef struct sBinFmt {
27         struct sBinFmt  *Next;
28         char    *Name;
29         void    *(*Load)(FILE *fp);
30         uintptr_t       (*Relocate)(void *base);
31          int    (*GetSymbol)(void*,char*,uintptr_t*);
32 }       tBinFmt;
33
34 #endif
35

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