summaryrefslogtreecommitdiffhomepage
path: root/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include
diff options
context:
space:
mode:
Diffstat (limited to 'digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include')
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h67
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h46
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h82
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h60
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h116
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h77
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h81
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h37
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h63
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h31
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h49
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h109
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h53
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h66
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h59
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h56
-rw-r--r--digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h33
17 files changed, 1085 insertions, 0 deletions
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h
new file mode 100644
index 00000000..290f0764
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h
@@ -0,0 +1,67 @@
+/**************************************************************************//**
+ \file tcAuthenticHandler.h
+
+ \brief Trust Centre authentic routine 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.12 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCAUTHENTICHANDLERH
+#define _TCAUTHENTICHANDLERH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <aps.h>
+#include <types.h>
+#include <tcAuthentic.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TC_AuthenticObj_t *authenticObj;
+ uint8_t maxRequests;
+} TcAuthenticHandlerMem_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcUpdateDeviceIndToAuthenticHandler(APS_UpdateDeviceInd_t *indParam);
+
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcResetAuthenticHandler(void);
+
+#endif //_TCAUTHENTICHANDLERH
+
+// eof tcAuthenticHandler.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h
new file mode 100644
index 00000000..8d67c9eb
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h
@@ -0,0 +1,46 @@
+/**************************************************************************//**
+ \file tcDeviceTableCtrlHandler.h
+
+ \brief Security Trust Centre devices' permission table control 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:
+ 2008.03 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCDEVICETABLECTRLHANDLERH
+#define _TCDEVICETABLECTRLHANDLERH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <types.h>
+#ifdef _TC_PERMISSION_TABLE_
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Initializes Trust Centre device permission table.
+
+ \param none.
+ \return none.
+******************************************************************************/
+void tcResetDevicePermissionTable(void);
+
+/**************************************************************************//**
+ \brief Finds device in Trust Centre device permission table.
+
+ \param none.
+ \return true if device presents, false - otherwise.
+******************************************************************************/
+bool tcFindDeviceInPermissionTable(ExtAddr_t *extAddr);
+#endif
+#endif // _TCDEVICETABLECTRLHANDLERH
+// eof tcDeviceTableCtrlHandler.h
+
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h
new file mode 100644
index 00000000..975e38f4
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h
@@ -0,0 +1,82 @@
+/**************************************************************************//**
+ \file tcKeyEstablishHandler.h
+
+ \brief Trust Centre end to end key establishment routine 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:
+ 2008.01.17 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCKEYESTABLISHHANDLERH
+#define _TCKEYESTABLISHHANDLERH
+
+#ifdef _LINK_SECURITY_
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <aps.h>
+#include <types.h>
+#include <tcKeyEstablish.h>
+
+/******************************************************************************
+ Definitions section.
+******************************************************************************/
+
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef enum
+{
+ TC_KEY_ESTABLISH_OBJ_STATE_IDLE,
+ TC_KEY_ESTABLISH_OBJ_STATE_TRANSPORT_KEY_POSTED,
+ TC_KEY_ESTABLISH_OBJ_STATE_FIRST_TRANSPORT_KEY_EXECUTING,
+ TC_KEY_ESTABLISH_OBJ_STATE_SECOND_TRANSPORT_KEY_EXECUTING,
+} TcKeyEstablishHandlerObjState_t;
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TC_KeyEstablishObj_t *keyEstablishObj;
+ uint8_t maxRequests;
+} TcKeyEstablishHandlerMem_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcKeyEstablishTaskHandler(void);
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcResetKeyEstablishHandler(void);
+
+#endif // _LINK_SECURITY_
+
+#endif //_TCKEYESTABLISHHANDLERH
+// eof tcKeyEstablishHandler.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h
new file mode 100644
index 00000000..652dd3ec
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h
@@ -0,0 +1,60 @@
+/**************************************************************************//**
+ \file tcKeyUpdateHandler.h
+
+ \brief Trust Centre key update routine 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:
+ 2008.01.11 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCKEYUPDATEHANDLERH
+#define _TCKEYUPDATEHANDLERH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <queue.h>
+#include <appTimer.h>
+#include <aps.h>
+
+typedef struct
+{
+ QueueDescriptor_t reqQueueDescr;
+ APS_KeyHandle_t keyHandle;
+ void *currentReq;
+ union
+ {
+ APS_TransportKeyReq_t transportKeyReq;
+ APS_SwitchKeyReq_t switchKeyReq;
+ HAL_AppTimer_t keyUpdateTimer;
+ };
+} TcKeyUpdateHandlerMem_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcKeyUpdateTaskHandler(void);
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcResetKeyUpdateHandler(void);
+
+#endif //_TCKEYUPDATEHANDLERH
+// eof tcKeyUpdateHandler.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h
new file mode 100644
index 00000000..78bc08b9
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h
@@ -0,0 +1,116 @@
+/**************************************************************************//**
+ \file tcMem.h
+
+ \brief Security Trust Centre memory manager 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.12.25 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCMEM_H
+#define _TCMEM_H
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <queue.h>
+#include <tcTaskManager.h>
+#include <tcAuthenticHandler.h>
+#include <tcKeyUpdateHandler.h>
+#include <tcKeyEstablishHandler.h>
+#include <tcRemoveHandler.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TcTaskManagerMem_t taskManagerMem;
+ TcAuthenticHandlerMem_t authenticHandlerMem;
+ TcKeyUpdateHandlerMem_t keyUpdateHandlerMem;
+#ifdef _LINK_SECURITY_
+ TcKeyEstablishHandlerMem_t keyEstablishHandlerMem;
+#endif // _LINK_SECURITY_
+ TcRemoveHandlerMem_t removeHandlerMem;
+} TcMem_t;
+
+/******************************************************************************
+ External variables.
+******************************************************************************/
+extern TcMem_t tcMem;
+
+/******************************************************************************
+ Inline functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+INLINE TcTaskManagerMem_t* tcGetTaskManagerMem(void)
+{
+ return &tcMem.taskManagerMem;
+}
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+INLINE TcAuthenticHandlerMem_t* tcGetAuthenticHandlerMem(void)
+{
+ return &tcMem.authenticHandlerMem;
+}
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+INLINE TcKeyUpdateHandlerMem_t* tcGetKeyUpdateHandlerMem(void)
+{
+ return &tcMem.keyUpdateHandlerMem;
+}
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+#ifdef _LINK_SECURITY_
+INLINE TcKeyEstablishHandlerMem_t* tcGetKeyEstablishHandlerMem(void)
+{
+ return &tcMem.keyEstablishHandlerMem;
+}
+#endif // _LINK_SECURITY_
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+INLINE TcRemoveHandlerMem_t* tcGetRemoveHandlerMem(void)
+{
+ return &tcMem.removeHandlerMem;
+}
+
+#endif //_TCMEM_H
+
+// eof tcMem.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h
new file mode 100644
index 00000000..84bcac00
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h
@@ -0,0 +1,77 @@
+/**************************************************************************//**
+ \file tcRemoveHandler.h
+
+ \brief Trust Centre device remove routine 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:
+ 2008.01.20 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCREMOVEHANDLERH
+#define _TCREMOVEHANDLERH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <queue.h>
+#include <aps.h>
+#include <types.h>
+#include <tcRemove.h>
+
+
+/******************************************************************************
+ Definition section.
+******************************************************************************/
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ QueueDescriptor_t reqQueueDescr;
+ APS_RemoveDeviceReq_t removeDeviceReq;
+ TC_RemoveDeviceReq_t *currentReq;
+} TcRemoveHandlerMem_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcUpdateDeviceIndToRemoveHandler(APS_UpdateDeviceInd_t *indParam);
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcRemoveTaskHandler(void);
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcResetRemoveHandler(void);
+
+
+#endif //_TCREMOVEHANDLERH
+
+// eof tcRemoveHandler.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h
new file mode 100644
index 00000000..6753472e
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h
@@ -0,0 +1,81 @@
+/**************************************************************************//**
+ \file tcTaskManager.h
+
+ \brief Security Trust Centre task manager 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.12.25 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCTASKMANAGER_H
+#define _TCTASKMANAGER_H
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <types.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef enum
+{
+ //TC_TASK_RESET,
+ TC_TASK_KEY_UPDATE,
+#ifdef _LINK_SECURITY_
+ TC_TASK_KEY_ESTABLISH,
+#endif // _LINK_SECURITY_
+ TC_TASK_REMOVE,
+} tcTaskID_t;
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef uint8_t TcTaskBitMask_t;
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TcTaskBitMask_t taskBitMask;
+} TcTaskManagerMem_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcPostTask(tcTaskID_t taskID);
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void tcResetTaskManager(void);
+
+#endif // _TCTASKMANAGER_H
+
+// eof tcTaskManager.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h
new file mode 100644
index 00000000..67768f8b
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h
@@ -0,0 +1,37 @@
+/******************************************************************************//**
+ \file tc.h
+
+ \brief Security Trust Centre main header file - includes all others TC public
+ header files.
+
+ \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:
+ 2008.01 - ALuzhetsky created.
+********************************************************************************/
+#ifndef _TCH
+#define _TCH
+
+/******************************************************************************
+ Include section.
+******************************************************************************/
+#include <tcAuthentic.h>
+#include <tcCommon.h>
+#include <tcDbg.h>
+#include <tcDeviceTableCtrl.h>
+#include <tcKeyUpdate.h>
+#include <tcRemove.h>
+#include <tcReset.h>
+#ifdef _LINK_SECURITY_
+ #include <tcKeyEstablish.h>
+#endif // _LINK_SECURITY_
+
+#endif // _TCH
+
+// eof tc.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h
new file mode 100644
index 00000000..f5314499
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h
@@ -0,0 +1,63 @@
+/**************************************************************************//**
+ \file tcAuthentic.h
+
+ \brief Security Trust Centre authentic primitive 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.12 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCAUTHENTICH
+#define _TCAUTHENTICH
+
+/******************************************************************************
+ Include section.
+******************************************************************************/
+#include <aps.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+typedef enum _TcAuthObjState_t
+{
+ TC_AUTHENTIC_OBJ_STATE_IDLE,
+ TC_AUTHENTIC_OBJ_STATE_TRANSPORTING_NETWORK_KEY,
+ TC_AUTHENTIC_OBJ_STATE_TRANSPORTING_MASTER_KEY,
+ TC_AUTHENTIC_OBJ_STATE_ESTABLISHING_KEY,
+ TC_AUTHENTIC_OBJ_STATE_REMOVING_DEVICE,
+} TcAuthObjState_t;
+
+/**************************************************************************//**
+ \brief Authentic handler memory object.
+
+ This struct declares memory wichshould be reserved for the Trust Centre
+ Authentication proceure.
+******************************************************************************/
+typedef struct
+{
+ union
+ { //! Memory for APS_TransportKeyReq.
+ APS_TransportKeyReq_t transportKey;
+ //! Memory for APS_RemoveDeviceReq.
+ APS_RemoveDeviceReq_t removeDevice;
+#if defined _LINK_SECURITY_ && defined _HI_SECURITY_
+ //! Memory for APS_EstablishKeyReq.
+ APS_EstablishKeyReq_t establishKey;
+#endif
+ } buffer;
+ //! Memory to store source address of APS_UpdateDeviceInd command.
+ ExtAddr_t updateIndSrcAddr;
+ //! Current state for Trust Centre authentic handler.
+ TcAuthObjState_t state;
+} TC_AuthenticObj_t;
+
+#endif // _TCAUTHENTICH
+
+// eof tcAuthentic.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h
new file mode 100644
index 00000000..0db8fec8
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h
@@ -0,0 +1,31 @@
+/**************************************************************************//**
+ \file tcCommon.h
+
+ \brief Trust Centre common types and definitions 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:
+ 2008.12.01 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCCOMMONH
+#define _TCCOMMONH
+
+/**************************************************************************//**
+ \brief Trust Centre service field.
+
+ Service field - for internal needs - to store requets in the requets' queue.
+******************************************************************************/
+typedef struct
+{
+ void *next;
+} TC_Service_t;
+
+#endif // _TCCOMMONH
+// eof tcCommon.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h
new file mode 100644
index 00000000..77d7b907
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h
@@ -0,0 +1,49 @@
+/**************************************************************************//**
+ \file tcDbg.h
+
+ \brief Security Trust Centre debug 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.12 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCDBGH
+#define _TCDBGH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <dbg.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Trust Centre debug codes declaration.
+
+ These codes are used for debuging.
+******************************************************************************/
+typedef enum
+{
+ TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_01 = 0x7000,
+ TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_02 = 0x7001,
+ TCAUTHENTICHANDLERC_TCAUTHENTICTASKHANDLER_01 = 0x7002,
+ TCKEYUPDATEHANDLER_TCKEYUPDATETASKHANDLER_00 = 0x7003,
+ TCAUTHENTICHANDLERC_APSREMOVEDEVICECONF_00 = 0x7004,
+ TCKEYUPDATEHANDLERC_ENDUPDATENETWORKKEYOPERATION_00 = 0x7005,
+ TCDEVICETABLECTRLHANDLER_TCSETDEVICEKEY_00 = 0x7006,
+ TCAUTHENTICHANDLERC_APSESTABLISHKEYCONF_00 = 0x7007,
+ TCTASKMANAGER_00 = 0x7008,
+ TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_03 = 0x7009,
+ TCAUTHENTICHANDLERC_APSTRANSPORTKEYCONF_00 = 0x700A,
+} TcDbgCodeId_t;
+#endif // _TCDBGH
+
+// eof tcDbg.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h
new file mode 100644
index 00000000..ad076bd3
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h
@@ -0,0 +1,109 @@
+/**************************************************************************//**
+ \file tcDeviceTableCtrl.h
+
+ \brief Security Trust Centre devices' control 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:
+ 2008.02 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCDEVICETABLECTRLH
+#define _TCDEVICETABLECTRLH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <types.h>
+#include <mac.h>
+#include <aps.h>
+#include <sspCommon.h>
+
+#ifdef _TC_PERMISSION_TABLE_
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Adds new device to Trust Centre device permission table.
+
+ \param extAddr - new device's address.
+ \return true in case if operation is successful - false if there is no free
+ space in Trust Centre device permission table.
+******************************************************************************/
+bool TC_AddDeviceToPermissionTable(ExtAddr_t *extAddr);
+
+
+/**************************************************************************//**
+ \brief Removes device from Trust Centre device permission table.
+
+ \param extAddr - address of the device to remove.
+ \return true in case if operation is successful - false if there is no such
+ device in Trust Centre device permission table.
+******************************************************************************/
+bool TC_RemoveDeviceFromPermissionTable(ExtAddr_t *extAddr);
+#endif // _TC_PERMISSION_TABLE_
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Possible key types which could be stored for each device.
+
+ Used in TC_SetDeviceKey primitive - to fill device table with particular
+ values.
+******************************************************************************/
+typedef enum
+{
+ //! Master key type.
+ KEY_TYPE_MASTER,
+ //! Link key type.
+ KEY_TYPE_LINK
+} TC_KeyType_t;
+
+/**************************************************************************//**
+ \brief Trust Centre set device key primitive paramemtrs.
+
+ Used in TC_SetDeviceKey primitive - to fill device table with particular
+ values.
+******************************************************************************/
+typedef struct
+{
+ //! Device extended address.
+ ExtAddr_t *deviceAddr;
+ //! Key value - 16 bytes array.
+ uint8_t (*key)[SECURITY_KEY_SIZE];
+ //! Key type.
+ TC_KeyType_t keyType;
+} TC_SetDeviceKey_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Sets device parameters in device table - extended address associated
+ with particular key.
+
+ \param params - request parameters' structure pointer.
+ \return true in case if operation is successful - false otherwise.
+******************************************************************************/
+bool TC_SetDeviceKey(TC_SetDeviceKey_t *param);
+
+/**************************************************************************//**
+ \brief Deletes whole information about device with extended address equeal to
+ deviceAddr from APS_KeyPairSet_t table.
+ \param deviceAddr - device address.
+
+ \return true - if device with extended address deviceAddr was found and its
+ entry was deleted, false - otherwise.
+******************************************************************************/
+bool TC_DeleteDeviceEntry(ExtAddr_t *deviceAddr);
+
+#endif // _TCDEVICETABLECTRLH
+
+// eof tcDeviceTableCtrl.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h
new file mode 100644
index 00000000..e986064f
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h
@@ -0,0 +1,53 @@
+/**************************************************************************//**
+ \file tcKeyEstablish.h
+
+ \brief Security Trust Centre End to End Key Establish primitive 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:
+ 2008.01.17 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCKEYESTABLISH
+#define _TCKEYESTABLISH
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ union
+ {
+ APS_TransportKeyReq_t transportKeyReq;
+ };
+ //ExtAddr_t updateIndSrcAddr;
+ uint8_t state;
+} TC_KeyEstablishObj_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+#ifdef _LINK_SECURITY_
+void APS_RequestKeyInd(APS_RequestKeyInd_t *indParams);
+#endif // _LINK_SECURITY_
+
+#endif // _LINK_SECURITY_
+
+// eof tcKeyEstablish.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h
new file mode 100644
index 00000000..ce0d2ca7
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h
@@ -0,0 +1,66 @@
+/**************************************************************************//**
+ \file tcKeyUpdate.h
+
+ \brief Security Trust Centre key update primitive 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.12 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCKEYUPDATEH
+#define _TCKEYUPDATEH
+
+/******************************************************************************
+ Includes section.
+******************************************************************************/
+#include <types.h>
+#include <tcCommon.h>
+#include <tcKeyUpdate.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ uint8_t status;
+} TC_KeyUpdateConf_t;
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TC_Service_t service;
+ void (*TC_KeyUpdateConf)(TC_KeyUpdateConf_t *conf);
+ TC_KeyUpdateConf_t confirm;
+} TC_KeyUpdateReq_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief Peforms trust centre key updating procedure in the network.
+
+ \param reqParam - parameters of operation (for detailed description refer to
+ TC_KeyUpdateReq_t type declaration).
+ \return none.
+******************************************************************************/
+void TC_KeyUpdateReq(TC_KeyUpdateReq_t *reqParam);
+
+#endif //_TCKEYUPDATEH
+// eof tcKeyUpdate.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h
new file mode 100644
index 00000000..843d21af
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h
@@ -0,0 +1,59 @@
+/******************************************************************************
+ \file tcPromiscuousMode.h
+
+ \brief
+ TC Promiscuous mode module interface.
+
+ \author
+ Atmel Corporation: http://www.atmel.com \n
+ Support email: avr@atmel.com
+
+ Copyright (c) 2010 , Atmel Corporation. All rights reserved.
+ Licensed under Atmel's Limited License Agreement (BitCloudTM).
+
+ \internal
+ History:
+ 2010-25-01 arazinkov - Created.
+ Last change:
+ $Id: tcPromiscuousMode.h 14525 2010-12-23 10:18:45Z arazinkov $
+******************************************************************************/
+
+#ifndef _TCPROMISCUOUSMODE_H_
+#define _TCPROMISCUOUSMODE_H_
+
+#ifdef _LINK_SECURITY_
+#ifdef _TC_PROMISCUOUS_MODE_
+
+/******************************************************************************
+ Includes section
+******************************************************************************/
+#include <types.h>
+
+/******************************************************************************
+ Prototypes section
+******************************************************************************/
+/**************************************************************************//**
+ \brief Forces TC to enter the Promiscuous mode
+
+ \return None.
+******************************************************************************/
+void TC_EnterPromiscuousMode(void);
+
+/**************************************************************************//**
+ \brief Forces TC to leave the Promiscuous mode
+
+ \return None.
+******************************************************************************/
+void TC_LeavePromiscuousMode(void);
+
+/**************************************************************************//**
+ \brief Checks, if TC is in the Promiscuous mode
+
+ \return True, if TC is in the Promiscuous mode, False - otherwise
+******************************************************************************/
+bool TC_IsPromiscuousMode(void);
+
+#endif /* _LINK_SECURITY_ */
+
+#endif /* _TC_PROMISCUOUS_MODE_ */
+#endif /* _TCPROMISCUOUSMODE_H_ */
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h
new file mode 100644
index 00000000..c0d37786
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h
@@ -0,0 +1,56 @@
+/**************************************************************************//**
+ \file tcRemove.h
+ \brief Security Trust Centre remove primitive 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:
+ 2008.01.20 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCREMOVEH
+#define _TCREMOVEH
+
+#include <tcCommon.h>
+#include <macAddr.h>
+
+/******************************************************************************
+ Types section.
+******************************************************************************/
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ uint8_t status;
+} TC_RemoveDeviceConf_t;
+
+/**************************************************************************//**
+ \brief TBD.
+
+ TBD
+******************************************************************************/
+typedef struct
+{
+ TC_Service_t service;
+ ExtAddr_t deviceAddr;
+ ExtAddr_t parentAddr;
+ void (*TC_RemoveDeviceConf)(TC_RemoveDeviceConf_t *conf);
+ TC_RemoveDeviceConf_t confirm;
+} TC_RemoveDeviceReq_t;
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+void TC_RemoveDeviceReq(TC_RemoveDeviceReq_t *param);
+
+#endif // _TCREMOVEH
+
+// eof tcRemove.h
diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h
new file mode 100644
index 00000000..c386d83b
--- /dev/null
+++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h
@@ -0,0 +1,33 @@
+/**************************************************************************//**
+ \file tcReset.h
+
+ \brief Security Trust Centre reset routine 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.12 - ALuzhetsky created.
+******************************************************************************/
+#ifndef _TCRESETHANDLERH
+#define _TCRESETHANDLERH
+
+/******************************************************************************
+ Functions prototypes section.
+******************************************************************************/
+
+/**************************************************************************//**
+ \brief TBD.
+
+ \param TBD.
+ \return TBD.
+******************************************************************************/
+void TC_Reset(NWK_PowerFailureControl_t powerFailureControl);
+
+#endif // _TCRESETHANDLERH
+// eof tcReset.h