1 #include "defs.h" 2 #include <linux/fanotify.h> 3 4 #include "xlat/fan_classes.h" 5 #include "xlat/fan_init_flags.h" 6 7 int 8 sys_fanotify_init(struct tcb *tcp) 9 { 10 unsigned flags; 11 12 if (exiting(tcp)) 13 return 0; 14 15 flags = tcp->u_arg[0]; 16 printxval(fan_classes, flags & FAN_ALL_CLASS_BITS, "FAN_CLASS_???"); 17 flags &= ~FAN_ALL_CLASS_BITS; 18 if (flags) { 19 tprints("|"); 20 printflags(fan_init_flags, flags, "FAN_???"); 21 } 22 tprints(", "); 23 tprint_open_modes((unsigned) tcp->u_arg[1]); 24 25 return 0; 26 } 27 28 #include "xlat/fan_mark_flags.h" 29 #include "xlat/fan_event_flags.h" 30 31 int 32 sys_fanotify_mark(struct tcb *tcp) 33 { 34 if (exiting(tcp)) 35 return 0; 36 37 printfd(tcp, tcp->u_arg[0]); 38 tprints(", "); 39 printflags(fan_mark_flags, (unsigned) tcp->u_arg[1], "FAN_MARK_???"); 40 tprints(", "); 41 printflags(fan_event_flags, tcp->u_arg[2], "FAN_???"); 42 tprints(", "); 43 if ((int) tcp->u_arg[3] == FAN_NOFD) 44 tprints("FAN_NOFD, "); 45 else 46 print_dirfd(tcp, tcp->u_arg[3]); 47 printpath(tcp, tcp->u_arg[4]); 48 49 return 0; 50 } 51