qemu/trace/stderr.c
<<
>>
Prefs
   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