xref: /openbmc/linux/tools/perf/trace/beauty/futex_val3.c (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1794f594eSArnaldo Carvalho de Melo // SPDX-License-Identifier: LGPL-2.1
23258abe0SArnaldo Carvalho de Melo #include <linux/futex.h>
33258abe0SArnaldo Carvalho de Melo 
43258abe0SArnaldo Carvalho de Melo #ifndef FUTEX_BITSET_MATCH_ANY
53258abe0SArnaldo Carvalho de Melo #define FUTEX_BITSET_MATCH_ANY 0xffffffff
63258abe0SArnaldo Carvalho de Melo #endif
73258abe0SArnaldo Carvalho de Melo 
syscall_arg__scnprintf_futex_val3(char * bf,size_t size,struct syscall_arg * arg)83258abe0SArnaldo Carvalho de Melo static size_t syscall_arg__scnprintf_futex_val3(char *bf, size_t size, struct syscall_arg *arg)
93258abe0SArnaldo Carvalho de Melo {
10*c65c83ffSArnaldo Carvalho de Melo 	const char *prefix = "FUTEX_BITSET_";
113258abe0SArnaldo Carvalho de Melo 	unsigned int bitset = arg->val;
123258abe0SArnaldo Carvalho de Melo 
133258abe0SArnaldo Carvalho de Melo 	if (bitset == FUTEX_BITSET_MATCH_ANY)
14*c65c83ffSArnaldo Carvalho de Melo 		return scnprintf(bf, size, "%s%s", arg->show_string_prefix ? prefix : "", "MATCH_ANY");
153258abe0SArnaldo Carvalho de Melo 
163258abe0SArnaldo Carvalho de Melo 	return scnprintf(bf, size, "%#xd", bitset);
173258abe0SArnaldo Carvalho de Melo }
183258abe0SArnaldo Carvalho de Melo 
193258abe0SArnaldo Carvalho de Melo #define SCA_FUTEX_VAL3  syscall_arg__scnprintf_futex_val3
20