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]); 78d3743868ebce77fe03c5b1ff6435baa8d084293Dmitry V. Levin tprints(", "); 88d3743868ebce77fe03c5b1ff6435baa8d084293Dmitry V. Levin print_numeric_umode_t(tcp->u_arg[offset + 1]); 9ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin} 10ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin 11a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(chmod) 12ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{ 13a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin decode_chmod(tcp, 0); 14a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin 15a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin return RVAL_DECODED; 16ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin} 17ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin 18a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(fchmodat) 19ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{ 20a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin print_dirfd(tcp, tcp->u_arg[0]); 21a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin decode_chmod(tcp, 1); 22a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin 23a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin return RVAL_DECODED; 24ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin} 25ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin 26a0bd3749fc6fdf6364c1e269a4c02e8c153eb84bDmitry V. LevinSYS_FUNC(fchmod) 27ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin{ 28a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin printfd(tcp, tcp->u_arg[0]); 298d3743868ebce77fe03c5b1ff6435baa8d084293Dmitry V. Levin tprints(", "); 308d3743868ebce77fe03c5b1ff6435baa8d084293Dmitry V. Levin print_numeric_umode_t(tcp->u_arg[1]); 31a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin 32a4d45720d03e5bad080af6c50db98bfae3649021Dmitry V. Levin return RVAL_DECODED; 33ad5cf1e5ae0fa02a1e580a01c04745e5ff52522dDmitry V. Levin} 34