summaryrefslogtreecommitdiff
path: root/cesar/mac/common/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/mac/common/defs.h')
-rw-r--r--cesar/mac/common/defs.h36
1 files changed, 31 insertions, 5 deletions
diff --git a/cesar/mac/common/defs.h b/cesar/mac/common/defs.h
index 681e2644ab..4571e80ba1 100644
--- a/cesar/mac/common/defs.h
+++ b/cesar/mac/common/defs.h
@@ -25,6 +25,8 @@
/** Maximum number of physical PHY blocks per MPDU. */
#define MAC_MAX_PB_PER_MPDU 236
+#include "config/pbproc/fc/eoc.h"
+
/** Link identifiers. */
enum mac_lid_t
{
@@ -74,22 +76,41 @@ enum mac_lid_t
enum mac_tei_t
{
MAC_TEI_UNASSOCIATED = 0,
- MAC_TEI_STA_MIN = 1,
- MAC_TEI_STA_MAX = 0xfe,
- MAC_TEI_STA_NB = MAC_TEI_STA_MAX - MAC_TEI_STA_MIN + 1,
MAC_TEI_BCAST = 0xff,
/** Used to request unicast transmission to all stations in the AVLN. */
MAC_TEI_MULTI_UNICAST = 0x100,
/** Used for peers not present on the medium (HLE driver or other bridged
* address). */
MAC_TEI_FOREIGN = 0x200,
+#if CONFIG_PBPROC_FC_EOC
+ MAC_TEI_CCO_MIN = 1,
+ MAC_TEI_CCO_MAX = 2,
+ MAC_TEI_STA_MIN = MAC_TEI_CCO_MAX + 1,
+ MAC_TEI_STA_NB = 128,
+ MAC_TEI_STA_MAX = MAC_TEI_STA_MIN + MAC_TEI_STA_NB - 1,
+ MAC_TEI_MCAST_MAX = MAC_TEI_BCAST - 1,
+ MAC_TEI_MCAST_NB = 5,
+ MAC_TEI_MCAST_MIN = MAC_TEI_MCAST_MAX - MAC_TEI_MCAST_NB + 1,
+#else
+ MAC_TEI_STA_MIN = 1,
+ MAC_TEI_STA_MAX = 0xfe,
+ MAC_TEI_STA_NB = MAC_TEI_STA_MAX - MAC_TEI_STA_MIN + 1,
+#endif
};
/** Test if a TEI is between STA_MIN and STA_MAX.
* \warning This is a macro, the argument may be evaluated several time. */
+#if CONFIG_PBPROC_FC_EOC
+#define MAC_TEI_IS_EOC_CCO(tei) \
+ ((tei) >= MAC_TEI_CCO_MIN && (tei) <= MAC_TEI_CCO_MAX)
+#define MAC_TEI_IS_EOC_STA(tei) \
+ ((tei) >= MAC_TEI_CCO_MAX+1 && (tei) <= MAC_TEI_STA_MAX)
+#define MAC_TEI_IS_STA(tei) \
+ ((tei) >= MAC_TEI_CCO_MIN && (tei) <= MAC_TEI_MCAST_MAX)
+#else
#define MAC_TEI_IS_STA(tei) \
((tei) >= MAC_TEI_STA_MIN && (tei) <= MAC_TEI_STA_MAX)
-
+#endif
/** Coexistence modes.
* \warning Full Hybrid mode is also used in CSMA-Only with HomePlug 1.0
* compatible frame length. This maps directly to beacon HM field. */
@@ -107,9 +128,14 @@ typedef enum mac_coexistence_mode_t mac_coexistence_mode_t;
enum mac_eks_t
{
MAC_EKS_MIN = 0,
+#if CONFIG_PBPROC_FC_EOC
+ MAC_EKS_CLEAR = 0x3,
+ MAC_EKS_MAX = 2,
+#else
+ MAC_EKS_CLEAR = 0xf,
MAC_EKS_MAX = 7,
+#endif
MAC_EKS_NB = MAC_EKS_MAX - MAC_EKS_MIN + 1,
- MAC_EKS_CLEAR = 0xf,
};
#endif /* mac_common_defs_h */