diff options
Diffstat (limited to 'trace/event-internal.h')
-rw-r--r-- | trace/event-internal.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/trace/event-internal.h b/trace/event-internal.h new file mode 100644 index 000000000..f63500b37 --- /dev/null +++ b/trace/event-internal.h @@ -0,0 +1,44 @@ +/* + * Interface for configuring and controlling the state of tracing events. + * + * Copyright (C) 2012-2016 LluĂs Vilanova <vilanova@ac.upc.edu> + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#ifndef TRACE__EVENT_INTERNAL_H +#define TRACE__EVENT_INTERNAL_H + +/* + * Special value for TraceEvent.vcpu_id field to indicate + * that the event is not VCPU specific + */ +#define TRACE_VCPU_EVENT_NONE ((uint32_t)-1) + +/** + * TraceEvent: + * @id: Unique event identifier. + * @vcpu_id: Unique per-vCPU event identifier. + * @name: Event name. + * @sstate: Static tracing state. + * @dstate: Dynamic tracing state + * + * Interpretation of @dstate depends on whether the event has the 'vcpu' + * property: + * - false: Boolean value indicating whether the event is active. + * - true : Integral counting the number of vCPUs that have this event enabled. + * + * Opaque generic description of a tracing event. + */ +typedef struct TraceEvent { + uint32_t id; + uint32_t vcpu_id; + const char * name; + const bool sstate; + uint16_t *dstate; +} TraceEvent; + +void trace_event_set_state_dynamic_init(TraceEvent *ev, bool state); + +#endif /* TRACE__EVENT_INTERNAL_H */ |