o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to

modify capability sets on files.

Obtained from:	TrustedBSD Project
This commit is contained in:
Robert Watson 2000-07-13 20:38:52 +00:00
parent 92eebb8a9b
commit e8483a05a6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=63083
6 changed files with 48 additions and 8 deletions

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
*/
#include "opt_compat.h"
@ -388,4 +388,8 @@ struct sysent sysent[] = {
{ AS(kevent_args), (sy_call_t *)kevent }, /* 363 = kevent */
{ AS(__cap_get_proc_args), (sy_call_t *)__cap_get_proc }, /* 364 = __cap_get_proc */
{ AS(__cap_set_proc_args), (sy_call_t *)__cap_set_proc }, /* 365 = __cap_set_proc */
{ AS(__cap_get_fd_args), (sy_call_t *)__cap_get_fd }, /* 366 = __cap_get_fd */
{ AS(__cap_get_file_args), (sy_call_t *)__cap_get_file }, /* 367 = __cap_get_file */
{ AS(__cap_set_fd_args), (sy_call_t *)__cap_set_fd }, /* 368 = __cap_set_fd */
{ AS(__cap_set_file_args), (sy_call_t *)__cap_set_file }, /* 369 = __cap_set_file */
};

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
*/
char *syscallnames[] = {
@ -373,4 +373,8 @@ char *syscallnames[] = {
"kevent", /* 363 = kevent */
"__cap_get_proc", /* 364 = __cap_get_proc */
"__cap_set_proc", /* 365 = __cap_set_proc */
"__cap_get_fd", /* 366 = __cap_get_fd */
"__cap_get_file", /* 367 = __cap_get_file */
"__cap_set_fd", /* 368 = __cap_set_fd */
"__cap_set_file", /* 369 = __cap_set_file */
};

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
*/
HIDE_POSIX(fork)
@ -282,3 +282,7 @@ HIDE_BSD(kqueue)
HIDE_BSD(kevent)
HIDE_BSD(__cap_get_proc)
HIDE_BSD(__cap_set_proc)
HIDE_BSD(__cap_get_fd)
HIDE_BSD(__cap_get_file)
HIDE_BSD(__cap_set_fd)
HIDE_BSD(__cap_set_file)

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
*/
#define SYS_syscall 0
@ -287,4 +287,8 @@
#define SYS_kevent 363
#define SYS___cap_get_proc 364
#define SYS___cap_set_proc 365
#define SYS_MAXSYSCALL 366
#define SYS___cap_get_fd 366
#define SYS___cap_get_file 367
#define SYS___cap_set_fd 368
#define SYS___cap_set_file 369
#define SYS_MAXSYSCALL 370

View File

@ -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.77 2000/06/15 23:08:17 rwatson Exp
# created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
MIASM = \
syscall.o \
exit.o \
@ -237,4 +237,8 @@ MIASM = \
kqueue.o \
kevent.o \
__cap_get_proc.o \
__cap_set_proc.o
__cap_set_proc.o \
__cap_get_fd.o \
__cap_get_file.o \
__cap_set_fd.o \
__cap_set_file.o

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp
*/
#ifndef _SYS_SYSPROTO_H_
@ -1027,6 +1027,22 @@ struct __cap_get_proc_args {
struct __cap_set_proc_args {
struct cap * cap_p; char cap_p_[PAD_(struct cap *)];
};
struct __cap_get_fd_args {
int fd; char fd_[PAD_(int)];
struct cap * cap_p; char cap_p_[PAD_(struct cap *)];
};
struct __cap_get_file_args {
const char * path_p; char path_p_[PAD_(const char *)];
struct cap * cap_p; char cap_p_[PAD_(struct cap *)];
};
struct __cap_set_fd_args {
int fd; char fd_[PAD_(int)];
struct cap * cap_p; char cap_p_[PAD_(struct cap *)];
};
struct __cap_set_file_args {
const char * path_p; char path_p_[PAD_(const char *)];
struct cap * cap_p; char cap_p_[PAD_(struct cap *)];
};
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 *));
@ -1260,6 +1276,10 @@ int kqueue __P((struct proc *, struct kqueue_args *));
int kevent __P((struct proc *, struct kevent_args *));
int __cap_get_proc __P((struct proc *, struct __cap_get_proc_args *));
int __cap_set_proc __P((struct proc *, struct __cap_set_proc_args *));
int __cap_get_fd __P((struct proc *, struct __cap_get_fd_args *));
int __cap_get_file __P((struct proc *, struct __cap_get_file_args *));
int __cap_set_fd __P((struct proc *, struct __cap_set_fd_args *));
int __cap_set_file __P((struct proc *, struct __cap_set_file_args *));
#ifdef COMPAT_43