Adding usermode tree
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / 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 void     strcpy(char *dest, char *src);
34 extern int      strcmp(char *s1, char *s2);\r
35 extern int      strlen(char *str);\r
36 \r
37 // === System Calls ===\r
38 extern void     SysExit();\r
39 extern void     SysDebug(char *fmt, ...);       //!< Now implemented in main.c\r
40 extern void     SysDebugV(char *fmt, ...);\r
41 extern Uint     SysLoadBin(char *path, Uint *entry);\r
42 extern Uint     SysUnloadBin(Uint Base);\r
43
44 // === ELF Loader ===
45 extern int      ElfGetSymbol(Uint Base, char *name, Uint *ret);\r
46 \r
47 // === PE Loader ===\r
48 extern int      PE_GetSymbol(Uint Base, char *Name, Uint *ret);\r
49 \r
50 #endif\r

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