20#ifndef KERNEL_EXECFMT_H
21#define KERNEL_EXECFMT_H
24#include <kernel/types.h>
48 void (*entrypoint)(
void*);
60 const char *exec_path;
error_t execfmt_execute(const struct exec_params *)
Execute a given executable file's content.
Definition: execfmt.c:137
error_t execfmt_register(struct execfmt *)
Register a new executable file format.
Definition: execfmt.c:21
Executable parameters.
Definition: execfmt.h:59
const char * argv
Definition: execfmt.h:62
const char * envp
Definition: execfmt.h:64
size_t argv_size
Definition: execfmt.h:63
size_t envp_size
Definition: execfmt.h:65
An executable file format.
Definition: execfmt.h:32
error_t(* load)(struct executable *, void *)
Load an executable file in memory.
Definition: execfmt.h:37
const char * name
Format's name.
Definition: execfmt.h:34
bool(* match)(const void *)
Check whether an executable file is of the given format.
Definition: execfmt.h:35
Represents a loaded executable.
Definition: execfmt.h:47
Opened file description.
Definition: file.h:29
Intrusive doubly-linked list node.
Definition: linked_list.h:27