chmod.c revision a4d45720d03e5bad080af6c50db98bfae3649021
1ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin#include "defs.h"
2ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin
3a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levinstatic void
4a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levindecode_chmod(struct tcb *tcp, const int offset)
5ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{
6a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	printpath(tcp, tcp->u_arg[offset]);
7a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	tprintf(", %#lo", tcp->u_arg[offset + 1]);
8ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin}
9ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin
10a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(chmod)
11ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{
12a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	decode_chmod(tcp, 0);
13a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin
14a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	return RVAL_DECODED;
15ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin}
16ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin
17a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(fchmodat)
18ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{
19a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	print_dirfd(tcp, tcp->u_arg[0]);
20a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	decode_chmod(tcp, 1);
21a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin
22a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	return RVAL_DECODED;
23ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin}
24ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin
25a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(fchmod)
26ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{
27a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	printfd(tcp, tcp->u_arg[0]);
28a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	tprintf(", %#lo", tcp->u_arg[1]);
29a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin
30a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin	return RVAL_DECODED;
31ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin}
32