3 #ifdef HAVE_SYS_XATTR_H
4 # include <sys/xattr.h>
7 #include "xlat/xattrflags.h"
10 print_xattr_val(struct tcb *tcp,
24 if (size != (unsigned long) len)
28 tprintf("\"\", %ld", insize);
32 if (!verbose(tcp) || (exiting(tcp) && syserror(tcp)))
39 if (umoven(tcp, addr, len, buf) < 0) {
45 /* Don't print terminating NUL if there is one. */
46 if (buf[len - 1] == '\0')
51 print_quoted_string(buf, len, 0);
56 tprintf(", %ld", insize);
61 printpath(tcp, tcp->u_arg[0]);
63 printstr(tcp, tcp->u_arg[1], -1);
64 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
66 printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
72 printfd(tcp, tcp->u_arg[0]);
74 printstr(tcp, tcp->u_arg[1], -1);
75 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_arg[3]);
77 printflags(xattrflags, tcp->u_arg[4], "XATTR_???");
84 printpath(tcp, tcp->u_arg[0]);
86 printstr(tcp, tcp->u_arg[1], -1);
88 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_rval);
96 printfd(tcp, tcp->u_arg[0]);
98 printstr(tcp, tcp->u_arg[1], -1);
100 print_xattr_val(tcp, tcp->u_arg[2], tcp->u_arg[3], tcp->u_rval);
106 print_xattr_list(struct tcb *tcp, unsigned long addr, unsigned long size)
112 (size < (unsigned long) tcp->u_rval) ?
113 size : (unsigned long) tcp->u_rval;
114 printstr(tcp, addr, len);
116 tprintf(", %lu", size);
122 printpath(tcp, tcp->u_arg[0]);
125 print_xattr_list(tcp, tcp->u_arg[1], tcp->u_arg[2]);
133 printfd(tcp, tcp->u_arg[0]);
136 print_xattr_list(tcp, tcp->u_arg[1], tcp->u_arg[2]);
141 SYS_FUNC(removexattr)
143 printpath(tcp, tcp->u_arg[0]);
145 printstr(tcp, tcp->u_arg[1], -1);
149 SYS_FUNC(fremovexattr)
151 printfd(tcp, tcp->u_arg[0]);
153 printstr(tcp, tcp->u_arg[1], -1);