deleted file mode 100644
@@ -1,67 +0,0 @@
-/*
- * Interface for configuring and controlling the state of tracing events.
- *
- * Copyright (C) 2011-2012 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__CONTROL_INTERNAL_H
-#define TRACE__CONTROL_INTERNAL_H
-
-#include <string.h>
-
-
-extern TraceEvent trace_events[];
-
-
-static inline TraceEvent *trace_event_id(TraceEventID id)
-{
- assert(id < trace_event_count());
- return &trace_events[id];
-}
-
-static inline TraceEventID trace_event_count(void)
-{
- return TRACE_EVENT_COUNT;
-}
-
-static inline bool trace_event_is_pattern(const char *str)
-{
- assert(str != NULL);
- return strchr(str, '*') != NULL;
-}
-
-static inline TraceEventID trace_event_get_id(TraceEvent *ev)
-{
- assert(ev != NULL);
- return ev->id;
-}
-
-static inline const char * trace_event_get_name(TraceEvent *ev)
-{
- assert(ev != NULL);
- return ev->name;
-}
-
-static inline bool trace_event_get_state_static(TraceEvent *ev)
-{
- assert(ev != NULL);
- return ev->sstate;
-}
-
-static inline bool trace_event_get_state_dynamic(TraceEvent *ev)
-{
- assert(ev != NULL);
- return ev->dstate;
-}
-
-static inline void trace_event_set_state_dynamic(TraceEvent *ev, bool state)
-{
- assert(ev != NULL);
- assert(trace_event_get_state_static(ev));
- return trace_event_set_state_dynamic_backend(ev, state);
-}
-
-#endif /* TRACE__CONTROL_INTERNAL_H */
@@ -13,6 +13,8 @@
#include "qemu-common.h"
#include "trace/generated-events.h"
+/** Private - use trace_event_id() instead */
+extern TraceEvent trace_events[];
/**
* TraceEventID:
@@ -26,6 +28,16 @@
enum TraceEventID;
/**
+ * trace_event_count:
+ *
+ * Return the number of events.
+ */
+static inline TraceEventID trace_event_count(void)
+{
+ return TRACE_EVENT_COUNT;
+}
+
+/**
* trace_event_id:
* @id: Event identifier.
*
@@ -39,7 +51,11 @@ enum TraceEventID;
* Returns: pointer to #TraceEvent.
*
*/
-static TraceEvent *trace_event_id(TraceEventID id);
+static inline TraceEvent *trace_event_id(TraceEventID id)
+{
+ assert(id < trace_event_count());
+ return &trace_events[id];
+}
/**
* trace_event_name:
@@ -67,14 +83,11 @@ TraceEvent *trace_event_pattern(const char *pat, TraceEvent *ev);
*
* Whether the given string is an event name pattern.
*/
-static bool trace_event_is_pattern(const char *str);
-
-/**
- * trace_event_count:
- *
- * Return the number of events.
- */
-static TraceEventID trace_event_count(void);
+static inline bool trace_event_is_pattern(const char *str)
+{
+ assert(str != NULL);
+ return strchr(str, '*') != NULL;
+}
@@ -83,14 +96,22 @@ static TraceEventID trace_event_count(void);
*
* Get the identifier of an event.
*/
-static TraceEventID trace_event_get_id(TraceEvent *ev);
+static inline TraceEventID trace_event_get_id(TraceEvent *ev)
+{
+ assert(ev != NULL);
+ return ev->id;
+}
/**
* trace_event_get_name:
*
* Get the name of an event.
*/
-static const char * trace_event_get_name(TraceEvent *ev);
+static inline const char *trace_event_get_name(TraceEvent *ev)
+{
+ assert(ev != NULL);
+ return ev->name;
+}
/**
* trace_event_get_state:
@@ -115,14 +136,22 @@ static const char * trace_event_get_name(TraceEvent *ev);
* Use the define 'TRACE_${EVENT_NAME}_ENABLED' for compile-time checks (it will
* be set to 1 or 0 according to the presence of the disabled property).
*/
-static bool trace_event_get_state_static(TraceEvent *ev);
+static inline bool trace_event_get_state_static(TraceEvent *ev)
+{
+ assert(ev != NULL);
+ return ev->sstate;
+}
/**
* trace_event_get_state_dynamic:
*
* Get the dynamic tracing state of an event.
*/
-static bool trace_event_get_state_dynamic(TraceEvent *ev);
+static inline bool trace_event_get_state_dynamic(TraceEvent *ev)
+{
+ assert(ev != NULL);
+ return ev->dstate;
+}
/**
* trace_event_set_state:
@@ -138,21 +167,25 @@ static bool trace_event_get_state_dynamic(TraceEvent *ev);
} while (0)
/**
- * trace_event_set_state_dynamic:
- *
- * Set the dynamic tracing state of an event.
- *
- * Pre-condition: trace_event_get_state_static(ev) == true
- */
-static void trace_event_set_state_dynamic(TraceEvent *ev, bool state);
-
-/**
* trace_event_set_state_dynamic_backend:
*
* Warning: This function must be implemented by each tracing backend.
*/
void trace_event_set_state_dynamic_backend(TraceEvent *ev, bool state);
+/**
+ * trace_event_set_state_dynamic:
+ *
+ * Set the dynamic tracing state of an event.
+ *
+ * Pre-condition: trace_event_get_state_static(ev) == true
+ */
+static inline void trace_event_set_state_dynamic(TraceEvent *ev, bool state)
+{
+ assert(ev != NULL);
+ assert(trace_event_get_state_static(ev));
+ return trace_event_set_state_dynamic_backend(ev, state);
+}
/**
@@ -187,7 +220,4 @@ bool trace_backend_init(const char *events, const char *file);
*/
void trace_backend_init_events(const char *fname);
-
-#include "trace/control-internal.h"
-
#endif /* TRACE__CONTROL_H */
trace/control.h is the API for manipulating trace events in QEMU. Some of the implementation of this API lives in trace/control-internal.h. Older versions of gcc complain because a static prototype is used but the function is defined static inline later on: CC vl.o In file included from trace/control.h:191, from vl.c:165: trace/control.h:77: warning: ‘trace_event_count’ declared inline after being called trace/control.h:77: warning: previous declaration of ‘trace_event_count’ was here The gcc version is: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] The whole split into a public header and implementation header with static inlines seems a bit much anyway. If we want these functions to be static inline let's pay the price and put them into the header file. Note that a few functions must be re-ordered so that they are declared before use. Reported-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> --- trace/control-internal.h | 67 ---------------------------------------- trace/control.h | 80 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 55 insertions(+), 92 deletions(-) delete mode 100644 trace/control-internal.h