From: "Daniel P. Berrange" <>

Currently event-internal.h includes generated-events.h,
while generated-events.h includes event-internal.h
causing a circular dependency.

event-internal.h requires that the content of
generated-events.h comes first, so that it can see
the typedefs for TraceEventID and TraceEventVCPUID.

Switching the TraceEvent struct to use uint32_t
for the two ID fields removes the dependency on
the typedef, allowing events-internal.h to be a
self-contained header. This will then let the patch
following this move event-internal.h to the top of
generated-events.h, so we can expose TraceEvent
struct variables in generated-events.h

Reviewed-by: Stefan Hajnoczi <>
Reviewed-by: LluĂ­s Vilanova <>
Signed-off-by: Daniel P. Berrange <>
Signed-off-by: Stefan Hajnoczi <>
 trace/event-internal.h | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/trace/event-internal.h b/trace/event-internal.h
index 4a98d09..58f0551 100644
--- a/trace/event-internal.h
+++ b/trace/event-internal.h
@@ -10,9 +10,6 @@
-#include "trace/generated-events.h"
  * TraceEvent:
  * @id: Unique event identifier.
@@ -29,8 +26,8 @@
  * Opaque generic description of a tracing event.
 typedef struct TraceEvent {
-    TraceEventID id;
-    TraceEventVCPUID vcpu_id;
+    uint32_t id;
+    uint32_t vcpu_id;
     const char * name;
     const bool sstate;
     uint16_t *dstate;

Reply via email to