From b24866225a6301d3a663f874725e83c012dc25d3 Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 26 Dec 2012 17:36:00 +0100 Subject: digital/beacon: add bitcloud stack into common directory digital/zigbit --- .../stack/Components/NWK/include/private/nwkMem.h | 421 +++++++++++++++++++++ 1 file changed, 421 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkMem.h (limited to 'digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkMem.h') diff --git a/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkMem.h b/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkMem.h new file mode 100644 index 00000000..8453f399 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkMem.h @@ -0,0 +1,421 @@ +/**************************************************************************//** + \file nwkMem.h + + \brief NWK Memory header file. + + \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: + 2007-06-14 S. Vladykin - Created. + 2009-04-30 M. Gekk - Refactoring. + Last change: + $Id: nwkMem.h 18049 2011-07-20 13:08:36Z mgekk $ + ******************************************************************************/ +#if !defined _NWK_MEM_H +#define _NWK_MEM_H + +/****************************************************************************** + Includes section + ******************************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/****************************************************************************** + Types section + ******************************************************************************/ +/** Internal variables of NWK layer. */ +typedef struct _NwkMem_t +{ + /** Global NWK state. */ + NwkState_t state; + /** State of task manager. */ + NwkTaskManager_t taskManager; + /** Internal variables of NLME-RESET component. */ + NwkReset_t reset; + /** Internal variables of NLME-DISCOVERY component. */ + NwkDiscovery_t discovery; + /** States and parameters of packet transmission component. */ + NwkTx_t tx; + NwkDataConf_t dataConf; + NwkTxDelay_t txDelay; + NwkPacketManager_t packetManager; + /** Internal variables of NLME-LEAVE component. */ + NwkLeave_t leave; + /** Internal variables of NLME-ED-SCAN component. */ + NwkEDScan_t edScan; + /** Broadcast transaction table. Only pointer to configServer + * and a size of table. */ + NwkBTT_t BTT; + /** Address map table. */ + NwkAddressMap_t addressTable; + /** Neighbor table */ + NwkNeighborTable_t neighborTable; + /** Address conflict resolver. */ + NwkAddrConflict_t addrConflict; + /** Requests to send command packets. */ + NwkCommands_t commands; + /** Queue and state of loopback component. */ + NwkLoopback_t loopback; +#if defined _COORDINATOR_ + /** Internal variables of NLME-FORMATION component. */ + NwkFormation_t formation; +#endif /* _COORDINATOR_ */ +#if defined _ROUTER_ + /** Internal variables of NLME-START-ROUTER component. */ + NwkStartRouter_t startRouter; +#endif /* _ROUTER_ */ +#if defined _ROUTER_ || defined _ENDDEVICE_ + /** Internal state of NLME-JOIN.request primitive. */ + NwkJoinReq_t joinReq; +#endif /* _ROUTER_ or _ENDDEVICE_ */ +#if defined _ROUTER_ || defined _COORDINATOR_ + /** Internal state of NLME-JOIN.indication primitive. */ + NwkJoinInd_t joinInd; + /** Internal variables of NLME-PERMIT-JOINING component. */ + NwkPermitJoining_t permitJoining; + /** Internal state of handler of a link status command. */ + NwkLinkStatus_t linkStatus; + #if defined NWK_ROUTING_CAPACITY \ + && (defined _NWK_MESH_ROUTING_ || defined _NWK_MANY_TO_ONE_ROUTING_) + /** Status and internals variables of a routing components. */ + NwkRouteDiscovery_t routeDiscovery; + NwkRouteDiscoveryTable_t routeDiscoveryTable; + NwkRoutingTable_t routingTable; + #endif /* NWK_ROUTING_CAPACITY and (_NWK_MESH_ROUTING_ or _NWK_MANY_TO_ONE_ROUTING_) */ + #if defined NWK_ROUTING_CAPACITY && defined _NWK_ROUTE_RECORD_ + /** Internal state of handler of a route record command. */ + NwkRouteRecord_t routeRecord; + #endif /* NWK_ROUTING_CAPACITY and _NWK_ROUTE_RECORD_ */ + /** Variables of network status sender. */ + NwkStatusSender_t statusSender; +#if defined _NWK_DIRECT_JOIN_ + NwkDirectJoin_t directJoin; +#endif /* _NWK_DIRECT_JOIN_ */ +#if defined _NWK_PASSIVE_ACK_ + NwkPassiveAck_t passiveAck; +#endif /* _NWK_PASSIVE_ACK_ */ +#endif /* _ROUTER_ or _COORDINATOR_ */ +#if defined _ENDDEVICE_ + /** Internal variables of NLME-SYNC component. */ + NwkSync_t sync; +#endif /* _ENDDEVICE_ */ +#if defined _ROUTER_ && defined NWK_COORD_REALIGNMENT + /** Internal variables of NLME-SYNC-LOSS component. */ + NwkSyncLoss_t syncLoss; +#endif /* _ROUTER_ and NWK_COORD_REALIGNMENT */ +#if defined _RESOLVE_PANID_CONFLICT_ + /** Internal state of handler of a report command. */ + NwkReportCommand_t nwkReportCommand; + /** Internal state of handler of a update command. */ + NwkUpdateCommand_t nwkUpdateCommand; + #if defined _NETWORK_MANAGER_ + NwkManager_t manager; + #endif /* _NETWORK_MANAGER_ */ +#endif /* _RESOLVE_PANID_CONFLICT_ */ +#if defined _NWK_CONCENTRATOR_ + NwkConcentrator_t concentrator; +#endif /* _NWK_CONCENTRATOR_ */ +#if defined _NWK_ROUTE_CACHE_ + NwkRouteCache_t routeCache; +#endif /* _NWK_ROUTE_CACHE_ */ +#if defined _NWK_ORPHAN_JOIN_ + NwkOrphan_t orphan; +#endif +#if defined _NWK_SILENT_JOIN_ + NwkSilentJoin_t silentJoin; +#endif +#if defined NWK_ROUTING_CAPACITY && defined _NWK_MANY_TO_ONE_ROUTING_ + NwkManyToOne_t manyToOne; +#endif +#if defined _GROUP_TABLE_ + NWK_GroupTable_t groupTable; +#endif +} NwkMem_t; + +/****************************************************************************** + External variables section +******************************************************************************/ + +/** nwkMem is defined in nwkMem.c */ +extern NwkMem_t nwkMem; +/** csNIB is defined in configServer.c */ +extern NIB_t csNIB; + +/****************************************************************************** + Inline functions section + ******************************************************************************/ +INLINE NIB_t* nwkMemNib(void) +{ + return &csNIB; +} + +INLINE NwkTaskManager_t* nwkMemTaskManager(void) +{ + return &nwkMem.taskManager; +} + +INLINE NwkReset_t* nwkMemReset(void) +{ + return &nwkMem.reset; +} + +INLINE NwkDiscovery_t* nwkMemDiscovery(void) +{ + return &nwkMem.discovery; +} + +INLINE NwkTx_t* nwkMemTx(void) +{ + return &nwkMem.tx; +} + +INLINE NwkDataConf_t* nwkMemDataConf(void) +{ + return &nwkMem.dataConf; +} + +INLINE NwkTxDelay_t* nwkMemTxDelay(void) +{ + return &nwkMem.txDelay; +} + +INLINE NwkPacketManager_t* nwkMemPacketManager(void) +{ + return &nwkMem.packetManager; +} + +INLINE NwkLeave_t* nwkMemLeave(void) +{ + return &nwkMem.leave; +} + +INLINE NwkEDScan_t* nwkMemEDScan(void) +{ + return &nwkMem.edScan; +} + +INLINE NwkBTT_t* nwkMemBTT(void) +{ + return &nwkMem.BTT; +} + +INLINE NwkAddressMap_t* nwkMemAddressMap(void) +{ + return &nwkMem.addressTable; +} + +INLINE NwkAddrConflict_t* nwkMemAddrConflict(void) +{ + return &nwkMem.addrConflict; +} + +INLINE NwkCommands_t* nwkMemCommands(void) +{ + return &nwkMem.commands; +} + +INLINE NwkLoopback_t* nwkMemLoopback(void) +{ + return &nwkMem.loopback; +} + +#if defined _COORDINATOR_ +INLINE NwkFormation_t* nwkMemFormation(void) +{ + return &nwkMem.formation; +} +#endif +#if defined _ROUTER_ +INLINE NwkStartRouter_t* nwkMemStartRouter(void) +{ + return &nwkMem.startRouter; +} +#endif +#if defined _ROUTER_ || defined _ENDDEVICE_ +INLINE NwkJoinReq_t* nwkMemJoinReq(void) +{ + return &nwkMem.joinReq; +} +#endif +#if defined _ROUTER_ || defined _COORDINATOR_ +INLINE NwkJoinInd_t* nwkMemJoinInd(void) +{ + return &nwkMem.joinInd; +} + +INLINE NwkPermitJoining_t* nwkMemPermitJoining(void) +{ + return &nwkMem.permitJoining; +} + +INLINE NwkLinkStatus_t* nwkMemLinkStatus(void) +{ + return &nwkMem.linkStatus; +} + +#if defined NWK_ROUTING_CAPACITY \ + && (defined _NWK_MESH_ROUTING_ || defined _NWK_MANY_TO_ONE_ROUTING_) +INLINE NwkRouteDiscovery_t* nwkMemRouteDiscovery(void) +{ + return &nwkMem.routeDiscovery; +} + +INLINE NwkRouteDiscoveryTable_t* nwkMemRouteDiscoveryTable(void) +{ + return &nwkMem.routeDiscoveryTable; +} + +INLINE NwkRoutingTable_t* nwkMemRoutingTable(void) +{ + return &nwkMem.routingTable; +} +#endif /* NWK_ROUTING_CAPACITY and (_NWK_MESH_ROUTING_ or _NWK_MANY_TO_ONE_ROUTING_) */ +#if defined NWK_ROUTING_CAPACITY && defined _NWK_ROUTE_RECORD_ +INLINE NwkRouteRecord_t* nwkMemRouteRecord(void) +{ + return &nwkMem.routeRecord; +} +#endif /* NWK_ROUTING_CAPACITY and _NWK_ROUTE_RECORD_ */ + +INLINE NwkStatusSender_t* nwkMemStatusSender(void) +{ + return &nwkMem.statusSender; +} + +#if defined _NWK_PASSIVE_ACK_ +INLINE NwkPassiveAck_t* nwkMemPassiveAck(void) +{ + return &nwkMem.passiveAck; +} +#endif /* _NWK_PASSIVE_ACK_ */ +#endif /* _ROUTER_ or _COORDINATOR_ */ + +#if defined _ENDDEVICE_ +INLINE NwkSync_t* nwkMemSync(void) +{ + return &nwkMem.sync; +} +#endif +#if defined _ROUTER_ && defined NWK_COORD_REALIGNMENT +INLINE NwkSyncLoss_t* nwkMemSyncLoss(void) +{ + return &nwkMem.syncLoss; +} +#endif /* _ROUTER_ and NWK_COORD_REALIGNMENT */ + +INLINE NwkNeighborTable_t* nwkMemNeighborTable(void) +{ + return &nwkMem.neighborTable; +} + +#if defined _RESOLVE_PANID_CONFLICT_ +INLINE NwkReportCommand_t* nwkMemReportCommand(void) +{ + return &nwkMem.nwkReportCommand; +} + +INLINE NwkUpdateCommand_t* nwkMemUpdateCommand(void) +{ + return &nwkMem.nwkUpdateCommand; +} +#if defined _NETWORK_MANAGER_ +INLINE NwkManager_t* nwkMemManager(void) +{ + return &nwkMem.manager; +} +#endif /* _NETWORK_MANAGER_ */ +#endif /* _RESOLVE_PANID_CONFLICT_ */ +#if defined _NWK_CONCENTRATOR_ +INLINE NwkConcentrator_t* nwkMemConcentrator(void) +{ + return &nwkMem.concentrator; +} +#endif /* _NWK_CONCENTRATOR_ */ +#if defined _NWK_ROUTE_CACHE_ +INLINE NwkRouteCache_t* nwkMemRouteCache(void) +{ + return &nwkMem.routeCache; +} +#endif /* _NWK_ROUTE_CACHE_ */ + +#if (defined(_ROUTER_) || defined(_COORDINATOR_)) && defined(_NWK_DIRECT_JOIN_) +INLINE NwkDirectJoin_t* nwkMemDirectJoin(void) +{ + return &nwkMem.directJoin; +} +#endif + +#if defined _NWK_ORPHAN_JOIN_ +INLINE NwkOrphan_t* nwkMemOrphan(void) +{ + return &nwkMem.orphan; +} +#endif + +#if defined _NWK_SILENT_JOIN_ +INLINE NwkSilentJoin_t* nwkMemSilentJoin(void) +{ + return &nwkMem.silentJoin; +} +#endif + +#if defined NWK_ROUTING_CAPACITY && defined _NWK_MANY_TO_ONE_ROUTING_ +INLINE NwkManyToOne_t* nwkMemManyToOne(void) +{ + return &nwkMem.manyToOne; +} +#endif +#if defined _GROUP_TABLE_ +INLINE NWK_GroupTable_t* nwkMemGroup(void) +{ + return &nwkMem.groupTable; +} +#endif +#endif /* _NWK_MEM_H */ +/** eof nwkMem.h */ + -- cgit v1.2.3