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