summaryrefslogtreecommitdiff
path: root/cesar/mac/sar/src/trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/mac/sar/src/trace.c')
-rw-r--r--cesar/mac/sar/src/trace.c73
1 files changed, 73 insertions, 0 deletions
diff --git a/cesar/mac/sar/src/trace.c b/cesar/mac/sar/src/trace.c
new file mode 100644
index 0000000000..0704e61291
--- /dev/null
+++ b/cesar/mac/sar/src/trace.c
@@ -0,0 +1,73 @@
+/* Cesar project {{{
+ *
+ * Copyright (C) 2007 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file mac/sar/src/trace.c
+ * \brief « brief description »
+ * \ingroup « module »
+ *
+ * « long description »
+ */
+#include "common/std.h"
+
+#include "mac/sar/sar.h"
+#include "mac/sar/inc/trace.h"
+#include "mac/sar/inc/sar_context.h"
+
+/**
+ * Initialize the trace system
+ * \param ctx the sar context.
+ */
+void
+sar_trace_init (sar_t *ctx)
+{
+ static trace_namespace_t namespace;
+ static const trace_event_id_t event_ids[] =
+ {
+ TRACE_EVENT (SAR_TRACE_INIT, "SAR_INIT", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_UNINIT, "SAR_UNINIT", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_DATA_BUFFER_ADD, "SAR_DATA_BUFFER_ADD, buffer @ : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MME_BUFFER_ADD, "SAR_MME_BUFFER_ADD, buffer @ : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MPDU_ADD, "SAR_MPDU_ADD, tei : %x, lid : %x, mfs : %d, mme : %d, pb_number : %d", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MSDU_ADD, "SAR_MSDU_ADD, buffer : %x, length : %d, tei :%x, lid : %x, mme : %d", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MFS_ADD, "SAR_MFS_ADD, is tx : %d, is mme : %d, tei :%x, lid : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MFS_REMOVE, "SAR_MFS_REMOVE, is tx : %d, is mme : %d, tei :%x, lid : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_BRIDGE, "SAR_BRIDGE, buffer : %x, RX : %d, MME : %d, tei :%x, lid : %x, CRC : %d", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_PB_ERROR, "SAR_MPDU_PROCESS PBs invalid or CRC error, ssn : %d, tei : %x, lid : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MPDU_EXP, "SAR_EXP MDPU Expired, tei : %x, lid : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_PB_SSN_NOT_IN_WIN, "SAR_PB_WRONG_SSN ssn : %d, mfs ssn min : %d, mfs ssn max : %d", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MSDU_EXP, "SAR_MSDU_EXP buffer : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_BEACON, "SAR_BEACON buffer : %x", TIMESTAMP),
+ TRACE_EVENT (SAR_TRACE_MBOX, "SAR_MBOX state : Number of pending Msg %d", TIMESTAMP),
+ };
+ dbg_assert (ctx);
+ trace_namespace_init (&namespace, event_ids, COUNT (event_ids));
+ trace_buffer_add (&ctx->trace, "sar", 8, 4, true, &namespace);
+}
+
+/**
+ * Uninitialize the trace system
+ * \param ctx the sar context
+ */
+void
+sar_trace_uninit (sar_t *ctx)
+{
+ dbg_assert (ctx);
+ trace_buffer_remove(&ctx->trace);
+}
+
+/**
+ * Print the traces
+ * \param ctx the sar context.
+ */
+void
+sar_trace_print (sar_t *ctx)
+{
+ dbg_assert(ctx);
+ trace_buffer_dbg_dump(&ctx->trace);
+}
+