]>
Commit | Line | Data |
---|---|---|
9a82b6a5 L |
1 | #include "trace.h" |
2 | #include "trace/control.h" | |
3 | ||
4 | ||
5 | void trace_print_events(FILE *stream, fprintf_function stream_printf) | |
6 | { | |
7 | unsigned int i; | |
8 | ||
9 | for (i = 0; i < NR_TRACE_EVENTS; i++) { | |
10 | stream_printf(stream, "%s [Event ID %u] : state %u\n", | |
11 | trace_list[i].tp_name, i, trace_list[i].state); | |
12 | } | |
13 | } | |
14 | ||
15 | bool trace_event_set_state(const char *name, bool state) | |
16 | { | |
17 | unsigned int i; | |
454e202d MW |
18 | unsigned int len; |
19 | bool wildcard = false; | |
20 | bool matched = false; | |
9a82b6a5 | 21 | |
454e202d MW |
22 | len = strlen(name); |
23 | if (len > 0 && name[len - 1] == '*') { | |
24 | wildcard = true; | |
25 | len -= 1; | |
26 | } | |
9a82b6a5 | 27 | for (i = 0; i < NR_TRACE_EVENTS; i++) { |
454e202d MW |
28 | if (wildcard) { |
29 | if (!strncmp(trace_list[i].tp_name, name, len)) { | |
30 | trace_list[i].state = state; | |
31 | matched = true; | |
32 | } | |
33 | continue; | |
34 | } | |
9a82b6a5 L |
35 | if (!strcmp(trace_list[i].tp_name, name)) { |
36 | trace_list[i].state = state; | |
37 | return true; | |
38 | } | |
39 | } | |
454e202d | 40 | return matched; |
9a82b6a5 L |
41 | } |
42 | ||
43 | bool trace_backend_init(const char *events, const char *file) | |
44 | { | |
45 | if (file) { | |
46 | fprintf(stderr, "error: -trace file=...: " | |
47 | "option not supported by the selected tracing backend\n"); | |
48 | return false; | |
49 | } | |
50 | trace_backend_init_events(events); | |
51 | return true; | |
52 | } |