Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __PERF_CAP_H
3#define __PERF_CAP_H
4
5#include <stdbool.h>
6#include <linux/capability.h>
7#include <linux/compiler.h>
8
9#ifdef HAVE_LIBCAP_SUPPORT
10
11#include <sys/capability.h>
12
13bool perf_cap__capable(cap_value_t cap);
14
15#else
16
17#include <unistd.h>
18#include <sys/types.h>
19
20static inline bool perf_cap__capable(int cap __maybe_unused)
21{
22 return geteuid() == 0;
23}
24
25#endif /* HAVE_LIBCAP_SUPPORT */
26
27/* For older systems */
28#ifndef CAP_SYSLOG
29#define CAP_SYSLOG 34
30#endif
31
32#endif /* __PERF_CAP_H */
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __PERF_CAP_H
3#define __PERF_CAP_H
4
5#include <stdbool.h>
6
7/* For older systems */
8#ifndef CAP_SYSLOG
9#define CAP_SYSLOG 34
10#endif
11
12#ifndef CAP_PERFMON
13#define CAP_PERFMON 38
14#endif
15
16/* Query if a capability is supported, used_root is set if the fallback root check was used. */
17bool perf_cap__capable(int cap, bool *used_root);
18
19#endif /* __PERF_CAP_H */