xref: /aosp_15_r20/external/strace/hostname.c (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker #include "defs.h"
2*cf84ac9aSAndroid Build Coastguard Worker 
3*cf84ac9aSAndroid Build Coastguard Worker #ifdef HAVE_LINUX_UTSNAME_H
4*cf84ac9aSAndroid Build Coastguard Worker # include <linux/utsname.h>
5*cf84ac9aSAndroid Build Coastguard Worker #endif
6*cf84ac9aSAndroid Build Coastguard Worker 
7*cf84ac9aSAndroid Build Coastguard Worker #ifndef __NEW_UTS_LEN
8*cf84ac9aSAndroid Build Coastguard Worker # define __NEW_UTS_LEN 64
9*cf84ac9aSAndroid Build Coastguard Worker #endif
10*cf84ac9aSAndroid Build Coastguard Worker 
SYS_FUNC(sethostname)11*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(sethostname)
12*cf84ac9aSAndroid Build Coastguard Worker {
13*cf84ac9aSAndroid Build Coastguard Worker 	unsigned int len = tcp->u_arg[1];
14*cf84ac9aSAndroid Build Coastguard Worker 
15*cf84ac9aSAndroid Build Coastguard Worker 	if (len > __NEW_UTS_LEN) {
16*cf84ac9aSAndroid Build Coastguard Worker 		printaddr(tcp->u_arg[0]);
17*cf84ac9aSAndroid Build Coastguard Worker 	} else {
18*cf84ac9aSAndroid Build Coastguard Worker 		printstrn(tcp, tcp->u_arg[0], len);
19*cf84ac9aSAndroid Build Coastguard Worker 	}
20*cf84ac9aSAndroid Build Coastguard Worker 
21*cf84ac9aSAndroid Build Coastguard Worker 	tprintf(", %u", len);
22*cf84ac9aSAndroid Build Coastguard Worker 
23*cf84ac9aSAndroid Build Coastguard Worker 	return RVAL_DECODED;
24*cf84ac9aSAndroid Build Coastguard Worker }
25*cf84ac9aSAndroid Build Coastguard Worker 
26*cf84ac9aSAndroid Build Coastguard Worker #if defined(ALPHA)
SYS_FUNC(gethostname)27*cf84ac9aSAndroid Build Coastguard Worker SYS_FUNC(gethostname)
28*cf84ac9aSAndroid Build Coastguard Worker {
29*cf84ac9aSAndroid Build Coastguard Worker 	if (exiting(tcp)) {
30*cf84ac9aSAndroid Build Coastguard Worker 		if (syserror(tcp))
31*cf84ac9aSAndroid Build Coastguard Worker 			printaddr(tcp->u_arg[0]);
32*cf84ac9aSAndroid Build Coastguard Worker 		else
33*cf84ac9aSAndroid Build Coastguard Worker 			printstr(tcp, tcp->u_arg[0]);
34*cf84ac9aSAndroid Build Coastguard Worker 		tprintf(", %" PRI_klu, tcp->u_arg[1]);
35*cf84ac9aSAndroid Build Coastguard Worker 	}
36*cf84ac9aSAndroid Build Coastguard Worker 	return 0;
37*cf84ac9aSAndroid Build Coastguard Worker }
38*cf84ac9aSAndroid Build Coastguard Worker #endif /* ALPHA */
39