#ifndef _COMMON_H
#define _COMMON_H
-#define NULL ((void*)0)
-
+#include <stddef.h>
#include <stdarg.h>
// HACK: Replace with underscored
typedef signed long Sint32;
typedef struct {
- Uint Base;
+ void *Base;
char *Name;
} tLoadedLib;
extern tLoadedLib gLoadedLibraries[MAX_LOADED_LIBRARIES];
// === Main ===
-extern int DoRelocate( Uint base, char **envp, char *Filename );
+extern void *DoRelocate(void *Base, char **envp, const char *Filename);
// === Library/Symbol Manipulation ==
-extern Uint LoadLibrary(char *filename, char *SearchDir, char **envp);
-extern void AddLoaded(char *File, Uint base);
-extern Uint GetSymbol(char *name);
-extern int GetSymbolFromBase(Uint base, char *name, Uint *ret);
+extern void *LoadLibrary(const char *Filename, const char *SearchDir, char **envp);
+extern void AddLoaded(const char *File, void *base);
+extern void *GetSymbol(const char *name);
+extern int GetSymbolFromBase(void *base, const char *name, void **ret);
// === Library Functions ===
extern char *strcpy(char *dest, const char *src);
extern char *strcat(char *dest, const char *src);
extern int strcmp(const char *s1, const char *s2);
extern int strlen(const char *str);
-extern int file_exists(char *filename);
+extern int file_exists(const char *filename);
// === System Calls ===
extern void _exit(int retval);
extern void SysDebug(const char *fmt, ...); //!< Now implemented in main.c
extern void SysDebugV(const char *fmt, ...);
-extern Uint SysLoadBin(const char *path, Uint *entry);
-extern Uint SysUnloadBin(Uint Base);
+extern void *SysLoadBin(const char *path, void **entry);
+extern int SysUnloadBin(void *Base);
extern void SysSetFaultHandler(int (*Hanlder)(int));
extern int open(const char *filename, int flags);
-extern void close(int fd);
+extern int close(int fd);
// === ELF Loader ===
-extern int ElfGetSymbol(Uint Base, char *name, Uint *ret);
+extern int ElfGetSymbol(void *Base, const char *name, void **ret);
// === PE Loader ===
-extern int PE_GetSymbol(Uint Base, char *Name, Uint *ret);
+extern int PE_GetSymbol(void *Base, const char *Name, void **ret);
#endif