summaryrefslogtreecommitdiffstats
path: root/sys/sys
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2000-01-16 16:34:26 +0000
committerpeter <peter@FreeBSD.org>2000-01-16 16:34:26 +0000
commit75fd4c5f10152ce44c0a9766b0a2ee69c031863c (patch)
tree683e7b278db56ec759e375511f0a47a218d026ab /sys/sys
parent0a471babfd2ee10ac34f0f0baabe891c439ec2e9 (diff)
downloadFreeBSD-src-75fd4c5f10152ce44c0a9766b0a2ee69c031863c.zip
FreeBSD-src-75fd4c5f10152ce44c0a9766b0a2ee69c031863c.tar.gz
Implement setres[ug]id() and getres[ug]id(). This has been sitting in
my tree for ages (~2 years) waiting for an excuse to commit it. Now Linux has implemented it and it seems that Staroffice (when using the linux_base6.1 port's libc) calls this in the linux emulator and dies in setup. The Linux emulator can call these now.
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/syscall-hide.h6
-rw-r--r--sys/sys/syscall.h8
-rw-r--r--sys/sys/syscall.mk8
-rw-r--r--sys/sys/sysproto.h26
4 files changed, 42 insertions, 6 deletions
diff --git a/sys/sys/syscall-hide.h b/sys/sys/syscall-hide.h
index c08c937..1732da7 100644
--- a/sys/sys/syscall-hide.h
+++ b/sys/sys/syscall-hide.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.69 1999/12/21 20:21:11 alfred Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.71 2000/01/16 16:30:50 peter Exp
*/
HIDE_POSIX(fork)
@@ -231,6 +231,8 @@ HIDE_BSD(kldnext)
HIDE_BSD(kldstat)
HIDE_BSD(kldfirstmod)
HIDE_BSD(getsid)
+HIDE_BSD(setresuid)
+HIDE_BSD(setresgid)
HIDE_BSD(aio_return)
HIDE_BSD(aio_suspend)
HIDE_BSD(aio_cancel)
@@ -275,3 +277,5 @@ HIDE_BSD(extattr_set_file)
HIDE_BSD(extattr_get_file)
HIDE_BSD(extattr_delete_file)
HIDE_BSD(aio_waitcomplete)
+HIDE_BSD(getresuid)
+HIDE_BSD(getresgid)
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index c3dcd0c..eee91cb 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.69 1999/12/21 20:21:11 alfred Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.71 2000/01/16 16:30:50 peter Exp
*/
#define SYS_syscall 0
@@ -236,6 +236,8 @@
#define SYS_kldstat 308
#define SYS_kldfirstmod 309
#define SYS_getsid 310
+#define SYS_setresuid 311
+#define SYS_setresgid 312
/* 313 is obsolete signanosleep */
#define SYS_aio_return 314
#define SYS_aio_suspend 315
@@ -280,4 +282,6 @@
#define SYS_extattr_get_file 357
#define SYS_extattr_delete_file 358
#define SYS_aio_waitcomplete 359
-#define SYS_MAXSYSCALL 360
+#define SYS_getresuid 360
+#define SYS_getresgid 361
+#define SYS_MAXSYSCALL 362
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index ee2737e..d3e0be3 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -1,7 +1,7 @@
# FreeBSD system call names.
# DO NOT EDIT-- this file is automatically generated.
# $FreeBSD$
-# created from FreeBSD: src/sys/kern/syscalls.master,v 1.69 1999/12/21 20:21:11 alfred Exp
+# created from FreeBSD: src/sys/kern/syscalls.master,v 1.71 2000/01/16 16:30:50 peter Exp
MIASM = \
syscall.o \
exit.o \
@@ -188,6 +188,8 @@ MIASM = \
kldstat.o \
kldfirstmod.o \
getsid.o \
+ setresuid.o \
+ setresgid.o \
aio_return.o \
aio_suspend.o \
aio_cancel.o \
@@ -230,4 +232,6 @@ MIASM = \
extattr_set_file.o \
extattr_get_file.o \
extattr_delete_file.o \
- aio_waitcomplete.o
+ aio_waitcomplete.o \
+ getresuid.o \
+ getresgid.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 14bb02f..4de03ca 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.69 1999/12/21 20:21:11 alfred Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.71 2000/01/16 16:30:50 peter Exp
*/
#ifndef _SYS_SYSPROTO_H_
@@ -814,6 +814,16 @@ struct kldfirstmod_args {
struct getsid_args {
pid_t pid; char pid_[PAD_(pid_t)];
};
+struct setresuid_args {
+ uid_t ruid; char ruid_[PAD_(uid_t)];
+ uid_t euid; char euid_[PAD_(uid_t)];
+ uid_t suid; char suid_[PAD_(uid_t)];
+};
+struct setresgid_args {
+ gid_t rgid; char rgid_[PAD_(gid_t)];
+ gid_t egid; char egid_[PAD_(gid_t)];
+ gid_t sgid; char sgid_[PAD_(gid_t)];
+};
struct aio_return_args {
struct aiocb * aiocbp; char aiocbp_[PAD_(struct aiocb *)];
};
@@ -993,6 +1003,16 @@ struct aio_waitcomplete_args {
struct aiocb ** aiocbp; char aiocbp_[PAD_(struct aiocb **)];
struct timespec * timeout; char timeout_[PAD_(struct timespec *)];
};
+struct getresuid_args {
+ uid_t * ruid; char ruid_[PAD_(uid_t *)];
+ uid_t * euid; char euid_[PAD_(uid_t *)];
+ uid_t * suid; char suid_[PAD_(uid_t *)];
+};
+struct getresgid_args {
+ gid_t * rgid; char rgid_[PAD_(gid_t *)];
+ gid_t * egid; char egid_[PAD_(gid_t *)];
+ gid_t * sgid; char sgid_[PAD_(gid_t *)];
+};
int nosys __P((struct proc *, struct nosys_args *));
void exit __P((struct proc *, struct rexit_args *)) __dead2;
int fork __P((struct proc *, struct fork_args *));
@@ -1176,6 +1196,8 @@ int kldnext __P((struct proc *, struct kldnext_args *));
int kldstat __P((struct proc *, struct kldstat_args *));
int kldfirstmod __P((struct proc *, struct kldfirstmod_args *));
int getsid __P((struct proc *, struct getsid_args *));
+int setresuid __P((struct proc *, struct setresuid_args *));
+int setresgid __P((struct proc *, struct setresgid_args *));
int aio_return __P((struct proc *, struct aio_return_args *));
int aio_suspend __P((struct proc *, struct aio_suspend_args *));
int aio_cancel __P((struct proc *, struct aio_cancel_args *));
@@ -1219,6 +1241,8 @@ int extattr_set_file __P((struct proc *, struct extattr_set_file_args *));
int extattr_get_file __P((struct proc *, struct extattr_get_file_args *));
int extattr_delete_file __P((struct proc *, struct extattr_delete_file_args *));
int aio_waitcomplete __P((struct proc *, struct aio_waitcomplete_args *));
+int getresuid __P((struct proc *, struct getresuid_args *));
+int getresgid __P((struct proc *, struct getresgid_args *));
#ifdef COMPAT_43
OpenPOWER on IntegriCloud