Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.5.6.
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef TRACEPOINT_DEFS_H
 3#define TRACEPOINT_DEFS_H 1
 4
 5/*
 6 * File can be included directly by headers who only want to access
 7 * tracepoint->key to guard out of line trace calls, or the definition of
 8 * trace_print_flags{_u64}. Otherwise linux/tracepoint.h should be used.
 9 */
10
11#include <linux/atomic.h>
12#include <linux/static_key.h>
13
14struct trace_print_flags {
15	unsigned long		mask;
16	const char		*name;
17};
18
19struct trace_print_flags_u64 {
20	unsigned long long	mask;
21	const char		*name;
22};
23
24struct tracepoint_func {
25	void *func;
26	void *data;
27	int prio;
28};
29
30struct tracepoint {
31	const char *name;		/* Tracepoint name */
32	struct static_key key;
33	int (*regfunc)(void);
34	void (*unregfunc)(void);
35	struct tracepoint_func __rcu *funcs;
36};
37
38#ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
39typedef const int tracepoint_ptr_t;
40#else
41typedef struct tracepoint * const tracepoint_ptr_t;
42#endif
43
44struct bpf_raw_event_map {
45	struct tracepoint	*tp;
46	void			*bpf_func;
47	u32			num_args;
48	u32			writable_size;
49} __aligned(32);
50
51#endif