summaryrefslogtreecommitdiffhomepage
path: root/digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h
diff options
context:
space:
mode:
authorFlorent Duchon2012-12-26 17:36:00 +0100
committerFlorent Duchon2013-02-13 21:21:12 +0100
commitb24866225a6301d3a663f874725e83c012dc25d3 (patch)
treeca527a2aab9abcdfbaf244c53ca63f0c531892b0 /digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h
parent2ba279f4eb2f23fa08a7c13465d16ae6ba5d0f96 (diff)
digital/beacon: add bitcloud stack into common directory digital/zigbit
Diffstat (limited to 'digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h')
-rw-r--r--digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h b/digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h
new file mode 100644
index 00000000..fecb1f6f
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/MAC_PHY/include/macCommon.h
@@ -0,0 +1,90 @@
+/**************************************************************************//**
+ \file macCommon.h
+
+ \brief Declarations of common MAC layer fields and types.
+
+ \author
+ Atmel Corporation: http://www.atmel.com \n
+ Support email: avr@atmel.com
+
+ Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
+ Licensed under Atmel's Limited License Agreement (BitCloudTM).
+
+ \internal
+ History:
+ 18/06/07 ALuzhetsky - Created.
+******************************************************************************/
+
+#ifndef _MACCOMMON_H
+#define _MACCOMMON_H
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <types.h>
+
+/******************************************************************************
+ Definitions section.
+******************************************************************************/
+//! MAC primitives' return codes.
+typedef enum
+{
+ // IEEE802.15.4 table - 83.
+ MAC_PAN_AT_CAPACITY_STATUS = 0x01,
+ MAC_PAN_ACCESS_DENIED_STATUS = 0x02,
+ // IEEE802.15.4 table - 78.
+ MAC_SUCCESS_STATUS = 0x00,
+ MAC_BEACON_LOSS_STATUS = 0xE0,
+ MAC_CHANNEL_ACCESS_FAILURE_STATUS = 0xE1,
+ MAC_DENIED_STATUS = 0xE2,
+ MAC_DISABLE_TRX_FAILURE_STATUS = 0xE3,
+ MAC_FRAME_TOO_LONG_STATUS = 0xE5,
+ MAC_INVALID_GTS_STATUS = 0xE6,
+ MAC_INVALID_HANDLE_STATUS = 0xE7,
+ MAC_INVALID_PARAMETER_STATUS = 0xE8,
+ MAC_NO_ACK_STATUS = 0xE9,
+ MAC_NO_BEACON_STATUS = 0xEA,
+ MAC_NO_DATA_STATUS = 0xEB,
+ MAC_NO_SHORT_ADDRESS_STATUS = 0xEC,
+ MAC_PAN_ID_CONFLICT_STATUS = 0xEE,
+ MAC_REALIGNMENT_STATUS = 0xEF,
+ MAC_TRANSACTION_EXPIRED_STATUS = 0xF0,
+ MAC_TRANSACTION_OVERFLOW_STATUS = 0xF1,
+ MAC_TX_ACTIVE_STATUS = 0xF2,
+ MAC_UNSUPPORTED_ATTRIBUTE_STATUS = 0xF4,
+ MAC_INVALID_ADDRESS_STATUS = 0xF5,
+ MAC_INVALID_INDEX_STATUS = 0xF9,
+ MAC_LIMIT_REACHED_STATUS = 0xFA, ///< There are some unscanned channels yet, but there is no memory.
+ MAC_ON_TIME_TOO_LONG_STATUS = 0xF6,
+ MAC_PAST_TIME_STATUS = 0xF7,
+ MAC_READ_ONLY_STATUS = 0xFB,
+ MAC_SCAN_IN_PROGRESS_STATUS = 0xFC,
+ MAC_SUPERFRAME_OVERLAP_STATUS = 0xFD,
+ MAC_TRACKING_OFF_STATUS = 0xF8
+} MAC_Status_t;
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+//! Internal service fields which give us opportunity to compose requests' queue.
+typedef struct
+{
+ void *next;
+ uint8_t requestId;
+} MAC_Service_t;
+
+/**
+ * \brief Internal service fields which give us opportunity to compose and to serve
+ * transactions frame queue.
+*/
+typedef struct
+{
+ void *next;
+ uint8_t requestId;
+ uint32_t ttl;
+ bool activated;
+} MAC_ServiceTransaction_t;
+
+#endif //_MACCOMMON_H
+
+// eof macCommon.h