]> git.ipfire.org Git - thirdparty/kernel/stable.git/blame - tools/perf/trace/beauty/beauty.h
perf trace beauty: Export the pid beautifier for use in more places
[thirdparty/kernel/stable.git] / tools / perf / trace / beauty / beauty.h
CommitLineData
fd5cead2
ACM
1#ifndef _PERF_TRACE_BEAUTY_H
2#define _PERF_TRACE_BEAUTY_H
3
4#include <linux/types.h>
5
6struct trace;
7struct thread;
8
f9f83b33
ACM
9/**
10 * @val: value of syscall argument being formatted
11 * @args: All the args, use syscall_args__val(arg, nth) to access one
12 * @thread: tid state (maps, pid, tid, etc)
13 * @trace: 'perf trace' internals: all threads, etc
14 * @parm: private area, may be an strarray, for instance
15 * @idx: syscall arg idx (is this the first?)
16 * @mask: a syscall arg may mask another arg, see syscall_arg__scnprintf_futex_op
17 */
18
fd5cead2
ACM
19struct syscall_arg {
20 unsigned long val;
f9f83b33 21 unsigned char *args;
fd5cead2
ACM
22 struct thread *thread;
23 struct trace *trace;
24 void *parm;
25 u8 idx;
26 u8 mask;
27};
28
f9f83b33
ACM
29unsigned long syscall_arg__val(struct syscall_arg *arg, u8 idx);
30
274e86fd
ACM
31size_t syscall_arg__scnprintf_strarrays(char *bf, size_t size, struct syscall_arg *arg);
32#define SCA_STRARRAYS syscall_arg__scnprintf_strarrays
33
fc65eb82
ACM
34size_t syscall_arg__scnprintf_fd(char *bf, size_t size, struct syscall_arg *arg);
35#define SCA_FD syscall_arg__scnprintf_fd
36
2c2b1623
ACM
37size_t syscall_arg__scnprintf_hex(char *bf, size_t size, struct syscall_arg *arg);
38#define SCA_HEX syscall_arg__scnprintf_hex
39
40size_t syscall_arg__scnprintf_int(char *bf, size_t size, struct syscall_arg *arg);
41#define SCA_INT syscall_arg__scnprintf_int
42
5dde91ed
ACM
43size_t syscall_arg__scnprintf_long(char *bf, size_t size, struct syscall_arg *arg);
44#define SCA_LONG syscall_arg__scnprintf_long
45
ff2f1b2d
ACM
46size_t syscall_arg__scnprintf_pid(char *bf, size_t size, struct syscall_arg *arg);
47#define SCA_PID syscall_arg__scnprintf_pid
48
9cb7cf86
ACM
49size_t syscall_arg__scnprintf_fcntl_cmd(char *bf, size_t size, struct syscall_arg *arg);
50#define SCA_FCNTL_CMD syscall_arg__scnprintf_fcntl_cmd
51
9c47f667
ACM
52size_t syscall_arg__scnprintf_fcntl_arg(char *bf, size_t size, struct syscall_arg *arg);
53#define SCA_FCNTL_ARG syscall_arg__scnprintf_fcntl_arg
54
7ee57434
ACM
55size_t syscall_arg__scnprintf_open_flags(char *bf, size_t size, struct syscall_arg *arg);
56#define SCA_OPEN_FLAGS syscall_arg__scnprintf_open_flags
57
fd5cead2
ACM
58size_t syscall_arg__scnprintf_statx_flags(char *bf, size_t size, struct syscall_arg *arg);
59#define SCA_STATX_FLAGS syscall_arg__scnprintf_statx_flags
60
61size_t syscall_arg__scnprintf_statx_mask(char *bf, size_t size, struct syscall_arg *arg);
62#define SCA_STATX_MASK syscall_arg__scnprintf_statx_mask
63
b239ad28
ACM
64size_t open__scnprintf_flags(unsigned long flags, char *bf, size_t size);
65
84486caa 66void syscall_arg__set_ret_scnprintf(struct syscall_arg *arg,
7ee57434 67 size_t (*ret_scnprintf)(char *bf, size_t size, struct syscall_arg *arg));
84486caa 68
fd5cead2 69#endif /* _PERF_TRACE_BEAUTY_H */