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