3 #ifdef HAVE_SYS_XATTR_H
4 # include <sys/xattr.h>
7 #include "xlat/xattrflags.h"
10 print_xattr_val(struct tcb *tcp,
22 if (size != (unsigned long) len)
26 tprintf(", \"\", %ld", insize);
34 if (umoven(tcp, arg, len, buf) < 0) {
39 /* Don't print terminating NUL if there is one. */
40 if (buf[len - 1] == '\0')
44 print_quoted_string(buf, len, 0);
45 tprintf(", %ld", insize);
51 tprintf(", 0x%lx, %ld", arg, insize);
57 printpath(tcp, tcp->u_arg[0]);
59 printstr(tcp, tcp->u_arg[1], -1);
60 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
62 printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
70 printfd(tcp, tcp->u_arg[0]);
72 printstr(tcp, tcp->u_arg[1], -1);
73 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
75 printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
83 printpath(tcp, tcp->u_arg[0]);
85 printstr(tcp, tcp->u_arg[1], -1);
87 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_rval);
95 printfd(tcp, tcp->u_arg[0]);
97 printstr(tcp, tcp->u_arg[1], -1);
99 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_rval);
105 print_xattr_list(struct tcb *tcp, unsigned long addr, unsigned long size)
111 (size < (unsigned long) tcp->u_rval) ?
112 size : (unsigned long) tcp->u_rval;
113 printstr(tcp, addr, len);
115 tprintf(", %lu", size);
121 printpath(tcp, tcp->u_arg[0]);
124 print_xattr_list(tcp, tcp->u_arg[1], tcp->u_arg[2]);
132 printfd(tcp, tcp->u_arg[0]);
135 print_xattr_list(tcp, tcp->u_arg[1], tcp->u_arg[2]);
140 SYS_FUNC(removexattr)
143 printpath(tcp, tcp->u_arg[0]);
145 printstr(tcp, tcp->u_arg[1], -1);
150 SYS_FUNC(fremovexattr)
153 printfd(tcp, tcp->u_arg[0]);
155 printstr(tcp, tcp->u_arg[1], -1);