xref: /aosp_15_r20/external/strace/chmod.c (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker #include "defs.h"
2*cf84ac9aSAndroid Build Coastguard Worker 
3*cf84ac9aSAndroid Build Coastguard Worker static void
decode_chmod(struct tcb * tcp,const int offset)4*cf84ac9aSAndroid Build Coastguard Worker decode_chmod(struct tcb *tcp, const int offset)
5*cf84ac9aSAndroid Build Coastguard Worker {
6*cf84ac9aSAndroid Build Coastguard Worker 	printpath(tcp, tcp->u_arg[offset]);
7*cf84ac9aSAndroid Build Coastguard Worker 	tprints(", ");
8*cf84ac9aSAndroid Build Coastguard Worker 	print_numeric_umode_t(tcp->u_arg[offset + 1]);
9*cf84ac9aSAndroid Build Coastguard Worker }
10*cf84ac9aSAndroid Build Coastguard Worker 
SYS_FUNC(chmod)11*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(chmod)
12*cf84ac9aSAndroid Build Coastguard Worker {
13*cf84ac9aSAndroid Build Coastguard Worker 	decode_chmod(tcp, 0);
14*cf84ac9aSAndroid Build Coastguard Worker 
15*cf84ac9aSAndroid Build Coastguard Worker 	return RVAL_DECODED;
16*cf84ac9aSAndroid Build Coastguard Worker }
17*cf84ac9aSAndroid Build Coastguard Worker 
SYS_FUNC(fchmodat)18*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(fchmodat)
19*cf84ac9aSAndroid Build Coastguard Worker {
20*cf84ac9aSAndroid Build Coastguard Worker 	print_dirfd(tcp, tcp->u_arg[0]);
21*cf84ac9aSAndroid Build Coastguard Worker 	decode_chmod(tcp, 1);
22*cf84ac9aSAndroid Build Coastguard Worker 
23*cf84ac9aSAndroid Build Coastguard Worker 	return RVAL_DECODED;
24*cf84ac9aSAndroid Build Coastguard Worker }
25*cf84ac9aSAndroid Build Coastguard Worker 
SYS_FUNC(fchmod)26*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(fchmod)
27*cf84ac9aSAndroid Build Coastguard Worker {
28*cf84ac9aSAndroid Build Coastguard Worker 	printfd(tcp, tcp->u_arg[0]);
29*cf84ac9aSAndroid Build Coastguard Worker 	tprints(", ");
30*cf84ac9aSAndroid Build Coastguard Worker 	print_numeric_umode_t(tcp->u_arg[1]);
31*cf84ac9aSAndroid Build Coastguard Worker 
32*cf84ac9aSAndroid Build Coastguard Worker 	return RVAL_DECODED;
33*cf84ac9aSAndroid Build Coastguard Worker }
34