1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00

Auto-generated system call code with cap_new(), cap_getrights().

Approved by: mentor (rwatson), re (Capsicum blanket)
Sponsored by: Google Inc
This commit is contained in:
Jonathan Anderson 2011-07-15 18:33:12 +00:00
parent cfb9df5541
commit 63ba8b5ede
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=224067
11 changed files with 114 additions and 12 deletions

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib
* created from FreeBSD
*/
#ifndef _FREEBSD32_SYSPROTO_H_

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib
* created from FreeBSD
*/
#define FREEBSD32_SYS_syscall 0
@ -411,6 +411,8 @@
#define FREEBSD32_SYS_freebsd32_msgctl 511
#define FREEBSD32_SYS_freebsd32_shmctl 512
#define FREEBSD32_SYS_lpathconf 513
#define FREEBSD32_SYS_cap_new 514
#define FREEBSD32_SYS_cap_getrights 515
#define FREEBSD32_SYS_cap_enter 516
#define FREEBSD32_SYS_cap_getmode 517
#define FREEBSD32_SYS_freebsd32_pselect 522

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib
* created from FreeBSD
*/
const char *freebsd32_syscallnames[] = {
@ -537,8 +537,8 @@ const char *freebsd32_syscallnames[] = {
"freebsd32_msgctl", /* 511 = freebsd32_msgctl */
"freebsd32_shmctl", /* 512 = freebsd32_shmctl */
"lpathconf", /* 513 = lpathconf */
"#514", /* 514 = cap_new */
"#515", /* 515 = cap_getrights */
"cap_new", /* 514 = cap_new */
"cap_getrights", /* 515 = cap_getrights */
"cap_enter", /* 516 = cap_enter */
"cap_getmode", /* 517 = cap_getmode */
"#518", /* 518 = pdfork */

View File

@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
* created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib
* created from FreeBSD
*/
#include "opt_compat.h"
@ -574,8 +574,8 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = freebsd32_msgctl */
{ AS(freebsd32_shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = freebsd32_shmctl */
{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0, SY_THR_STATIC }, /* 513 = lpathconf */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 514 = cap_new */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 515 = cap_getrights */
{ AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, 0, SY_THR_STATIC }, /* 514 = cap_new */
{ AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 515 = cap_getrights */
{ 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 516 = cap_enter */
{ AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 517 = cap_getmode */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 518 = pdfork */

View File

@ -2918,6 +2918,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 2;
break;
}
/* cap_new */
case 514: {
struct cap_new_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = p->rights; /* u_int64_t */
*n_args = 2;
break;
}
/* cap_getrights */
case 515: {
struct cap_getrights_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */
*n_args = 2;
break;
}
/* cap_enter */
case 516: {
*n_args = 0;
@ -7873,6 +7889,32 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cap_new */
case 514:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "u_int64_t";
break;
default:
break;
};
break;
/* cap_getrights */
case 515:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "u_int64_t *";
break;
default:
break;
};
break;
/* cap_enter */
case 516:
break;

View File

@ -548,8 +548,8 @@ struct sysent sysent[] = {
{ AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = msgctl */
{ AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = shmctl */
{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0, SY_THR_STATIC }, /* 513 = lpathconf */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 514 = cap_new */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 515 = cap_getrights */
{ AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 514 = cap_new */
{ AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 515 = cap_getrights */
{ 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 516 = cap_enter */
{ AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 517 = cap_getmode */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 518 = pdfork */

View File

@ -521,8 +521,8 @@ const char *syscallnames[] = {
"msgctl", /* 511 = msgctl */
"shmctl", /* 512 = shmctl */
"lpathconf", /* 513 = lpathconf */
"#514", /* 514 = cap_new */
"#515", /* 515 = cap_getrights */
"cap_new", /* 514 = cap_new */
"cap_getrights", /* 515 = cap_getrights */
"cap_enter", /* 516 = cap_enter */
"cap_getmode", /* 517 = cap_getmode */
"#518", /* 518 = pdfork */

View File

@ -3096,6 +3096,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 2;
break;
}
/* cap_new */
case 514: {
struct cap_new_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = p->rights; /* u_int64_t */
*n_args = 2;
break;
}
/* cap_getrights */
case 515: {
struct cap_getrights_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */
*n_args = 2;
break;
}
/* cap_enter */
case 516: {
*n_args = 0;
@ -8326,6 +8342,32 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cap_new */
case 514:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "u_int64_t";
break;
default:
break;
};
break;
/* cap_getrights */
case 515:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "u_int64_t *";
break;
default:
break;
};
break;
/* cap_enter */
case 516:
break;

View File

@ -430,6 +430,8 @@
#define SYS_msgctl 511
#define SYS_shmctl 512
#define SYS_lpathconf 513
#define SYS_cap_new 514
#define SYS_cap_getrights 515
#define SYS_cap_enter 516
#define SYS_cap_getmode 517
#define SYS_pselect 522

View File

@ -379,6 +379,8 @@ MIASM = \
msgctl.o \
shmctl.o \
lpathconf.o \
cap_new.o \
cap_getrights.o \
cap_enter.o \
cap_getmode.o \
pselect.o \

View File

@ -1657,6 +1657,14 @@ struct lpathconf_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char name_l_[PADL_(int)]; int name; char name_r_[PADR_(int)];
};
struct cap_new_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char rights_l_[PADL_(u_int64_t)]; u_int64_t rights; char rights_r_[PADR_(u_int64_t)];
};
struct cap_getrights_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char rightsp_l_[PADL_(u_int64_t *)]; u_int64_t * rightsp; char rightsp_r_[PADR_(u_int64_t *)];
};
struct cap_enter_args {
register_t dummy;
};
@ -2073,6 +2081,8 @@ int __semctl(struct thread *, struct __semctl_args *);
int msgctl(struct thread *, struct msgctl_args *);
int shmctl(struct thread *, struct shmctl_args *);
int lpathconf(struct thread *, struct lpathconf_args *);
int cap_new(struct thread *, struct cap_new_args *);
int cap_getrights(struct thread *, struct cap_getrights_args *);
int cap_enter(struct thread *, struct cap_enter_args *);
int cap_getmode(struct thread *, struct cap_getmode_args *);
int pselect(struct thread *, struct pselect_args *);
@ -2758,6 +2768,8 @@ int freebsd7_shmctl(struct thread *, struct freebsd7_shmctl_args *);
#define SYS_AUE_msgctl AUE_MSGCTL
#define SYS_AUE_shmctl AUE_SHMCTL
#define SYS_AUE_lpathconf AUE_LPATHCONF
#define SYS_AUE_cap_new AUE_CAP_NEW
#define SYS_AUE_cap_getrights AUE_CAP_GETRIGHTS
#define SYS_AUE_cap_enter AUE_CAP_ENTER
#define SYS_AUE_cap_getmode AUE_CAP_GETMODE
#define SYS_AUE_pselect AUE_SELECT