summaryrefslogtreecommitdiff
path: root/src/user/lib/include/elfload.h
diff options
context:
space:
mode:
authordzwdz2023-02-23 20:07:59 +0100
committerdzwdz2023-02-23 20:07:59 +0100
commitfca80df9e638a7d68147d91cbffda95aed96ab5c (patch)
tree7f64c1bd425303e3a09baaf9975cfb476ddd527f /src/user/lib/include/elfload.h
parent71ad3a8e7ace69f1c8dd732f5a223b93d8b5e946 (diff)
build: don't -Isrc/ in user code
Diffstat (limited to 'src/user/lib/include/elfload.h')
-rw-r--r--src/user/lib/include/elfload.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/user/lib/include/elfload.h b/src/user/lib/include/elfload.h
new file mode 100644
index 0000000..825f765
--- /dev/null
+++ b/src/user/lib/include/elfload.h
@@ -0,0 +1,14 @@
+#pragma once
+#include <bits/file.h>
+
+struct execdata {
+ int argc;
+ char **argv, **envp;
+ char *cwd;
+};
+
+void elf_execf(FILE *f, char **argv, char **envp);
+void elf_exec(void *base, char **argv, char **envp);
+void *elf_partialexec(void *elf); /* returns pointer to entry point */
+
+void elf_selfreloc(void); // elfreloc.c