1 #ifndef __LUNAIX_EXEC_H
2 #define __LUNAIX_EXEC_H
5 #include <lunaix/process.h>
6 #include <lunaix/types.h>
8 #define MAX_PARAM_LEN 1024
9 #define MAX_PARAM_SIZE 4096
11 #define MAX_VAR_PAGES 8
12 #define DEFAULT_HEAP_PAGES 16
16 struct exec_host* container;
36 struct proc_info* proc;
39 struct load_context exe;
40 struct v_inode* inode;
42 struct exec_arrptr argv;
43 struct exec_arrptr envp;
59 exec_arch_prepare_entry(struct thread* thread, struct exec_host* container);
62 exec_load_byname(struct exec_host* container, const char* filename);
65 exec_load(struct exec_host* container, struct v_file* executable);
68 exec_kexecve(const char* filename, const char* argv[], const char* envp[]);
71 exec_init_container(struct exec_host* param,
72 struct thread* thread,
77 #endif /* __LUNAIX_LOADER_H */