Linux Perf
flock.c
Go to the documentation of this file.
1
// SPDX-License-Identifier: GPL-2.0
2
3
#include "
trace/beauty/beauty.h
"
4
#include <linux/kernel.h>
5
#include <uapi/linux/fcntl.h>
6
7
#ifndef LOCK_MAND
8
#define LOCK_MAND 32
9
#endif
10
11
#ifndef LOCK_READ
12
#define LOCK_READ 64
13
#endif
14
15
#ifndef LOCK_WRITE
16
#define LOCK_WRITE 128
17
#endif
18
19
#ifndef LOCK_RW
20
#define LOCK_RW 192
21
#endif
22
23
size_t
syscall_arg__scnprintf_flock
(
char
*bf,
size_t
size
,
struct
syscall_arg
*arg)
24
{
25
int
printed = 0, op = arg->
val
;
26
27
if
(op == 0)
28
return
scnprintf(bf, size,
"NONE"
);
29
#define P_CMD(cmd) \
30
if ((op & LOCK_##cmd) == LOCK_##cmd) { \
31
printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #cmd); \
32
op &= ~LOCK_##cmd; \
33
}
34
35
P_CMD
(SH);
36
P_CMD
(EX);
37
P_CMD
(NB);
38
P_CMD
(UN);
39
P_CMD
(MAND);
40
P_CMD
(RW);
41
P_CMD
(READ);
42
P_CMD
(WRITE);
43
#undef P_OP
44
45
if
(op)
46
printed += scnprintf(bf + printed, size - printed,
"%s%#x"
, printed ?
"|"
:
""
, op);
47
48
return
printed;
49
}
size
size_t size
Definition:
evsel.c:60
beauty.h
P_CMD
#define P_CMD(cmd)
syscall_arg__scnprintf_flock
size_t syscall_arg__scnprintf_flock(char *bf, size_t size, struct syscall_arg *arg)
Definition:
flock.c:23
syscall_arg::val
unsigned long val
Definition:
beauty.h:44
syscall_arg
Definition:
beauty.h:43
trace
beauty
flock.c
Generated by
1.8.13