summaryrefslogtreecommitdiffstats
path: root/newlib/libc/sys/linux/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/linux/process.c')
-rw-r--r--newlib/libc/sys/linux/process.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/newlib/libc/sys/linux/process.c b/newlib/libc/sys/linux/process.c
new file mode 100644
index 000000000..58a36176f
--- /dev/null
+++ b/newlib/libc/sys/linux/process.c
@@ -0,0 +1,26 @@
+/* libc/sys/linux/process.c - Process-related system calls */
+
+/* Written 2000 by Werner Almesberger */
+
+
+#include <sys/unistd.h>
+#include <sys/syscall.h>
+
+
+#define __NR__exit __NR_exit
+#define __NR__execve __NR_execve
+
+_syscall0(int,fork)
+_syscall0(pid_t,vfork)
+_syscall3(int,_execve,const char *,file,char * const *,argv,char * const *,envp)
+_syscall0(int,getpid)
+_syscall2(int,setpgid,pid_t,pid,pid_t,pgid)
+_syscall0(pid_t,getppid)
+_syscall0(pid_t,getpgrp)
+_syscall0(pid_t,setsid)
+
+/* FIXME: get rid of noreturn warning */
+
+#define return for (;;)
+_syscall1(void,_exit,int,exitcode)
+#undef return