10 #define NULL ((void*)0)
\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
24 extern int DoRelocate( Uint base, char **envp, char *Filename );
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
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
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
49 extern int ElfGetSymbol(Uint Base, char *name, Uint *ret);
\r
51 // === PE Loader ===
\r
52 extern int PE_GetSymbol(Uint Base, char *Name, Uint *ret);
\r