Module Name:    src
Committed By:   pooka
Date:           Mon Aug 30 10:34:52 UTC 2010

Modified Files:
        src/sys/kern: init_sysent.c syscalls.c
        src/sys/rump/include/rump: rump_syscalls.h
        src/sys/rump/librump/rumpkern: rump_syscalls.c
        src/sys/sys: syscall.h syscallargs.h

Log Message:
regen: rump syscalls for kern_prot interfaces


To generate a diff of this commit:
cvs rdiff -u -r1.246 -r1.247 src/sys/kern/init_sysent.c
cvs rdiff -u -r1.237 -r1.238 src/sys/kern/syscalls.c
cvs rdiff -u -r1.28 -r1.29 src/sys/rump/include/rump/rump_syscalls.h
cvs rdiff -u -r1.48 -r1.49 src/sys/rump/librump/rumpkern/rump_syscalls.c
cvs rdiff -u -r1.233 -r1.234 src/sys/sys/syscall.h
cvs rdiff -u -r1.215 -r1.216 src/sys/sys/syscallargs.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/init_sysent.c
diff -u src/sys/kern/init_sysent.c:1.246 src/sys/kern/init_sysent.c:1.247
--- src/sys/kern/init_sysent.c:1.246	Mon Aug 30 10:24:42 2010
+++ src/sys/kern/init_sysent.c	Mon Aug 30 10:34:51 2010
@@ -1,14 +1,14 @@
-/* $NetBSD: init_sysent.c,v 1.246 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: init_sysent.c,v 1.247 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.246 2010/08/30 10:24:42 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.247 2010/08/30 10:34:51 pooka Exp $");
 
 #include "opt_modular.h"
 #include "opt_ntp.h"

Index: src/sys/kern/syscalls.c
diff -u src/sys/kern/syscalls.c:1.237 src/sys/kern/syscalls.c:1.238
--- src/sys/kern/syscalls.c:1.237	Mon Aug 30 10:24:42 2010
+++ src/sys/kern/syscalls.c	Mon Aug 30 10:34:51 2010
@@ -1,14 +1,14 @@
-/* $NetBSD: syscalls.c,v 1.237 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: syscalls.c,v 1.238 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.237 2010/08/30 10:24:42 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.238 2010/08/30 10:34:51 pooka Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_modular.h"

Index: src/sys/rump/include/rump/rump_syscalls.h
diff -u src/sys/rump/include/rump/rump_syscalls.h:1.28 src/sys/rump/include/rump/rump_syscalls.h:1.29
--- src/sys/rump/include/rump/rump_syscalls.h:1.28	Mon Aug 30 10:24:42 2010
+++ src/sys/rump/include/rump/rump_syscalls.h	Mon Aug 30 10:34:51 2010
@@ -1,10 +1,10 @@
-/* $NetBSD: rump_syscalls.h,v 1.28 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: rump_syscalls.h,v 1.29 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call protos in rump namespace.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #ifndef _RUMP_RUMP_SYSCALLS_H_
@@ -29,7 +29,11 @@
 int rump_sys_fchdir(int);
 int rump_sys_chmod(const char *, mode_t);
 int rump_sys_chown(const char *, uid_t, gid_t);
+pid_t rump_sys_getpid(void);
 int rump_sys_unmount(const char *, int);
+int rump_sys_setuid(uid_t);
+uid_t rump_sys_getuid(void);
+uid_t rump_sys_geteuid(void);
 ssize_t rump_sys_recvmsg(int, struct msghdr *, int);
 ssize_t rump_sys_sendmsg(int, const struct msghdr *, int);
 ssize_t rump_sys_recvfrom(int, void *, size_t, int, struct sockaddr *, unsigned int *);
@@ -40,12 +44,21 @@
 int rump_sys_chflags(const char *, u_long);
 int rump_sys_fchflags(int, u_long);
 void rump_sys_sync(void);
+pid_t rump_sys_getppid(void);
 int rump_sys_dup(int);
+gid_t rump_sys_getegid(void);
+gid_t rump_sys_getgid(void);
+int rump_sys___getlogin(char *, size_t);
+int rump_sys___setlogin(const char *);
 int rump_sys_ioctl(int, u_long, ...);
 int rump_sys_revoke(const char *);
 int rump_sys_symlink(const char *, const char *);
 ssize_t rump_sys_readlink(const char *, char *, size_t);
 int rump_sys_chroot(const char *);
+int rump_sys_getgroups(int, gid_t *);
+int rump_sys_setgroups(int, const gid_t *);
+int rump_sys_getpgrp(void);
+int rump_sys_setpgid(int, int);
 int rump_sys_dup2(int, int);
 int rump_sys_fcntl(int, int, ...);
 int rump_sys_fsync(int);
@@ -58,6 +71,8 @@
 ssize_t rump_sys_writev(int, const struct iovec *, int);
 int rump_sys_fchown(int, uid_t, gid_t);
 int rump_sys_fchmod(int, mode_t);
+int rump_sys_setreuid(uid_t, uid_t);
+int rump_sys_setregid(gid_t, gid_t);
 int rump_sys_rename(const char *, const char *);
 int rump_sys_flock(int, int);
 int rump_sys_mkfifo(const char *, mode_t);
@@ -66,9 +81,13 @@
 int rump_sys_socketpair(int, int, int, int *);
 int rump_sys_mkdir(const char *, mode_t);
 int rump_sys_rmdir(const char *);
+int rump_sys_setsid(void);
 int rump_sys_nfssvc(int, void *);
 ssize_t rump_sys_pread(int, void *, size_t, off_t);
 ssize_t rump_sys_pwrite(int, const void *, size_t, off_t);
+int rump_sys_setgid(gid_t);
+int rump_sys_setegid(gid_t);
+int rump_sys_seteuid(uid_t);
 long rump_sys_pathconf(const char *, int);
 long rump_sys_fpathconf(int, int);
 int rump_sys_getrlimit(int, struct rlimit *);
@@ -77,6 +96,7 @@
 int rump_sys_truncate(const char *, off_t);
 int rump_sys_ftruncate(int, off_t);
 int rump_sys___sysctl(const int *, u_int, void *, size_t *, const void *, size_t);
+pid_t rump_sys_getpgid(pid_t);
 int rump_sys_reboot(int, char *);
 int rump_sys_poll(struct pollfd *, u_int, int);
 int rump_sys_fdatasync(int);
@@ -92,8 +112,10 @@
 int rump_sys__ksem_destroy(intptr_t);
 int rump_sys_lchmod(const char *, mode_t);
 int rump_sys_lchown(const char *, uid_t, gid_t);
+pid_t rump_sys_getsid(pid_t);
 int rump_sys_fchroot(int);
 int rump_sys_lchflags(const char *, u_long);
+int rump_sys_issetugid(void);
 int rump_sys_kqueue(void);
 int rump_sys_fsync_range(int, int, off_t, off_t);
 int rump_sys_getvfsstat(struct statvfs *, size_t, int);

Index: src/sys/rump/librump/rumpkern/rump_syscalls.c
diff -u src/sys/rump/librump/rumpkern/rump_syscalls.c:1.48 src/sys/rump/librump/rumpkern/rump_syscalls.c:1.49
--- src/sys/rump/librump/rumpkern/rump_syscalls.c:1.48	Mon Aug 30 10:24:42 2010
+++ src/sys/rump/librump/rumpkern/rump_syscalls.c	Mon Aug 30 10:34:51 2010
@@ -1,14 +1,14 @@
-/* $NetBSD: rump_syscalls.c,v 1.48 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: rump_syscalls.c,v 1.49 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call vector and marshalling for rump.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.48 2010/08/30 10:24:42 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.49 2010/08/30 10:34:51 pooka Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -242,6 +242,23 @@
 }
 __weak_alias(sys_chown,rump_enosys);
 
+pid_t rump_sys_getpid(void);
+pid_t
+rump_sys_getpid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getpid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getpid_with_ppid,rump_enosys);
+
 int rump_sys_unmount(const char *, int);
 int
 rump_sys_unmount(const char * path, int flags)
@@ -263,6 +280,60 @@
 }
 __weak_alias(sys_unmount,rump_enosys);
 
+int rump_sys_setuid(uid_t);
+int
+rump_sys_setuid(uid_t uid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setuid_args callarg;
+
+	SPARG(&callarg, uid) = uid;
+
+	error = rump_sysproxy(SYS_setuid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setuid,rump_enosys);
+
+uid_t rump_sys_getuid(void);
+uid_t
+rump_sys_getuid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getuid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getuid_with_euid,rump_enosys);
+
+uid_t rump_sys_geteuid(void);
+uid_t
+rump_sys_geteuid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_geteuid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_geteuid,rump_enosys);
+
 ssize_t rump_sys_recvmsg(int, struct msghdr *, int);
 ssize_t
 rump_sys_recvmsg(int s, struct msghdr * msg, int flags)
@@ -476,6 +547,23 @@
 }
 __weak_alias(sys_sync,rump_enosys);
 
+pid_t rump_sys_getppid(void);
+pid_t
+rump_sys_getppid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getppid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getppid,rump_enosys);
+
 int rump_sys_dup(int);
 int
 rump_sys_dup(int fd)
@@ -496,6 +584,81 @@
 }
 __weak_alias(sys_dup,rump_enosys);
 
+gid_t rump_sys_getegid(void);
+gid_t
+rump_sys_getegid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getegid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getegid,rump_enosys);
+
+gid_t rump_sys_getgid(void);
+gid_t
+rump_sys_getgid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getgid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getgid_with_egid,rump_enosys);
+
+int rump_sys___getlogin(char *, size_t);
+int
+rump_sys___getlogin(char * namebuf, size_t namelen)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys___getlogin_args callarg;
+
+	SPARG(&callarg, namebuf) = namebuf;
+	SPARG(&callarg, namelen) = namelen;
+
+	error = rump_sysproxy(SYS___getlogin, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys___getlogin,rump_enosys);
+
+int rump_sys___setlogin(const char *);
+int
+rump_sys___setlogin(const char * namebuf)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys___setlogin_args callarg;
+
+	SPARG(&callarg, namebuf) = namebuf;
+
+	error = rump_sysproxy(SYS___setlogin, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys___setlogin,rump_enosys);
+
 int rump_sys_ioctl(int, u_long, void *);
 int
 rump_sys_ioctl(int fd, u_long com, void * data)
@@ -601,6 +764,86 @@
 }
 __weak_alias(sys_chroot,rump_enosys);
 
+int rump_sys_getgroups(int, gid_t *);
+int
+rump_sys_getgroups(int gidsetsize, gid_t * gidset)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_getgroups_args callarg;
+
+	SPARG(&callarg, gidsetsize) = gidsetsize;
+	SPARG(&callarg, gidset) = gidset;
+
+	error = rump_sysproxy(SYS_getgroups, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getgroups,rump_enosys);
+
+int rump_sys_setgroups(int, const gid_t *);
+int
+rump_sys_setgroups(int gidsetsize, const gid_t * gidset)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setgroups_args callarg;
+
+	SPARG(&callarg, gidsetsize) = gidsetsize;
+	SPARG(&callarg, gidset) = gidset;
+
+	error = rump_sysproxy(SYS_setgroups, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setgroups,rump_enosys);
+
+int rump_sys_getpgrp(void);
+int
+rump_sys_getpgrp(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_getpgrp, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getpgrp,rump_enosys);
+
+int rump_sys_setpgid(int, int);
+int
+rump_sys_setpgid(int pid, int pgid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setpgid_args callarg;
+
+	SPARG(&callarg, pid) = pid;
+	SPARG(&callarg, pgid) = pgid;
+
+	error = rump_sysproxy(SYS_setpgid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setpgid,rump_enosys);
+
 int rump_sys_dup2(int, int);
 int
 rump_sys_dup2(int from, int to)
@@ -864,6 +1107,48 @@
 }
 __weak_alias(sys_fchmod,rump_enosys);
 
+int rump_sys_setreuid(uid_t, uid_t);
+int
+rump_sys_setreuid(uid_t ruid, uid_t euid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setreuid_args callarg;
+
+	SPARG(&callarg, ruid) = ruid;
+	SPARG(&callarg, euid) = euid;
+
+	error = rump_sysproxy(SYS_setreuid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setreuid,rump_enosys);
+
+int rump_sys_setregid(gid_t, gid_t);
+int
+rump_sys_setregid(gid_t rgid, gid_t egid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setregid_args callarg;
+
+	SPARG(&callarg, rgid) = rgid;
+	SPARG(&callarg, egid) = egid;
+
+	error = rump_sysproxy(SYS_setregid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setregid,rump_enosys);
+
 int rump_sys_rename(const char *, const char *);
 int
 rump_sys_rename(const char * from, const char * to)
@@ -1037,6 +1322,23 @@
 }
 __weak_alias(sys_rmdir,rump_enosys);
 
+int rump_sys_setsid(void);
+int
+rump_sys_setsid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_setsid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setsid,rump_enosys);
+
 int rump_sys_nfssvc(int, void *);
 int
 rump_sys_nfssvc(int flag, void * argp)
@@ -1106,6 +1408,66 @@
 }
 __weak_alias(sys_pwrite,rump_enosys);
 
+int rump_sys_setgid(gid_t);
+int
+rump_sys_setgid(gid_t gid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setgid_args callarg;
+
+	SPARG(&callarg, gid) = gid;
+
+	error = rump_sysproxy(SYS_setgid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setgid,rump_enosys);
+
+int rump_sys_setegid(gid_t);
+int
+rump_sys_setegid(gid_t egid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_setegid_args callarg;
+
+	SPARG(&callarg, egid) = egid;
+
+	error = rump_sysproxy(SYS_setegid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_setegid,rump_enosys);
+
+int rump_sys_seteuid(uid_t);
+int
+rump_sys_seteuid(uid_t euid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_seteuid_args callarg;
+
+	SPARG(&callarg, euid) = euid;
+
+	error = rump_sysproxy(SYS_seteuid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_seteuid,rump_enosys);
+
 long rump_sys_pathconf(const char *, int);
 long
 rump_sys_pathconf(const char * path, int name)
@@ -1282,6 +1644,26 @@
 }
 __weak_alias(sys___sysctl,rump_enosys);
 
+pid_t rump_sys_getpgid(pid_t);
+pid_t
+rump_sys_getpgid(pid_t pid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_getpgid_args callarg;
+
+	SPARG(&callarg, pid) = pid;
+
+	error = rump_sysproxy(SYS_getpgid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getpgid,rump_enosys);
+
 int rump_sys_reboot(int, char *);
 int
 rump_sys_reboot(int opt, char * bootstr)
@@ -1595,6 +1977,26 @@
 }
 __weak_alias(sys_lchown,rump_enosys);
 
+pid_t rump_sys_getsid(pid_t);
+pid_t
+rump_sys_getsid(pid_t pid)
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+	struct sys_getsid_args callarg;
+
+	SPARG(&callarg, pid) = pid;
+
+	error = rump_sysproxy(SYS_getsid, rump_sysproxy_arg,
+	    (uint8_t *)&callarg, sizeof(callarg), rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_getsid,rump_enosys);
+
 int rump_sys_fchroot(int);
 int
 rump_sys_fchroot(int fd)
@@ -1636,6 +2038,23 @@
 }
 __weak_alias(sys_lchflags,rump_enosys);
 
+int rump_sys_issetugid(void);
+int
+rump_sys_issetugid(void )
+{
+	register_t rval[2] = {0, 0};
+	int error = 0;
+
+	error = rump_sysproxy(SYS_issetugid, rump_sysproxy_arg,
+	    (uint8_t *)NULL, 0, rval);
+	if (error) {
+		rval[0] = -1;
+		rumpuser_seterrno(error);
+	}
+	return rval[0];
+}
+__weak_alias(sys_issetugid,rump_enosys);
+
 int rump_sys_kqueue(void);
 int
 rump_sys_kqueue(void )
@@ -2780,17 +3199,17 @@
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 19 = unrumped */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 20 = unrumped */
+	    (sy_call_t *)sys_getpid_with_ppid },	/* 20 = getpid */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 21 = unrumped */
 	{ ns(struct sys_unmount_args), 0,
 	    (sy_call_t *)sys_unmount },			/* 22 = unmount */
+	{ ns(struct sys_setuid_args), 0,
+	    (sy_call_t *)sys_setuid },			/* 23 = setuid */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 23 = unrumped */
+	    (sy_call_t *)sys_getuid_with_euid },	/* 24 = getuid */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 24 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 25 = unrumped */
+	    (sy_call_t *)sys_geteuid },			/* 25 = geteuid */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 26 = unrumped */
 	{ ns(struct sys_recvmsg_args), 0,
@@ -2818,7 +3237,7 @@
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 38 = unrumped */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 39 = unrumped */
+	    (sy_call_t *)sys_getppid },			/* 39 = getppid */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 40 = unrumped */
 	{ ns(struct sys_dup_args), 0,
@@ -2826,7 +3245,7 @@
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_pipe },			/* 42 = pipe */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 43 = unrumped */
+	    (sy_call_t *)sys_getegid },			/* 43 = getegid */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 44 = unrumped */
 	{ 0, 0, 0,
@@ -2834,13 +3253,13 @@
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 46 = unrumped */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 47 = unrumped */
+	    (sy_call_t *)sys_getgid_with_egid },	/* 47 = getgid */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 48 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 49 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 50 = unrumped */
+	{ ns(struct sys___getlogin_args), 0,
+	    (sy_call_t *)sys___getlogin },		/* 49 = __getlogin */
+	{ ns(struct sys___setlogin_args), 0,
+	    (sy_call_t *)sys___setlogin },		/* 50 = __setlogin */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 51 = unrumped */
 	{ 0, 0, 0,
@@ -2897,14 +3316,14 @@
 	    (sy_call_t *)rump_enosys },			/* 77 = obsolete vlimit */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 78 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 79 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 80 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 81 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 82 = unrumped */
+	{ ns(struct sys_getgroups_args), 0,
+	    (sy_call_t *)sys_getgroups },		/* 79 = getgroups */
+	{ ns(struct sys_setgroups_args), 0,
+	    (sy_call_t *)sys_setgroups },		/* 80 = setgroups */
+	{ 0, 0, 0,
+	    (sy_call_t *)sys_getpgrp },			/* 81 = getpgrp */
+	{ ns(struct sys_setpgid_args), 0,
+	    (sy_call_t *)sys_setpgid },			/* 82 = setpgid */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 83 = unrumped */
 	{ 0, 0, 0,
@@ -2991,10 +3410,10 @@
 	    (sy_call_t *)sys_fchmod },			/* 124 = fchmod */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 125 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 126 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 127 = unrumped */
+	{ ns(struct sys_setreuid_args), 0,
+	    (sy_call_t *)sys_setreuid },		/* 126 = setreuid */
+	{ ns(struct sys_setregid_args), 0,
+	    (sy_call_t *)sys_setregid },		/* 127 = setregid */
 	{ ns(struct sys_rename_args), 0,
 	    (sy_call_t *)sys_rename },			/* 128 = rename */
 	{ 0, 0, 0,
@@ -3034,7 +3453,7 @@
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 146 = unrumped */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 147 = unrumped */
+	    (sy_call_t *)sys_setsid },			/* 147 = setsid */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 148 = unrumped */
 	{ 0, 0, 0,
@@ -3121,12 +3540,12 @@
 	    (sy_call_t *)rump_enosys },			/* 179 = unimplemented */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 180 = unimplemented */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 181 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 182 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 183 = unrumped */
+	{ ns(struct sys_setgid_args), 0,
+	    (sy_call_t *)sys_setgid },			/* 181 = setgid */
+	{ ns(struct sys_setegid_args), 0,
+	    (sy_call_t *)sys_setegid },			/* 182 = setegid */
+	{ ns(struct sys_seteuid_args), 0,
+	    (sy_call_t *)sys_seteuid },			/* 183 = seteuid */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 184 = unrumped */
 	{ 0, 0, 0,
@@ -3173,8 +3592,8 @@
 	    (sy_call_t *)rump_enosys },			/* 205 = unrumped */
 	{ 0, 0, 0,
 	    (sy_call_t *)sys_nomodule },			/* 206 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 207 = unrumped */
+	{ ns(struct sys_getpgid_args), 0,
+	    (sy_call_t *)sys_getpgid },			/* 207 = getpgid */
 	{ ns(struct sys_reboot_args), 0,
 	    (sy_call_t *)sys_reboot },			/* 208 = reboot */
 	{ ns(struct sys_poll_args), 0,
@@ -3364,8 +3783,8 @@
 	    (sy_call_t *)rump_enosys },			/* 284 = unrumped */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 285 = unrumped */
-	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 286 = unrumped */
+	{ ns(struct sys_getsid_args), 0,
+	    (sy_call_t *)sys_getsid },			/* 286 = getsid */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 287 = unrumped */
 	{ 0, 0, 0,
@@ -3418,7 +3837,7 @@
 	{ ns(struct sys_lchflags_args), 0,
 	    (sy_call_t *)sys_lchflags },		/* 304 = lchflags */
 	{ 0, 0, 0,
-	    (sy_call_t *)rump_enosys },			/* 305 = unrumped */
+	    (sy_call_t *)sys_issetugid },		/* 305 = issetugid */
 	{ 0, 0, 0,
 	    (sy_call_t *)rump_enosys },			/* 306 = unrumped */
 	{ 0, 0, 0,

Index: src/sys/sys/syscall.h
diff -u src/sys/sys/syscall.h:1.233 src/sys/sys/syscall.h:1.234
--- src/sys/sys/syscall.h:1.233	Mon Aug 30 10:24:42 2010
+++ src/sys/sys/syscall.h	Mon Aug 30 10:34:51 2010
@@ -1,10 +1,10 @@
-/* $NetBSD: syscall.h,v 1.233 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: syscall.h,v 1.234 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #ifndef _SYS_SYSCALL_H_

Index: src/sys/sys/syscallargs.h
diff -u src/sys/sys/syscallargs.h:1.215 src/sys/sys/syscallargs.h:1.216
--- src/sys/sys/syscallargs.h:1.215	Mon Aug 30 10:24:42 2010
+++ src/sys/sys/syscallargs.h	Mon Aug 30 10:34:51 2010
@@ -1,10 +1,10 @@
-/* $NetBSD: syscallargs.h,v 1.215 2010/08/30 10:24:42 pooka Exp $ */
+/* $NetBSD: syscallargs.h,v 1.216 2010/08/30 10:34:51 pooka Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.235 2010/06/10 19:09:03 pooka Exp
+ * created from	NetBSD: syscalls.master,v 1.236 2010/08/30 10:32:54 pooka Exp
  */
 
 #ifndef _SYS_SYSCALLARGS_H_

Reply via email to