aboutsummaryrefslogtreecommitdiff
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.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 6822bc29b551..88a073508586 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3384,6 +3384,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 2;
break;
}
+ /* __specialfd */
+ case 577: {
+ struct __specialfd_args *p = params;
+ iarg[0] = p->type; /* int */
+ uarg[1] = (intptr_t) p->req; /* const void * */
+ uarg[2] = p->len; /* size_t */
+ *n_args = 3;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -9124,6 +9133,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+ /* __specialfd */
+ case 577:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "userland const void *";
+ break;
+ case 2:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
@@ -11028,6 +11053,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
+ /* __specialfd */
+ case 577:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
default:
break;
};