Adding usermode tree
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / common.h
diff --git a/Usermode/Libraries/ld-acess.so_src/common.h b/Usermode/Libraries/ld-acess.so_src/common.h
new file mode 100644 (file)
index 0000000..22066f9
--- /dev/null
@@ -0,0 +1,50 @@
+/*\r
+ AcessOS v1\r
+ By thePowersGang\r
+ ld-acess.so\r
+ COMMON.H\r
+*/\r
+#ifndef _COMMON_H\r
+#define _COMMON_H\r
+\r
+#define        NULL    ((void*)0)\r
+\r
+#include <stdarg.h>\r
+\r
+// === Types ===\r
+typedef unsigned int   Uint;\r
+typedef unsigned char  Uint8;\r
+typedef unsigned short Uint16;\r
+typedef unsigned long  Uint32;\r
+typedef signed char            Sint8;\r
+typedef signed short   Sint16;\r
+typedef signed long            Sint32;\r
+
+// === Main ===
+extern int     DoRelocate( Uint base, char **envp, char *Filename );
+\r
+// === Library/Symbol Manipulation ==\r
+extern Uint    LoadLibrary(char *filename, char *SearchDir, char **envp);
+extern void    AddLoaded(char *File, Uint base);
+extern Uint    GetSymbol(char *name);\r
+extern int     GetSymbolFromBase(Uint base, char *name, Uint *ret);\r
+\r
+// === Library Functions ===\r
+extern void    strcpy(char *dest, char *src);
+extern int     strcmp(char *s1, char *s2);\r
+extern int     strlen(char *str);\r
+\r
+// === System Calls ===\r
+extern void    SysExit();\r
+extern void    SysDebug(char *fmt, ...);       //!< Now implemented in main.c\r
+extern void    SysDebugV(char *fmt, ...);\r
+extern Uint    SysLoadBin(char *path, Uint *entry);\r
+extern Uint    SysUnloadBin(Uint Base);\r
+
+// === ELF Loader ===
+extern int     ElfGetSymbol(Uint Base, char *name, Uint *ret);\r
+\r
+// === PE Loader ===\r
+extern int     PE_GetSymbol(Uint Base, char *Name, Uint *ret);\r
+\r
+#endif\r

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