summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2002-09-04 02:48:29 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2002-09-04 02:48:29 +0000
commit45ebe900b7bd10783cd0a0b9320b9b4db722ad3d (patch)
treee07b7f66b367242a34119cd95fd89457257caca0
parent55f46cc3874659f126a1151a51781b142eeac88a (diff)
Add syscalls: modify_ldt _sysctl setresuid getresuid setresgid getresgid
-rw-r--r--libc/sysdeps/linux/common/syscalls.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index 54eb744ba..0229880a6 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -1066,6 +1066,11 @@ _syscall1(int, uname, struct utsname *, buf);
#endif
//#define __NR_modify_ldt 123
+#ifdef __NR_modify_ldt
+#ifdef L_modify_ldt
+_syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount);
+#endif
+#endif
//#define __NR_adjtimex 124
#ifdef L_adjtimex
@@ -1235,6 +1240,27 @@ _syscall1(int, fdatasync, int, fd);
#endif
//#define __NR__sysctl 149
+#ifdef __NR__sysctl
+#ifdef L__sysctl
+#include <linux/sysctl.h>
+_syscall1(int, _sysctl, struct __sysctl_args *, args);
+int sysctl(int *name, int nlen, void *oldval, size_t *oldlenp,
+ void *newval, size_t newlen)
+{
+ struct __sysctl_args args =
+ {
+ name: name,
+ nlen: nlen,
+ oldval: oldval,
+ oldlenp: oldlenp,
+ newval: newval,
+ newlen: newlen
+ };
+
+ return _sysctl(&args);
+}
+#endif
+#endif
//#define __NR_mlock 150
#ifdef L_mlock
@@ -1348,7 +1374,19 @@ _syscall4(__ptr_t, mremap, __ptr_t, old_address, size_t, old_size, size_t, new_s
#endif
//#define __NR_setresuid 164
+#ifdef __NR_setresuid
+#ifdef L_setresuid
+_syscall3(int, setresuid, uid_t, ruid, uid_t, euid, uid_t, suid);
+#endif
+#endif
+
//#define __NR_getresuid 165
+#ifdef __NR_getresuid
+#ifdef L_getresuid
+_syscall3(int, getresuid, uid_t *, euid, uid_t *, ruid, uid_t *, suid);
+#endif
+#endif
+
//#define __NR_vm86 166
//#define __NR_query_module 167
@@ -1376,7 +1414,19 @@ _syscall3(int, poll, struct pollfd *, fds, unsigned long int, nfds, int, timeout
//nfsservctl EXTRA nfsservctl i:ipp nfsservctl
//#define __NR_setresgid 170
+#ifdef __NR_setresgid
+#ifdef L_setresgid
+_syscall3(int, setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid);
+#endif
+#endif
+
//#define __NR_getresgid 171
+#ifdef __NR_getresgid
+#ifdef L_getresgid
+_syscall3(int, getresgid, gid_t *, egid, gid_t *, rgid, gid_t *, sgid);
+#endif
+#endif
+
//#define __NR_prctl 172
//#define __NR_rt_sigreturn 173