summaryrefslogtreecommitdiff
path: root/cesar/mac/sar/inc/sar_job_mfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/mac/sar/inc/sar_job_mfs.h')
-rw-r--r--cesar/mac/sar/inc/sar_job_mfs.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/cesar/mac/sar/inc/sar_job_mfs.h b/cesar/mac/sar/inc/sar_job_mfs.h
new file mode 100644
index 0000000000..8cede7c19d
--- /dev/null
+++ b/cesar/mac/sar/inc/sar_job_mfs.h
@@ -0,0 +1,49 @@
+#ifndef SAR_JOB_MFS_H_
+#define SAR_JOB_MFS_H_
+
+/* Cesar project {{{
+ *
+ * Copyright (C) 2007 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file sar_job_mfs.h
+ * \brief job_mfs_t structure.
+ * \ingroup mac/sar/inc
+ */
+
+#include "mac/pbproc/pbproc.h"
+#include "mac/common/mfs.h"
+
+#ifndef STATION_H_
+#include "hal/phy/bridgedma.h"
+#else
+#include "mac/sar/bridgedma/inc/bridge.h"
+#endif
+
+/**
+ * Allows to remove the Job processed by the PBDMA from the memory
+ * And update the data of the mfs the counter of futur pbs available and
+ * the currents available.
+ */
+struct sar_job_mfs_t
+{
+ phy_bridgedma_job_t job;
+ mfs_t *mfs;
+ /** the last pb of the chain */
+ pb_t *tail;
+ /** usefull to update the mfs data for the tx */
+ u32 pb_quantity;
+ /** Job mfs next use to travel */
+ struct sar_job_mfs_t *next;
+ /** Last pb taken. */
+ bool pb_last_taken;
+ /** The offset of the next data which can be present in the last PB of the
+ * job. */
+ uint last_pb_offset;
+};
+typedef struct sar_job_mfs_t sar_job_mfs_t;
+
+#endif /*SAR_JOB_MFS_H_*/