1#include "trace.h" 2#include "trace/control.h" 3 4 5void 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 15bool trace_event_set_state(const char *name, bool state) 16{ 17 unsigned int i; 18 unsigned int len; 19 bool wildcard = false; 20 bool matched = false; 21 22 len = strlen(name); 23 if (len > 0 && name[len - 1] == '*') { 24 wildcard = true; 25 len -= 1; 26 } 27 for (i = 0; i < NR_TRACE_EVENTS; i++) { 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 } 35 if (!strcmp(trace_list[i].tp_name, name)) { 36 trace_list[i].state = state; 37 return true; 38 } 39 } 40 return matched; 41} 42 43bool 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} 53