51 lines
981 B
C
51 lines
981 B
C
#include "defs.h"
|
|
#include <linux/fanotify.h>
|
|
|
|
#include "xlat/fan_classes.h"
|
|
#include "xlat/fan_init_flags.h"
|
|
|
|
int
|
|
sys_fanotify_init(struct tcb *tcp)
|
|
{
|
|
unsigned flags;
|
|
|
|
if (exiting(tcp))
|
|
return 0;
|
|
|
|
flags = tcp->u_arg[0];
|
|
printxval(fan_classes, flags & FAN_ALL_CLASS_BITS, "FAN_CLASS_???");
|
|
flags &= ~FAN_ALL_CLASS_BITS;
|
|
if (flags) {
|
|
tprints("|");
|
|
printflags(fan_init_flags, flags, "FAN_???");
|
|
}
|
|
tprints(", ");
|
|
tprint_open_modes((unsigned) tcp->u_arg[1]);
|
|
|
|
return 0;
|
|
}
|
|
|
|
#include "xlat/fan_mark_flags.h"
|
|
#include "xlat/fan_event_flags.h"
|
|
|
|
int
|
|
sys_fanotify_mark(struct tcb *tcp)
|
|
{
|
|
if (exiting(tcp))
|
|
return 0;
|
|
|
|
printfd(tcp, tcp->u_arg[0]);
|
|
tprints(", ");
|
|
printflags(fan_mark_flags, (unsigned) tcp->u_arg[1], "FAN_MARK_???");
|
|
tprints(", ");
|
|
printflags(fan_event_flags, tcp->u_arg[2], "FAN_???");
|
|
tprints(", ");
|
|
if ((int) tcp->u_arg[3] == FAN_NOFD)
|
|
tprints("FAN_NOFD, ");
|
|
else
|
|
print_dirfd(tcp, tcp->u_arg[3]);
|
|
printpath(tcp, tcp->u_arg[4]);
|
|
|
|
return 0;
|
|
}
|