about summary refs log tree commit diff stats
path: root/src/include/wrappedlibs.h
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-03 16:43:42 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-03 16:43:42 +0100
commitf4829a8ce42b1abbcc8621802d6c6fad3a56cd5d (patch)
tree211276c3587721126ded00be46487bf23b605591 /src/include/wrappedlibs.h
parentf73fbd3cee38b4c0086c934d73972375c9c8c7d6 (diff)
downloadbox64-f4829a8ce42b1abbcc8621802d6c6fad3a56cd5d.tar.gz
box64-f4829a8ce42b1abbcc8621802d6c6fad3a56cd5d.zip
More infrastructure added to elf and x64 emu
Diffstat (limited to 'src/include/wrappedlibs.h')
-rwxr-xr-xsrc/include/wrappedlibs.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/include/wrappedlibs.h b/src/include/wrappedlibs.h
new file mode 100755
index 00000000..d8cf3a64
--- /dev/null
+++ b/src/include/wrappedlibs.h
@@ -0,0 +1,21 @@
+#ifndef __WRAPPEDLIBS_H__
+#define __WRAPPEDLIBS_H__
+#include <stdint.h>
+
+typedef struct library_s library_t;
+typedef struct box64context_s  box64context_t;
+
+typedef int (*wrappedlib_init_t)(library_t * lib, box64context_t* box64);  // 0 = success
+typedef void (*wrappedlib_fini_t)(library_t * lib);
+typedef int (*wrappedlib_get_t)(library_t* lib, const char* name, uintptr_t *offs, uintptr_t *sz);
+
+typedef struct wrappedlib_s {
+    const char*         name;
+    wrappedlib_init_t   init;
+    wrappedlib_fini_t   fini;
+    wrappedlib_get_t    get;
+    wrappedlib_get_t    getnoweak;
+    wrappedlib_get_t    getlocal;
+} wrappedlib_t;
+
+#endif //__WRAPPEDLIBS_H__
\ No newline at end of file