From 367fa74ad9bc9524367d10bfd1a6fa87b7002426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 15 Sep 2004 15:42:02 +0000 Subject: [PATCH] Added needed syscalls for fork(), exec(), and waitpid(). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8971 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/syscalls.h | 8 +++++++- headers/private/kernel/team.h | 7 +++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/headers/private/kernel/syscalls.h b/headers/private/kernel/syscalls.h index 604e1f054e..c30eb184dd 100644 --- a/headers/private/kernel/syscalls.h +++ b/headers/private/kernel/syscalls.h @@ -57,10 +57,16 @@ int sys_set_sem_owner(sem_id id, team_id proc); /* team & thread syscalls */ extern void _kern_exit(int returnCode); -extern team_id _kern_create_team(const char *path, const char *name, char **args, int argc, char **envp, int envc, int priority); +extern team_id _kern_create_team(const char *path, const char *name, char **args, int argc, + char **envp, int envc, int priority); extern status_t _kern_kill_team(team_id team); extern team_id _kern_get_current_team(); extern status_t _kern_wait_for_team(team_id team, status_t *_returnCode); +extern thread_id _kern_wait_for_child(thread_id child, uint32 flags, + int32 *_reason, status_t *_returnCode); +extern status_t _kern_exec(const char *path, int32 argc, char * const *argv, int32 envCount, + char * const *environment); +extern thread_id _kern_fork(void); extern thread_id _kern_spawn_thread(int32 (*func)(thread_func, void *), const char *name, int32 priority, void *data1, void *data2); diff --git a/headers/private/kernel/team.h b/headers/private/kernel/team.h index 7b1006aefd..27324741e8 100644 --- a/headers/private/kernel/team.h +++ b/headers/private/kernel/team.h @@ -1,6 +1,6 @@ /* -** Copyright 2004, The OpenBeOS Team. All rights reserved. -** Distributed under the terms of the OpenBeOS License. +** Copyright 2004, The Haiku Team. All rights reserved. +** Distributed under the terms of the Haiku License. */ #ifndef _TEAM_H #define _TEAM_H @@ -32,6 +32,9 @@ struct team *team_get_team_struct_locked(team_id id); team_id _user_create_team(const char *path, const char *name, char **args, int argc, char **envp, int envc, int priority); status_t _user_wait_for_team(team_id id, status_t *_returnCode); status_t _user_kill_team(thread_id thread); +thread_id _user_wait_for_child(thread_id child, uint32 flags, int32 *_reason, status_t *_returnCode); +status_t _user_exec(const char *path, int32 argc, char * const *argv, int32 envCount, char * const *environment); +thread_id _user_fork(void); team_id _user_get_current_team(void); status_t _user_get_team_info(team_id id, team_info *info);