summaryrefslogtreecommitdiff
path: root/cesar/cp/beacon/inc/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp/beacon/inc/trace.h')
-rw-r--r--cesar/cp/beacon/inc/trace.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/cesar/cp/beacon/inc/trace.h b/cesar/cp/beacon/inc/trace.h
new file mode 100644
index 0000000000..3e56b9284d
--- /dev/null
+++ b/cesar/cp/beacon/inc/trace.h
@@ -0,0 +1,74 @@
+#ifndef cp_beacon_inc_trace_h
+#define cp_beacon_inc_trace_h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2008 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file cp/beacon/inc/trace.h
+ * \brief « brief description »
+ * \ingroup « module »
+ *
+ * « long description »
+ */
+
+#include "lib/trace.h"
+
+/** Shortcut for tracing */
+#define CP_BEACON_TRACE(id, args...) \
+ TRACE_FAST_SHORT (CP_BEACON_TRACE_, &ctx->trace, id, ## args)
+
+#if CONFIG_TRACE
+
+enum
+{
+ CP_BEACON_TRACE_INIT,
+ CP_BEACON_TRACE_UNINIT,
+ CP_BEACON_TRACE_FREQ,
+ CP_BEACON_TRACE_ESTIMATION,
+ CP_BEACON_TRACE_DEFAULT_SCHED,
+ CP_BEACON_TRACE_PWL_PER,
+ CP_BEACON_TRACE_BEACON_PROCESS,
+ CP_BEACON_TRACE_SEND_BEACON,
+ CP_BEACON_TRACE_UPDATE_SCHED,
+ CP_BEACON_TRACE_TIMER_PRGM,
+ CP_BEACON_TRACE_BEACON_SCHED,
+};
+
+BEGIN_DECLS
+
+/**
+ * Initialize the trace buffer
+ * \param ctx the cl context
+ */
+void
+cp_beacon_trace_init (cp_beacon_t *ctx);
+
+/**
+ * Uninitialize the trace buffer
+ * \param ctx the cl context.
+ */
+void
+cp_beacon_trace_uninit(cp_beacon_t *ctx);
+
+/**
+ * Print the trace
+ * \param ctx the cl context.
+ */
+void
+cp_beacon_trace_print (cp_beacon_t *ctx);
+
+END_DECLS
+
+#else /* !CONFIG_TRACE */
+
+#define cp_beacon_trace_init(ctx) ((void) 0)
+#define cp_beacon_trace_uninit(ctx) ((void) 0)
+#define cp_beacon_trace_print(ctx) ((void) 0)
+
+#endif /* CONFIG_TRACE */
+
+#endif /* cp_beacon_inc_trace_h */