summaryrefslogtreecommitdiffstats
path: root/sys/compat/freebsd32/freebsd32_systrace_args.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/freebsd32/freebsd32_systrace_args.c')
-rw-r--r--sys/compat/freebsd32/freebsd32_systrace_args.c58
1 files changed, 48 insertions, 10 deletions
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index c1ad90e..94ff863 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3159,6 +3159,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 8;
break;
}
+ /* freebsd32_cap_rights_limit */
+ case 533: {
+ struct freebsd32_cap_rights_limit_args *p = params;
+ iarg[0] = p->fd; /* int */
+ iarg[1] = p->pad; /* int */
+ uarg[2] = p->rights1; /* uint32_t */
+ uarg[3] = p->rights2; /* uint32_t */
+ *n_args = 4;
+ break;
+ }
#else
/* freebsd32_posix_fallocate */
case 530: {
@@ -3196,15 +3206,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 7;
break;
}
-#endif
- /* cap_rights_limit */
+ /* freebsd32_cap_rights_limit */
case 533: {
- struct cap_rights_limit_args *p = params;
+ struct freebsd32_cap_rights_limit_args *p = params;
iarg[0] = p->fd; /* int */
- uarg[1] = p->rights; /* uint64_t */
- *n_args = 2;
+ uarg[1] = p->rights1; /* uint32_t */
+ uarg[2] = p->rights2; /* uint32_t */
+ *n_args = 3;
break;
}
+#endif
/* freebsd32_cap_ioctls_limit */
case 534: {
struct freebsd32_cap_ioctls_limit_args *p = params;
@@ -8572,6 +8583,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+ /* freebsd32_cap_rights_limit */
+ case 533:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "int";
+ break;
+ case 2:
+ p = "uint32_t";
+ break;
+ case 3:
+ p = "uint32_t";
+ break;
+ default:
+ break;
+ };
+ break;
#else
/* freebsd32_posix_fallocate */
case 530:
@@ -8648,20 +8678,23 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
-#endif
- /* cap_rights_limit */
+ /* freebsd32_cap_rights_limit */
case 533:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
- p = "uint64_t";
+ p = "uint32_t";
+ break;
+ case 2:
+ p = "uint32_t";
break;
default:
break;
};
break;
+#endif
/* freebsd32_cap_ioctls_limit */
case 534:
switch(ndx) {
@@ -10622,6 +10655,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
+ /* freebsd32_cap_rights_limit */
+ case 533:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
#else
/* freebsd32_posix_fallocate */
case 530:
@@ -10638,12 +10676,12 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
-#endif
- /* cap_rights_limit */
+ /* freebsd32_cap_rights_limit */
case 533:
if (ndx == 0 || ndx == 1)
p = "int";
break;
+#endif
/* freebsd32_cap_ioctls_limit */
case 534:
if (ndx == 0 || ndx == 1)
OpenPOWER on IntegriCloud