Commit | Line | Data |
---|---|---|
1c196845 MJ |
1 | // SPDX-FileCopyrightText: 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
2 | // | |
3 | // SPDX-License-Identifier: MIT | |
b728d87e | 4 | |
9b14815a MD |
5 | #ifndef _LTTNG_UST_TRACEPOINT_TYPES_H |
6 | #define _LTTNG_UST_TRACEPOINT_TYPES_H | |
c0c0989a | 7 | |
f641d544 MD |
8 | #include <stdint.h> |
9 | ||
10 | /* | |
11 | * Tracepoint probe definition | |
12 | * | |
13 | * IMPORTANT: this structure is part of the ABI between instrumented | |
14 | * applications and UST. This structure is fixed-size because it is part | |
15 | * of a public array of structures. Rather than extending this | |
16 | * structure, struct lttng_ust_tracepoint should be extended instead. | |
17 | */ | |
18 | ||
1a206094 | 19 | struct lttng_ust_tracepoint_probe { |
fbdeb5ec | 20 | void (*func)(void); |
23c8854a | 21 | void *data; |
b728d87e MD |
22 | }; |
23 | ||
f641d544 MD |
24 | /* |
25 | * Tracepoint definition | |
26 | * | |
27 | * IMPORTANT: this structure is part of the ABI between instrumented | |
28 | * applications and UST. Fields need to be only added at the end, never | |
29 | * reordered, never removed. | |
30 | * | |
31 | * The field @struct_size should be used to determine the size of the | |
32 | * structure. It should be queried before using additional fields added | |
33 | * at the end of the structure. | |
34 | */ | |
35 | ||
1a206094 | 36 | struct lttng_ust_tracepoint { |
f641d544 MD |
37 | uint32_t struct_size; |
38 | ||
34f7f142 MD |
39 | const char *provider_name; |
40 | const char *event_name; | |
b728d87e | 41 | int state; |
1a206094 | 42 | struct lttng_ust_tracepoint_probe *probes; |
628e1d81 | 43 | int *tracepoint_provider_ref; |
b4f3bc52 | 44 | const char *signature; |
f641d544 MD |
45 | |
46 | /* End of base ABI. Fields below should be used after checking struct_size. */ | |
b728d87e MD |
47 | }; |
48 | ||
9b14815a | 49 | #endif /* _LTTNG_UST_TRACEPOINT_TYPES_H */ |