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 --- .../APS/include/private/apsTransportAppKey.h | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/APS/include/private/apsTransportAppKey.h (limited to 'digital/zigbit/bitcloud/stack/Components/APS/include/private/apsTransportAppKey.h') diff --git a/digital/zigbit/bitcloud/stack/Components/APS/include/private/apsTransportAppKey.h b/digital/zigbit/bitcloud/stack/Components/APS/include/private/apsTransportAppKey.h new file mode 100644 index 00000000..63cd87e0 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/APS/include/private/apsTransportAppKey.h @@ -0,0 +1,84 @@ +/**************************************************************************//** + \file apsTransportAppKey.h + + \brief Interface of transport application key. + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2008 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 2011-05-05 Max Gekk - Created. + Last change: + $Id: apsTransportAppKey.h 17813 2011-07-04 14:11:12Z dloskutnikov $ + ******************************************************************************/ +#if !defined _APS_TRANSPORT_APP_KEY_H +#define _APS_TRANSPORT_APP_KEY_H + +/****************************************************************************** + Includes section + ******************************************************************************/ +#if defined _SECURITY_ && defined _LINK_SECURITY_ +#include + +/****************************************************************************** + Types section + ******************************************************************************/ +BEGIN_PACK +/** Type of Transport-Key Command Frame (see ZigBee spec r19, Figure 4.8 + * with application master or link key descriptor field (see Figure 4.11). */ +typedef struct PACK _ApsTransportAppKeyFrame_t +{ + /** Common part of APS transport key command frame. */ + ApsTransportKeyCommonFrame_t common; + /** The key sub-field shall contain a master or link key that is shared + * with the device identified in the partner address sub-field. See ZigBee + * Specification, 4.4.9.2.3.3, page 481. */ + uint8_t key[SECURITY_KEY_SIZE]; + /** The partner address sub-field shall contain the address of the other + * device that was sent this link or master key. */ + uint8_t partnerAddress[sizeof(ExtAddr_t)]; + /** The initiator flag sub-field shall be set to 1 if the device receiving + * this packet requested this key. Otherwise, this sub-field shall be set + * to 0. See ZigBee spec r19, 4.4.9.2.3.3, Figure 4.11, page 481. */ + uint8_t initiatorFlag; +} ApsTransportAppKeyFrame_t; +END_PACK + +/****************************************************************************** + Prototypes section + ******************************************************************************/ +#if defined _TRUST_CENTRE_ +/**************************************************************************//** + \brief Checks specific parameters of Transport Application Key request. + + \param[in] req - pointer to parameters of APSME-TRANSPORT-KEY.request. + \return Pointer to function for preparing and sending APS Transport Key command. + ******************************************************************************/ +APS_PRIVATE ApsTransportKeyCommand_t +apsCheckTransportAppKeyReq(APS_TransportKeyReq_t *const req); +#endif /* _TRUST_CENTRE_ */ + +/**************************************************************************//** + \brief Process an incoming transport key command with application key. + + \param[in] commandInd - pointer to received command descriptor. + + \return 'false' if structure commandInd->nwkDataInd is used otherwise 'true'. + ******************************************************************************/ +APS_PRIVATE bool apsTransportAppKeyInd(const ApsCommandInd_t *const commandInd); + +#else +#define apsTransportAppKeyInd(commandInd) (true) +#endif /* _SECURITY_ and _LINK_SECURITY_ */ + +#if !(defined _SECURITY_ && defined _LINK_SECURITY_ && defined _TRUST_CENTRE_) + +#define apsCheckTransportAppKeyReq(req) NULL +#endif +#endif /* _APS_TRANSPORT_APP_KEY_H */ +/** eof apsTransportAppKey.h */ -- cgit v1.2.3