| #include "trace.h" |
| #include "trace/control.h" |
| |
| |
| void trace_print_events(FILE *stream, fprintf_function stream_printf) |
| { |
| unsigned int i; |
| |
| for (i = 0; i < NR_TRACE_EVENTS; i++) { |
| stream_printf(stream, "%s [Event ID %u] : state %u\n", |
| trace_list[i].tp_name, i, trace_list[i].state); |
| } |
| } |
| |
| bool trace_event_set_state(const char *name, bool state) |
| { |
| unsigned int i; |
| unsigned int len; |
| bool wildcard = false; |
| bool matched = false; |
| |
| len = strlen(name); |
| if (len > 0 && name[len - 1] == '*') { |
| wildcard = true; |
| len -= 1; |
| } |
| for (i = 0; i < NR_TRACE_EVENTS; i++) { |
| if (wildcard) { |
| if (!strncmp(trace_list[i].tp_name, name, len)) { |
| trace_list[i].state = state; |
| matched = true; |
| } |
| continue; |
| } |
| if (!strcmp(trace_list[i].tp_name, name)) { |
| trace_list[i].state = state; |
| return true; |
| } |
| } |
| return matched; |
| } |
| |
| bool trace_backend_init(const char *events, const char *file) |
| { |
| if (file) { |
| fprintf(stderr, "error: -trace file=...: " |
| "option not supported by the selected tracing backend\n"); |
| return false; |
| } |
| trace_backend_init_events(events); |
| return true; |
| } |