#include <stdarg.h>
#include <stdint.h>
#include <acess/sys.h>
+#include <assert.h>
typedef uintptr_t Uint;
typedef uint8_t Uint8;
typedef uint16_t Uint16;
typedef uint32_t Uint32;
+#define ASSERT(cnd) do { if( !(cnd) ) { _SysDebug("ASSERT: "#cnd" failed"); *(volatile int*)1 = 123; } } while(0)
+
// HACK: Replace with underscored
#define SysDebug _SysDebug
char *Name;
} tLoadedLib;
+typedef struct {
+ void *Value;
+ const char *Name;
+} tLocalExport;
+
// === GLOBALS ===
extern tLoadedLib gLoadedLibraries[MAX_LOADED_LIBRARIES];
// === Library/Symbol Manipulation ==
extern void *LoadLibrary(const char *Filename, const char *SearchDir, char **envp);
extern void AddLoaded(const char *File, void *base);
-extern int GetSymbol(const char *Name, void **Value, size_t *size);
+extern int GetSymbol(const char *Name, void **Value, size_t *size, void *IgnoreBase);
extern int GetSymbolFromBase(void *base, const char *name, void **ret, size_t *size);
// === Library Functions ===