aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/api/binfmt.h
blob: 50632761e2667f0f100d30031860dfbc57f27587 (plain)
1
2
3
4
5
6
7
8
9
10
11
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);