3 #include "xlat/fan_classes.h"
4 #include "xlat/fan_init_flags.h"
6 #ifndef FAN_ALL_CLASS_BITS
7 # define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | FAN_CLASS_PRE_CONTENT)
14 sys_fanotify_init(struct tcb *tcp)
21 flags = tcp->u_arg[0];
22 printxval(fan_classes, flags & FAN_ALL_CLASS_BITS, "FAN_CLASS_???");
23 flags &= ~FAN_ALL_CLASS_BITS;
26 printflags(fan_init_flags, flags, "FAN_???");
29 tprint_open_modes((unsigned) tcp->u_arg[1]);
34 #include "xlat/fan_mark_flags.h"
35 #include "xlat/fan_event_flags.h"
38 sys_fanotify_mark(struct tcb *tcp)
40 unsigned long long mask = 0;
46 printfd(tcp, tcp->u_arg[0]);
48 printflags(fan_mark_flags, (unsigned) tcp->u_arg[1], "FAN_MARK_???");
51 * the mask argument is defined as 64-bit,
52 * but kernel uses the lower 32 bits only.
54 argn = getllval(tcp, &mask, 2);
56 /* Parsic is weird. See arch/parisc/kernel/sys_parisc32.c. */
57 mask = (mask << 32) | (mask >> 32);
59 printflags(fan_event_flags, mask, "FAN_???");
61 if ((int) tcp->u_arg[argn] == FAN_NOFD)
62 tprints("FAN_NOFD, ");
64 print_dirfd(tcp, tcp->u_arg[argn]);
65 printpath(tcp, tcp->u_arg[argn + 1]);