diff --git a/headers/private/kernel/team.h b/headers/private/kernel/team.h index 0ff074905d..ddee7605f8 100644 --- a/headers/private/kernel/team.h +++ b/headers/private/kernel/team.h @@ -33,7 +33,8 @@ int32 team_max_teams(void); int32 team_used_teams(void); // used in syscalls.c -thread_id _user_load_image(int32 argCount, const char **args, int32 envCount, const char **envp, int32 priority); +thread_id _user_load_image(int32 argCount, const char **args, int32 envCount, + const char **envp, int32 priority, uint32 flags); status_t _user_wait_for_team(team_id id, status_t *_returnCode); void _user_exit_team(status_t returnValue); status_t _user_kill_team(thread_id thread); diff --git a/headers/private/kernel/thread_types.h b/headers/private/kernel/thread_types.h index 7ad26be2a3..95ca23d526 100644 --- a/headers/private/kernel/thread_types.h +++ b/headers/private/kernel/thread_types.h @@ -72,6 +72,12 @@ struct process_group { struct team *teams; }; +struct team_loading_info { + struct thread *thread; // the waiting thread + status_t result; // the result of the loading + bool done; // set when loading is done/aborted +}; + #define MAX_DEAD_CHILDREN 32 // this is a soft limit for the number of dead entries in a team @@ -103,6 +109,7 @@ struct team { struct vm_address_space *kaspace; struct thread *main_thread; struct thread *thread_list; + struct team_loading_info *loading_info; struct list image_list; struct arch_team arch_info;