summaryrefslogtreecommitdiff
path: root/system.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2007-01-13 11:15:48 +0000
committerDmitry V. Levin <ldv@altlinux.org>2007-01-13 11:15:48 +0000
commit5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71 (patch)
tree82b2ba2633d966ce7d39d22574b9e50ddeffc3a3 /system.c
parent9b5b67eb43bf90e83834126dfde4472e5a721080 (diff)
downloadstrace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.gz
strace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.bz2
strace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.xz
2007-01-11 Dmitry V. Levin <ldv@altlinux.org>
Update umount parser. * system.c [LINUX] (MNT_FORCE, MNT_DETACH, MNT_EXPIRE): New macros. [LINUX] (umount_flags): New xlat structure with MNT_* entries. [LINUX] (sys_umount2): Use umount_flags.
Diffstat (limited to 'system.c')
-rw-r--r--system.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/system.c b/system.c
index 5752f4f..0970d71 100644
--- a/system.c
+++ b/system.c
@@ -124,17 +124,24 @@ struct tcb *tcp;
return 0;
}
+#define MNT_FORCE 0x00000001 /* Attempt to forcibily umount */
+#define MNT_DETACH 0x00000002 /* Just detach from the tree */
+#define MNT_EXPIRE 0x00000004 /* Mark for expiry */
+
+static const struct xlat umount_flags[] = {
+ { MNT_FORCE, "MNT_FORCE" },
+ { MNT_DETACH, "MNT_DETACH" },
+ { MNT_EXPIRE, "MNT_EXPIRE" },
+ { 0, NULL },
+};
+
int
-sys_umount2(tcp)
-struct tcb *tcp;
+sys_umount2(struct tcb *tcp)
{
if (entering(tcp)) {
printstr(tcp, tcp->u_arg[0], -1);
tprintf(", ");
- if (tcp->u_arg[1] & 1)
- tprintf("MNT_FORCE");
- else
- tprintf("0");
+ printflags(umount_flags, tcp->u_arg[1], "MNT_???");
}
return 0;
}