bc2efbdcbbc3e7bcc7e15acd057278322ea38757
[tpg/acess2.git] / common.h
1 /*\r
2  AcessOS v1\r
3  By thePowersGang\r
4  ld-acess.so\r
5  COMMON.H\r
6 */\r
7 #ifndef _COMMON_H\r
8 #define _COMMON_H\r
9 \r
10 #define NULL    ((void*)0)\r
11 \r
12 #include <stdarg.h>\r
13 \r
14 // === Types ===\r
15 typedef unsigned int    Uint;\r
16 typedef unsigned char   Uint8;\r
17 typedef unsigned short  Uint16;\r
18 typedef unsigned long   Uint32;\r
19 typedef signed char             Sint8;\r
20 typedef signed short    Sint16;\r
21 typedef signed long             Sint32;\r
22
23 // === Main ===
24 extern int      DoRelocate( Uint base, char **envp, char *Filename );
25 \r
26 // === Library/Symbol Manipulation ==\r
27 extern Uint     LoadLibrary(char *filename, char *SearchDir, char **envp);
28 extern void     AddLoaded(char *File, Uint base);
29 extern Uint     GetSymbol(char *name);\r
30 extern int      GetSymbolFromBase(Uint base, char *name, Uint *ret);\r
31 \r
32 // === Library Functions ===\r
33 extern char     *strcpy(char *dest, const char *src);\r
34 extern char     *strcat(char *dest, const char *src);
35 extern int      strcmp(const char *s1, const char *s2);\r
36 extern int      strlen(const char *str);\r
37 extern int      file_exists(char *filename);\r
38 \r
39 // === System Calls ===\r
40 extern void     SysExit();\r
41 extern void     SysDebug(char *fmt, ...);       //!< Now implemented in main.c\r
42 extern void     SysDebugV(char *fmt, ...);\r
43 extern Uint     SysLoadBin(char *path, Uint *entry);\r
44 extern Uint     SysUnloadBin(Uint Base);\r
45 extern int      open(char *filename, int flags);\r
46 extern void     close(int fd);\r
47
48 // === ELF Loader ===
49 extern int      ElfGetSymbol(Uint Base, char *name, Uint *ret);\r
50 \r
51 // === PE Loader ===\r
52 extern int      PE_GetSymbol(Uint Base, char *Name, Uint *ret);\r
53 \r
54 #endif\r

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