10 #define NULL ((void*)0)
14 // HACK: Replace with underscored
15 #define SysDebug _SysDebug
18 #define MAX_LOADED_LIBRARIES 64
19 #define MAX_STRINGS_BYTES 4096
20 #define SYSTEM_LIB_DIR "/Acess/Libs/"
23 typedef unsigned int Uint;
24 typedef unsigned char Uint8;
25 typedef unsigned short Uint16;
26 typedef unsigned long Uint32;
27 typedef signed char Sint8;
28 typedef signed short Sint16;
29 typedef signed long Sint32;
37 extern tLoadedLib gLoadedLibraries[MAX_LOADED_LIBRARIES];
40 extern int DoRelocate( Uint base, char **envp, char *Filename );
42 // === Library/Symbol Manipulation ==
43 extern Uint LoadLibrary(char *filename, char *SearchDir, char **envp);
44 extern void AddLoaded(char *File, Uint base);
45 extern Uint GetSymbol(char *name);
46 extern int GetSymbolFromBase(Uint base, char *name, Uint *ret);
48 // === Library Functions ===
49 extern char *strcpy(char *dest, const char *src);
50 extern char *strcat(char *dest, const char *src);
51 extern int strcmp(const char *s1, const char *s2);
52 extern int strlen(const char *str);
53 extern int file_exists(char *filename);
55 // === System Calls ===
56 extern void _exit(int retval);
57 extern void SysDebug(const char *fmt, ...); //!< Now implemented in main.c
58 extern void SysDebugV(const char *fmt, ...);
59 extern Uint SysLoadBin(const char *path, Uint *entry);
60 extern Uint SysUnloadBin(Uint Base);
61 extern void SysSetFaultHandler(int (*Hanlder)(int));
62 extern int open(const char *filename, int flags);
63 extern void close(int fd);
66 extern int ElfGetSymbol(Uint Base, char *name, Uint *ret);
69 extern int PE_GetSymbol(Uint Base, char *Name, Uint *ret);