aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/api/binfmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/api/binfmt.h')
-rw-r--r--kernel/include/api/binfmt.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/include/api/binfmt.h b/kernel/include/api/binfmt.h
new file mode 100644
index 0000000..5063276
--- /dev/null
+++ b/kernel/include/api/binfmt.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "fs/vnode.h"
+
+typedef long (*binfmt_load_func_t)(const char *filename, int fd,
+ char *const *argv, char *const *envp,
+ uint64_t *rip, uint64_t *rsp);
+
+long binfmt_add(const char *id, binfmt_load_func_t loadfunc);
+
+long binfmt_load(const char *filename, char *const *argv, char *const *envp,
+ uint64_t *rip, uint64_t *rsp);