summaryrefslogtreecommitdiff
path: root/cesar/cl/inc/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cl/inc/trace.h')
-rw-r--r--cesar/cl/inc/trace.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/cesar/cl/inc/trace.h b/cesar/cl/inc/trace.h
new file mode 100644
index 0000000000..9c9c365e04
--- /dev/null
+++ b/cesar/cl/inc/trace.h
@@ -0,0 +1,79 @@
+#ifndef cl_inc_trace_h
+#define cl_inc_trace_h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2007 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file cl/inc/trace.h
+ * \brief Trace system for the Convergence Layer.
+ * \ingroup cl
+ *
+ */
+
+#include "lib/trace.h"
+
+/** Shortcut for tracing */
+#define CL_TRACE(id, args...) \
+ TRACE_FAST_SHORT (CL_TRACE_, &ctx->trace, id, ## args)
+
+#if CONFIG_TRACE
+
+enum
+{
+ CL_TRACE_INIT,
+ CL_TRACE_UNINIT,
+ CL_TRACE_MME_SEND_AS_MME,
+ CL_TRACE_MME_SEND_AS_DATA,
+ CL_TRACE_MME_BUFFER_ADD,
+ CL_TRACE_MME_RECV,
+ CL_TRACE_MME_RECV_DONE,
+ CL_TRACE_MACTOTEI_COPY,
+ CL_TRACE_MACTOTEI_USE,
+ CL_TRACE_MACTOTEI_RELEASE,
+ CL_TRACE_MACTOTEI_FIND_TEI,
+ CL_TRACE_CLASSIFIER,
+ CL_TRACE_DATA_SEND,
+ CL_TRACE_DATA_SEND_DROP,
+ CL_TRACE_DATA_SEND_DONE,
+ CL_TRACE_DATA_RECV,
+ CL_TRACE_DATA_BUFFER_ADD,
+};
+
+BEGIN_DECLS
+
+/**
+ * Initialize the trace buffer
+ * \param ctx the cl context
+ */
+void
+cl_trace_init (cl_t *ctx);
+
+/**
+ * Uninitialize the trace buffer
+ * \param ctx the cl context.
+ */
+void
+cl_trace_uninit(cl_t *ctx);
+
+/**
+ * Print the trace
+ * \param ctx the cl context.
+ */
+void
+cl_trace_print (cl_t *ctx);
+
+END_DECLS
+
+#else /* !CONFIG_TRACE */
+
+#define cl_trace_init(ctx) ((void) 0)
+#define cl_trace_uninit(ctx) ((void) 0)
+#define cl_trace_print(ctx) ((void) 0)
+
+#endif /* CONFIG_TRACE */
+
+#endif /* cl_inc_trace_h */