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 void *DoRelocate(void *Base, char **envp, char *Filename);
42 // === Library/Symbol Manipulation ==
43 extern void *LoadLibrary(char *filename, char *SearchDir, char **envp);
44 extern void AddLoaded(char *File, void *base);
45 extern void *GetSymbol(char *name);
46 extern int GetSymbolFromBase(void *base, char *name, void **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 void *SysLoadBin(const char *path, void **entry);
60 extern int SysUnloadBin(void *Base);
61 extern void SysSetFaultHandler(int (*Hanlder)(int));
62 extern int open(const char *filename, int flags);
63 extern int close(int fd);
66 extern int ElfGetSymbol(void *Base, char *name, void **ret);
69 extern int PE_GetSymbol(void *Base, char *Name, void **ret);