diff options
Diffstat (limited to 'sys/compat/freebsd32/freebsd32_systrace_args.c')
-rw-r--r-- | sys/compat/freebsd32/freebsd32_systrace_args.c | 58 |
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) |