AcessNative - Debugging and implementing, getting there now
[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 extern void     Debug(const char *Format, ...);
21
22 #define ACESS_SEEK_CUR  0
23 #define ACESS_SEEK_SET  1
24 #define ACESS_SEEK_END  -1
25
26 extern int      acess_open(const char *Path, int Flags);
27 extern void     acess_close(int FD);
28 extern size_t   acess_read(int FD, size_t Bytes, void *Dest);
29 extern int      acess_seek(int FD, int64_t Offset, int Dir);
30
31 typedef struct {
32         char    *Name;
33         void    *Value;
34 }       tSym;
35
36 typedef struct sBinFmt {
37         struct sBinFmt  *Next;
38         char    *Name;
39         void    *(*Load)(int fd);
40         uintptr_t       (*Relocate)(void *base);
41          int    (*GetSymbol)(void*,char*,uintptr_t*);
42 }       tBinFmt;
43
44 #endif
45

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