* extension to get the right value. We do this by declaring fd as int here.
*/
static void
-print_dirfd(int fd)
+print_dirfd(struct tcb *tcp, int fd)
{
if (fd == AT_FDCWD)
tprintf("AT_FDCWD, ");
else
- tprintf("%d, ", fd);
+ {
+ printfd(tcp, fd);
+ tprintf(", ");
+ }
}
#endif
sys_openat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_open(tcp, 1);
}
#endif
sys_faccessat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_access(tcp, 1);
}
#endif
int _whence;
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
offset = tcp->ext_arg[1];
_whence = tcp->u_arg[2];
if (_whence == SEEK_SET)
int _whence;
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
offset = tcp->u_arg[1];
_whence = tcp->u_arg[2];
if (_whence == SEEK_SET)
sys_llseek(struct tcb *tcp)
{
if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
/*
* This one call takes explicitly two 32-bit arguments hi, lo,
* rather than one 64-bit argument for which LONG_LONG works
* appropriate for the native byte order.
*/
if (tcp->u_arg[4] == SEEK_SET)
- tprintf("%ld, %llu, ", tcp->u_arg[0],
- (((long long int) tcp->u_arg[1]) << 32
- | (unsigned long long) (unsigned) tcp->u_arg[2]));
+ tprintf(", %llu, ",
+ ((long long int) tcp->u_arg[1]) << 32 |
+ (unsigned long long) (unsigned) tcp->u_arg[2]);
else
- tprintf("%ld, %lld, ", tcp->u_arg[0],
- (((long long int) tcp->u_arg[1]) << 32
- | (unsigned long long) (unsigned) tcp->u_arg[2]));
+ tprintf(", %lld, ",
+ ((long long int) tcp->u_arg[1]) << 32 |
+ (unsigned long long) (unsigned) tcp->u_arg[2]);
}
else {
long long int off;
{
if (entering(tcp)) {
int argn;
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
argn = printllval(tcp, "%lld", 1);
tprintf(", %ld", tcp->u_arg[argn]);
}
{
if (entering(tcp)) {
int argn;
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
if (tcp->u_arg[3] == SEEK_SET)
argn = printllval(tcp, "%llu, ", 1);
else
sys_ftruncate(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, %lu", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", %lu", tcp->u_arg[1]);
}
return 0;
}
sys_ftruncate64(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printllval(tcp, "%llu", 1);
}
return 0;
sys_newfstatat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
printpath(tcp, tcp->u_arg[1]);
tprintf(", ");
} else {
int
sys_fstat(struct tcb *tcp)
{
- if (entering(tcp))
- tprintf("%ld, ", tcp->u_arg[0]);
- else {
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ } else {
printstat(tcp, tcp->u_arg[1]);
}
return 0;
sys_fstat64(struct tcb *tcp)
{
#ifdef HAVE_STAT64
- if (entering(tcp))
- tprintf("%ld, ", tcp->u_arg[0]);
- else {
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ } else {
printstat64(tcp, tcp->u_arg[1]);
}
return 0;
int
sys_oldfstat(struct tcb *tcp)
{
- if (entering(tcp))
- tprintf("%ld, ", tcp->u_arg[0]);
- else {
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ } else {
printoldstat(tcp, tcp->u_arg[1]);
}
return 0;
sys_fstatfs(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%lu, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
printstatfs(tcp, tcp->u_arg[1]);
}
sys_fstatfs64(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", %lu, ", tcp->u_arg[1]);
} else {
if (tcp->u_arg[1] == sizeof (struct statfs64))
printstatfs64(tcp, tcp->u_arg[2]);
sys_mkdirat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_mkdir(tcp, 1);
}
#endif
sys_fchdir(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
}
return 0;
}
sys_fchroot(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
}
return 0;
}
sys_linkat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
printpath(tcp, tcp->u_arg[1]);
tprintf(", ");
- print_dirfd(tcp->u_arg[2]);
+ print_dirfd(tcp, tcp->u_arg[2]);
printpath(tcp, tcp->u_arg[3]);
- tprintf(", %ld", tcp->u_arg[4]);
+ tprintf(", ");
+ printfd(tcp, tcp->u_arg[4]);
}
return 0;
}
sys_unlinkat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
printpath(tcp, tcp->u_arg[1]);
tprintf(", ");
printflags(unlinkatflags, tcp->u_arg[2], "AT_???");
if (entering(tcp)) {
printpath(tcp, tcp->u_arg[0]);
tprintf(", ");
- print_dirfd(tcp->u_arg[1]);
+ print_dirfd(tcp, tcp->u_arg[1]);
printpath(tcp, tcp->u_arg[2]);
}
return 0;
sys_readlinkat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_readlink(tcp, 1);
}
#endif
sys_renameat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
printpath(tcp, tcp->u_arg[1]);
tprintf(", ");
- print_dirfd(tcp->u_arg[2]);
+ print_dirfd(tcp, tcp->u_arg[2]);
printpath(tcp, tcp->u_arg[3]);
}
return 0;
sys_fchownat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
printpath(tcp, tcp->u_arg[1]);
printuid(", ", tcp->u_arg[2]);
printuid(", ", tcp->u_arg[3]);
sys_fchown(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
printuid(", ", tcp->u_arg[1]);
printuid(", ", tcp->u_arg[2]);
}
sys_fchmodat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_chmod(tcp, 1);
}
#endif
sys_fchmod(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, %#lo", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", %#lo", tcp->u_arg[1]);
}
return 0;
}
sys_futimesat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_utimes(tcp, 1, 0);
}
sys_utimensat(struct tcb *tcp)
{
if (entering(tcp)) {
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
decode_utimes(tcp, 1, 1);
tprintf(", ");
printflags(utimensatflags, tcp->u_arg[3], "AT_???");
sys_mknodat(struct tcb *tcp)
{
if (entering(tcp))
- print_dirfd(tcp->u_arg[0]);
+ print_dirfd(tcp, tcp->u_arg[0]);
return decode_mknod(tcp, 1);
}
#endif
sys_fsync(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
}
return 0;
}
sys_readdir(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%lu, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp) || tcp->u_rval == 0 || !verbose(tcp))
tprintf("%#lx", tcp->u_arg[1]);
char *buf;
if (entering(tcp)) {
- tprintf("%lu, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
return 0;
}
if (syserror(tcp) || !verbose(tcp)) {
char *buf;
if (entering(tcp)) {
- tprintf("%lu, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
return 0;
}
if (syserror(tcp) || !verbose(tcp)) {
char *buf;
if (entering(tcp)) {
- tprintf("%lu, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
return 0;
}
if (syserror(tcp) || !verbose(tcp)) {
sys_fsetxattr(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], -1);
print_xattr_val(tcp, 0, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
tprintf(", ");
sys_fgetxattr(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], -1);
} else {
print_xattr_val(tcp, syserror(tcp), tcp->u_arg[2], tcp->u_arg[3],
sys_flistxattr(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
} else {
/* XXX Print value in format */
tprintf(", %p, %lu", (void *) tcp->u_arg[1], tcp->u_arg[2]);
sys_fremovexattr(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], -1);
}
return 0;
{
if (entering(tcp)) {
int argn;
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
argn = printllval(tcp, "%lld", 1);
tprintf(", %ld, ", tcp->u_arg[argn++]);
printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???");
{
if (entering(tcp)) {
int argn;
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
#if defined ARM || defined POWERPC
argn = printllval(tcp, "%lld, ", 2);
#else
sys_inotify_add_watch(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printpath(tcp, tcp->u_arg[1]);
tprintf(", ");
printflags(inotify_modes, tcp->u_arg[2], "IN_???");
sys_inotify_rm_watch(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, %ld", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", %ld", tcp->u_arg[1]);
}
return 0;
}
{
if (entering(tcp)) {
int argn;
- tprintf("%ld, ", tcp->u_arg[0]); /* fd */
+ printfd(tcp, tcp->u_arg[0]); /* fd */
+ tprintf(", ");
tprintf("%#lo, ", tcp->u_arg[1]); /* mode */
argn = printllval(tcp, "%llu, ", 2); /* offset */
printllval(tcp, "%llu", argn); /* len */
#endif
int
-sys_read(tcp)
-struct tcb *tcp;
+sys_read(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[1]);
}
int
-sys_write(tcp)
-struct tcb *tcp;
+sys_write(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
tprintf(", %lu", tcp->u_arg[2]);
}
}
int
-sys_readv(tcp)
-struct tcb *tcp;
+sys_readv(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp)) {
tprintf("%#lx, %lu",
}
int
-sys_writev(tcp)
-struct tcb *tcp;
+sys_writev(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
tprint_iov(tcp, tcp->u_arg[2], tcp->u_arg[1]);
tprintf(", %lu", tcp->u_arg[2]);
}
#if defined(SVR4)
int
-sys_pread(tcp)
-struct tcb *tcp;
+sys_pread(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[1]);
}
int
-sys_pwrite(tcp)
-struct tcb *tcp;
+sys_pwrite(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
#if UNIXWARE
/* off_t is signed int */
#include <sys/socket.h>
int
-sys_sendfile(tcp)
-struct tcb *tcp;
+sys_sendfile(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, %ld, %llu, %lu", tcp->u_arg[0], tcp->u_arg[1],
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ printfd(tcp, tcp->u_arg[1]);
+ tprintf(", %llu, %lu",
LONG_LONG(tcp->u_arg[2], tcp->u_arg[3]),
tcp->u_arg[4]);
} else {
#endif
int
-sys_pread(tcp)
-struct tcb *tcp;
+sys_pread(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[1]);
}
int
-sys_pwrite(tcp)
-struct tcb *tcp;
+sys_pwrite(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
tprintf(", %lu, ", tcp->u_arg[2]);
printllval(tcp, "%llu", PREAD_OFFSET_ARG);
}
int
-sys_sendfile(tcp)
-struct tcb *tcp;
+sys_sendfile(struct tcb *tcp)
{
if (entering(tcp)) {
off_t offset;
- tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ printfd(tcp, tcp->u_arg[1]);
+ tprintf(", ");
if (!tcp->u_arg[2])
tprintf("NULL");
else if (umove(tcp, tcp->u_arg[2], &offset) < 0)
}
int
-sys_sendfile64(tcp)
-struct tcb *tcp;
+sys_sendfile64(struct tcb *tcp)
{
if (entering(tcp)) {
loff_t offset;
- tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
+ printfd(tcp, tcp->u_arg[1]);
+ tprintf(", ");
if (!tcp->u_arg[2])
tprintf("NULL");
else if (umove(tcp, tcp->u_arg[2], &offset) < 0)
#if _LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T
int
-sys_pread64(tcp)
-struct tcb *tcp;
+sys_pread64(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
} else {
if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[1]);
}
int
-sys_pwrite64(tcp)
-struct tcb *tcp;
+sys_pwrite64(struct tcb *tcp)
{
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
tprintf(", %lu, ", tcp->u_arg[2]);
printllval(tcp, "%#llx", 3);
#endif
int
-sys_ioctl(tcp)
-struct tcb *tcp;
+sys_ioctl(struct tcb *tcp)
{
const struct ioctlent *iop;
if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
+ printfd(tcp, tcp->u_arg[0]);
+ tprintf(", ");
iop = ioctl_lookup(tcp->u_arg[1]);
if (iop) {
tprintf("%s", iop->symbol);