summaryrefslogtreecommitdiff
path: root/digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h
diff options
context:
space:
mode:
Diffstat (limited to 'digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h')
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h241
1 files changed, 0 insertions, 241 deletions
diff --git a/digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h b/digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h
deleted file mode 100644
index f30822c0..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/NWK/include/nwkNeighbor.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/**************************************************************************//**
- \file nwkNeighbor.h
-
- \brief Neighbor table interface.
-
- \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:
- 2009-04-14 Max Gekk - Created.
- Last change:
- $Id: nwkNeighbor.h 19021 2011-10-26 12:36:59Z mgekk $
- ******************************************************************************/
-/**//**
- * The neighbor table of a device shall contain information on every device
- * within transmission range. ZigBee Spec r17, 3.6.1.5, page 366.
- **/
-#if !defined _NWK_NEIGHBOR_H
-#define _NWK_NEIGHBOR_H
-
-/******************************************************************************
- Includes section
- ******************************************************************************/
-#include <appFramework.h>
-#include <appTimer.h>
-#include <nwkCommon.h>
-
-/******************************************************************************
- Types section
- ******************************************************************************/
-/** The relationship between the neighbor and the current device */
-typedef enum _Relationship_t
-{
- RELATIONSHIP_PARENT = 0x00, /**< neighbor is the parent */
- RELATIONSHIP_CHILD = 0x01, /**< neighbor is a child */
- RELATIONSHIP_SIBLING = 0x02, /**< neighbor is a sibling */
- RELATIONSHIP_NONE_OF_ABOVE = 0x03, /**< none of the above */
- RELATIONSHIP_PREVIOUS_CHILD = 0x04, /**< previous child */
- RELATIONSHIP_UNAUTHENTICATED_CHILD = 0x05, /**< unauthenticated child */
- RELATIONSHIP_EMPTY
-} Relationship_t;
-
-/** The neighbor table item. */
-typedef struct _NwkNeighbor_t
-{
- Relationship_t relationship;
- /** The type of neighbor device. */
- DeviceType_t deviceType;
- /** IEEE 802.15.4-2006 7.3.1.2 Capability Information field. */
- MAC_CapabilityInf_t capability;
- /** The logical channel on which the network is operating. */
- Channel_t logicalChannel;
- /** The 16-bit network address of the neighboring device. */
- ShortAddr_t networkAddr;
- PanId_t panId;
- /** 64-bit IEEE address that is unique to every device. */
- ExtAddr_t extAddr;
- /** The 64-bit unique identifier of the network to which the device belongs.*/
- ExtPanId_t extPanId;
- /** The tree depth of the neighbor device. */
- NwkDepth_t depth;
- /** The value identifying a snapshot of the network settings with which this
- * node is operating with.*/
- NwkUpdateId_t updateId;
- /** Indicates if neighbor's receiver is enabled during idle periods. */
- bool rxOnWhenIdle :1;
- /** An indication of whether the device is accepting joining requests. */
- bool permitJoining :1;
- /** An indication of whether the device has been
- * ruled out as a potential parent. */
- bool potentialParent :1;
- /** Network address of the neighbor is conflict with other address in network.
- **/
- bool isAddressConflict :1;
- /** Upper layer knowns about this child (true) or not (false).*/
- bool isKnownChild :1;
- unsigned reserved1 :3;
-} NwkNeighbor_t;
-
-/** Type of life time of neighbors in ticks. */
-typedef uint16_t NwkLifeTime_t;
-/** The bit map of passive acks, each bit is matched to a broadcast that
- * waits passive acknowledgements. */
-typedef uint8_t NwkPassiveAckMap_t;
-
-/** Mutable fields of a entry in the neighbor table. */
-typedef struct _NwkMutablePartOfNeighbor_t
-{
- /** The time of life of a neighbor entry. */
- NwkLifeTime_t lifeTime;
- /** The estimated link quality for RF transmissions from this device. */
- Lqi_t lqi;
- Rssi_t rssi;
- /** The cost of an outgoing link as measured by the neighbor. */
- unsigned outgoingCost :3;
- /** The cost of an incoming link as measured by this device. */
- unsigned incomingCost :3;
- /** Does the lqi field (and incomingCost) have a valid value. */
- unsigned isLqiUnInit :1;
- unsigned reserved1 :1;
-#if defined _NWK_PASSIVE_ACK_
- NwkPassiveAckMap_t passiveAckMap;
-#endif /* _NWK_PASSIVE_ACK_ */
-} NwkMutablePartOfNeighbor_t;
-
-/** Type of size of the neighbor table. */
-typedef uint8_t NwkSizeOfNeighborTable_t;
-
-/** Type of the neighbor table. */
-typedef struct _NwkNeighborTable_t
-{
- /** The array of a neighbor entry. */
- NwkNeighbor_t *table;
- /** Pointer to memory area after last entry of the neighbor table. */
- NwkNeighbor_t *end;
- /** The array of a mutable neighbor entry. */
- NwkMutablePartOfNeighbor_t *mutableTable;
- /** Current size of the neighbor table. */
- NwkSizeOfNeighborTable_t size;
-#if defined _ROUTER_ || defined _COORDINATOR_
- /** Timer for internal use. */
- HAL_AppTimer_t ageTimer;
-#endif /* _ROUTER_ or _COORDINATOR_ */
-} NwkNeighborTable_t;
-
-/** For backward compatibility */
-typedef NwkNeighbor_t Neib_t;
-typedef NwkMutablePartOfNeighbor_t MutableNeib_t;
-typedef NwkNeighborTable_t NeibTable_t;
-
-/******************************************************************************
- Prototypes section
- ******************************************************************************/
-/**************************************************************************//**
- \brief Access function to the neighbor table.
-
- \return Pointer to the neighbor table.
- ******************************************************************************/
-NwkNeighborTable_t* NWK_GetNeighborTable(void);
-
-/**************************************************************************//**
- \brief Searching a neighbor entry by extended address.
-
- \param[in] extAddr - extended IEEE address of neighbor.
- \return NULL if no records found, or entry with extAddr otherwise
- ******************************************************************************/
-NwkNeighbor_t* NWK_FindNeighborByExtAddr(const ExtAddr_t extAddr);
-
-/**************************************************************************//**
- \brief Searching a neighbor entry by short address.
-
- \param[in] shortAddr - network address of neighbor.
- \return NULL if no records found, or entry with shortAddr otherwise
- ******************************************************************************/
-NwkNeighbor_t* NWK_FindNeighborByShortAddr(const ShortAddr_t shortAddr);
-
-/**************************************************************************//**
- \brief Remove a neighbor from the neighbor table with leave indication.
-
- \param[in] neighbor - pointer to a entry in the neighbor table.
- \param[in] cleanAddressMap - Remove records from address map if existed.
- \return None.
- ******************************************************************************/
-void NWK_RemoveNeighbor(NwkNeighbor_t *const neighbor, bool cleanAddressMap);
-
-/**************************************************************************//**
- \brief Link quality indication for given neighbor.
-
- \param[in] neighbor - pointer to a entry of neighbor in the neighbor table.
- \return LQI of received frames from a neighbor
- ******************************************************************************/
-Lqi_t NWK_GetNeighborsLqi(NwkNeighbor_t const *const neighbor);
-
-/**************************************************************************//**
- \brief RSSI for given neighbor.
-
- \param[in] neighbor - pointer to a entry of neighbor in the neighbor table.
- \return RSSI of received frames from a neighbor
- ******************************************************************************/
-Rssi_t NWK_GetNeighborsRssi(NwkNeighbor_t const *const neighbor);
-
-/**************************************************************************//**
- \brief Is given neighbor known child.
-
- \param[in] extAddr - extended address of child.
- \param[in] setKnownFlag - change the known flag to 'true' if this parameter
- is equal 'true'.
-
- \return Current value of known flag.
- ******************************************************************************/
-bool NWK_IsKnownChild(const ExtAddr_t extAddr, const bool setKnownFlag);
-
-/**************************************************************************//**
- \brief Is given neighbor is child.
-
- \param[in] neighbor - pointer to a entry of neighbor in the neighbor table.
-
- \return True, given neighbor is child.; otherwise - false.
- ******************************************************************************/
-INLINE bool NWK_IsChild(Neib_t const *const neighbor)
-{
- return (RELATIONSHIP_CHILD == neighbor->relationship)
- || (RELATIONSHIP_UNAUTHENTICATED_CHILD == neighbor->relationship);
-}
-
-/**************************************************************************//**
- \brief Is given neighbor is unauthenticated child.
-
- \param[in] neighbor - pointer to a entry of neighbor in the neighbor table.
-
- \return True, given neighbor is unauthenticated child.; otherwise - false.
- ******************************************************************************/
-INLINE bool NWK_IsUnauthenticatedChild(Neib_t const *const neighbor)
-{
- return (RELATIONSHIP_UNAUTHENTICATED_CHILD == neighbor->relationship);
-}
-
-/**************************************************************************//**
- \brief Authenticate a child node.
-
- \param[in] extAddr - pointer to the extended address of child.
- \return None.
- ******************************************************************************/
-bool NWK_AuthenticateNeighbor(const ExtAddr_t *const extAddr);
-
-/*****************************************************************************
- \brief This function adds neighbor table record for a known neighbor.
-
- \param[in] nwkAddress - neighbor network address.
- \return None.
- *****************************************************************************/
-void NWK_AddKnownNeighbor(const ShortAddr_t nwkAddress);
-
-#endif /* _NWK_NEIGHBOR_H */
-/** eof nwkNeighbor.h */
-