summaryrefslogtreecommitdiffstats
path: root/tools/perf/trace/beauty/futex_val3.c
blob: fe4e82741ffc1c8ca7b512104d8a5cf167f0963a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// SPDX-License-Identifier: LGPL-2.1
#include "trace/beauty/beauty.h"
#include <linux/futex.h>

#ifndef FUTEX_BITSET_MATCH_ANY
#define FUTEX_BITSET_MATCH_ANY 0xffffffff
#endif

size_t syscall_arg__scnprintf_futex_val3(char *bf, size_t size, struct syscall_arg *arg)
{
	const char *prefix = "FUTEX_BITSET_";
	unsigned int bitset = arg->val;

	if (bitset == FUTEX_BITSET_MATCH_ANY)
		return scnprintf(bf, size, "%s%s", arg->show_string_prefix ? prefix : "", "MATCH_ANY");

	return scnprintf(bf, size, "%#xd", bitset);
}