summaryrefslogtreecommitdiff
path: root/mac/ca/inc
diff options
context:
space:
mode:
authorschodet2007-11-23 14:34:01 +0000
committerschodet2007-11-23 14:34:01 +0000
commit9f7433d20988fbe46159eb56038112161a2ca0a6 (patch)
tree72b410655a49dc77b050f7a50268e7087bc66686 /mac/ca/inc
parent6e216bd08ae1730849276bc0b1ed52c0595883bd (diff)
* mac/ca:
- handle hybrid mode for RX. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1042 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'mac/ca/inc')
-rw-r--r--mac/ca/inc/alloc.h17
-rw-r--r--mac/ca/inc/context.h2
2 files changed, 12 insertions, 7 deletions
diff --git a/mac/ca/inc/alloc.h b/mac/ca/inc/alloc.h
index 8245c1cd18..47524d248b 100644
--- a/mac/ca/inc/alloc.h
+++ b/mac/ca/inc/alloc.h
@@ -22,17 +22,20 @@
|| (lid) == MAC_LID_LOCAL_CSMA)
/** Is the specified LID usable for transmission? */
-#define CA_ALLOC_IS_USABLE(lid) (MAC_LID_IS_GLID (lid) \
- || CA_ALLOC_IS_CSMA (lid))
+#define CA_ALLOC_IS_USABLE(lid) ((lid) != MAC_LID_SPC_HOLE \
+ && (lid) != MAC_LID_CFPI)
/** Should transmissions in the specified allocation use hybrid frame
- * controls according to the specified coexistence mode. */
+ * controls according to the specified coexistence mode. An additional test
+ * should be done for proxy beacon MFS. */
#define CA_ALLOC_IS_HYBRID(coex, lid) \
- (lid == MAC_LID_DISCOVER \
+ (coex == MAC_COEXISTENCE_FULL_HYBRID_MODE \
+ || coex == MAC_COEXISTENCE_HYBRID_DELIMITERS_MODE \
|| ((lid) == MAC_LID_SHARED_CSMA \
- && coex != MAC_COEXISTENCE_AV_ONLY_MODE) \
- || coex == MAC_COEXISTENCE_FULL_HYBRID_MODE \
- || coex == MAC_COEXISTENCE_HYBRID_DELIMITERS_MODE)
+ && coex == MAC_COEXISTENCE_SHARED_CSMA_HYBRID_MODE) \
+ || lid == MAC_LID_SPC_HOLE \
+ || lid == MAC_LID_SPC_CENTRAL \
+ || lid == MAC_LID_DISCOVER)
/**
* Find the beacon period index corresponding to the given date.
diff --git a/mac/ca/inc/context.h b/mac/ca/inc/context.h
index 0096042cdf..7b6c9b7d02 100644
--- a/mac/ca/inc/context.h
+++ b/mac/ca/inc/context.h
@@ -57,6 +57,8 @@ struct ca_t
uint current_beacon_period;
/** Current allocation index in current schedule. */
uint current_allocation_index;
+ /** Current allocation parameters. */
+ ca_access_alloc_param_t current_allocation_param;
/** Priority sorted MFS heap. */
heap_t mfs_heap;
/** List of CFP MFS held until the next beacon period. */