xref: /aosp_15_r20/external/strace/tests-m32/xattr-strings.c (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker #include "tests.h"
2*cf84ac9aSAndroid Build Coastguard Worker 
3*cf84ac9aSAndroid Build Coastguard Worker #ifdef HAVE_SYS_XATTR_H
4*cf84ac9aSAndroid Build Coastguard Worker 
5*cf84ac9aSAndroid Build Coastguard Worker # include <stdio.h>
6*cf84ac9aSAndroid Build Coastguard Worker # include <sys/xattr.h>
7*cf84ac9aSAndroid Build Coastguard Worker 
8*cf84ac9aSAndroid Build Coastguard Worker int
main(void)9*cf84ac9aSAndroid Build Coastguard Worker main(void)
10*cf84ac9aSAndroid Build Coastguard Worker {
11*cf84ac9aSAndroid Build Coastguard Worker 	static const char name[] = "strace.test";
12*cf84ac9aSAndroid Build Coastguard Worker 	static const char c_value[] = "foobar";
13*cf84ac9aSAndroid Build Coastguard Worker 
14*cf84ac9aSAndroid Build Coastguard Worker 	const char *const z_value = tail_memdup(c_value, sizeof(c_value));
15*cf84ac9aSAndroid Build Coastguard Worker 	long rc;
16*cf84ac9aSAndroid Build Coastguard Worker 
17*cf84ac9aSAndroid Build Coastguard Worker 	rc = fsetxattr(-1, name, z_value, sizeof(c_value), XATTR_REPLACE);
18*cf84ac9aSAndroid Build Coastguard Worker 	printf("fsetxattr(-1, \"%.*s\"..., \"%.*s\"..., %u, XATTR_REPLACE) = %s\n",
19*cf84ac9aSAndroid Build Coastguard Worker 	       4, name, 4, c_value, (unsigned) sizeof(c_value), sprintrc(rc));
20*cf84ac9aSAndroid Build Coastguard Worker 
21*cf84ac9aSAndroid Build Coastguard Worker 
22*cf84ac9aSAndroid Build Coastguard Worker 	puts("+++ exited with 0 +++");
23*cf84ac9aSAndroid Build Coastguard Worker 	return 0;
24*cf84ac9aSAndroid Build Coastguard Worker }
25*cf84ac9aSAndroid Build Coastguard Worker 
26*cf84ac9aSAndroid Build Coastguard Worker #else
27*cf84ac9aSAndroid Build Coastguard Worker 
28*cf84ac9aSAndroid Build Coastguard Worker SKIP_MAIN_UNDEFINED("HAVE_SYS_XATTR_H")
29*cf84ac9aSAndroid Build Coastguard Worker 
30*cf84ac9aSAndroid Build Coastguard Worker #endif
31