14 typedef uintptr_t Uint;
15 typedef uint8_t Uint8;
16 typedef uint16_t Uint16;
17 typedef uint32_t Uint32;
19 // HACK: Replace with underscored
20 #define SysDebug _SysDebug
23 #define MAX_LOADED_LIBRARIES 64
24 #define MAX_STRINGS_BYTES 4096
25 #define SYSTEM_LIB_DIR "/Acess/Libs/"
34 extern tLoadedLib gLoadedLibraries[MAX_LOADED_LIBRARIES];
37 extern void *DoRelocate(void *Base, char **envp, const char *Filename);
39 // === Library/Symbol Manipulation ==
40 extern void *LoadLibrary(const char *Filename, const char *SearchDir, char **envp);
41 extern void AddLoaded(const char *File, void *base);
42 extern void *GetSymbol(const char *name);
43 extern int GetSymbolFromBase(void *base, const char *name, void **ret);
45 // === Library Functions ===
46 extern char *strcpy(char *dest, const char *src);
47 extern char *strcat(char *dest, const char *src);
48 extern int strcmp(const char *s1, const char *s2);
49 extern int strlen(const char *str);
50 extern int file_exists(const char *filename);
52 // === System Calls ===
53 extern void _exit(int retval);
54 extern void SysDebug(const char *fmt, ...); //!< Now implemented in main.c
55 extern void SysDebugV(const char *fmt, ...);
56 extern void *SysLoadBin(const char *path, void **entry);
57 extern int SysUnloadBin(void *Base);
58 extern void SysSetFaultHandler(int (*Hanlder)(int));
59 extern int open(const char *filename, int flags);
60 extern int close(int fd);
63 extern int ElfGetSymbol(void *Base, const char *name, void **ret);
66 extern int PE_GetSymbol(void *Base, const char *Name, void **ret);