12f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin#include "defs.h" 22f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin#include <fcntl.h> 32f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin#include <linux/inotify.h> 42f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin 50ed617bd66624cec6138102545d73b2e2346f1f6Dmitry V. Levin#include "xlat/inotify_flags.h" 60ed617bd66624cec6138102545d73b2e2346f1f6Dmitry V. Levin#include "xlat/inotify_init_flags.h" 72f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin 82f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinint 92f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinsys_inotify_add_watch(struct tcb *tcp) 102f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin{ 112f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin if (entering(tcp)) { 122f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin /* file descriptor */ 132f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin printfd(tcp, tcp->u_arg[0]); 142f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin tprints(", "); 152f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin /* pathname */ 162f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin printpath(tcp, tcp->u_arg[1]); 172f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin tprints(", "); 182f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin /* mask */ 192f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin printflags(inotify_flags, tcp->u_arg[2], "IN_???"); 202f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin } 212f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin return 0; 222f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin} 232f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin 242f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinint 252f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinsys_inotify_rm_watch(struct tcb *tcp) 262f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin{ 272f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin if (entering(tcp)) { 282f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin /* file descriptor */ 292f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin printfd(tcp, tcp->u_arg[0]); 302f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin /* watch descriptor */ 312f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin tprintf(", %d", (int) tcp->u_arg[1]); 322f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin } 332f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin return 0; 342f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin} 352f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin 362f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinint 372f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levinsys_inotify_init1(struct tcb *tcp) 382f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin{ 392f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin if (entering(tcp)) 402f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin printflags(inotify_init_flags, tcp->u_arg[0], "IN_???"); 412f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin return 0; 422f332e937a549f7073a74ebeb66d0a4fe70040c9Dmitry V. Levin} 43