Logo
Developing with ZBOSS for Zigbee

Enumerations

enum  zb_tcswap_dirty_state_t { ZB_TCSWAP_SECUR = 1, ZB_TCSWAP_BINDINGS = 2 }
 

Functions

zb_uint_t zb_tcsw_need_backup (void)
 
zb_bool_t zb_tcsw_is_busy (void)
 
zb_uint_t zb_tcsw_calculate_db_size (void)
 
zb_bool_t zb_tcsw_check_buffer_size (zb_uint_t size)
 
zb_ret_t zb_tcsw_start_backup_db (void)
 
zb_uint_t zb_tcsw_get_portion (zb_uint8_t *buf, zb_uint_t buf_size)
 
zb_ret_t zb_tcsw_start_restore_db (zb_bool_t change_tc_addr)
 
zb_ret_t zc_tcsw_restore_portion (zb_uint8_t *buf, zb_uint_t len)
 
zb_ret_t zc_tcsw_restore_finish (void)
 
void zb_tcsw_enable_passkey_backup (zb_bool_t enable)
 

Detailed Description

Enumeration Type Documentation

§ zb_tcswap_dirty_state_t

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Bits of bitmask defining which part of TC database need to be backed up

Enumerator
ZB_TCSWAP_SECUR 
ZB_TCSWAP_BINDINGS 

Function Documentation

§ zb_tcsw_calculate_db_size()

zb_uint_t zb_tcsw_calculate_db_size ( void  )

§ zb_tcsw_check_buffer_size()

zb_bool_t zb_tcsw_check_buffer_size ( zb_uint_t  size)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Check buffer size for TC swapout DB save

Returns
ZB_FALSE if size is too small

§ zb_tcsw_enable_passkey_backup()

void zb_tcsw_enable_passkey_backup ( zb_bool_t  enable)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Switch on/off backup of the established authentication token into TC swapout DB.

By default such backup is enabled.

Parameters
enable- if ZB_TRUE, enable backup, else disable

§ zb_tcsw_get_portion()

zb_uint_t zb_tcsw_get_portion ( zb_uint8_t buf,
zb_uint_t  buf_size 
)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Get next portion of TC Swapout DB.

Parameters
buf- buffer to place data into
buf_size- buffer size
Returns
- portion size or 0 if nothing more to backup.
TRACE_MSG(TRACE_APP1, "Signal ZB_TCSWAP_DB_BACKUP_REQUIRED_SIGNAL, status %d", (FMT__D, status));
app_backup_tc_db();
break;
static void app_backup_tc_db(void)
{
zb_uint_t portion_len;
zb_uint_t nvram_buf_pos = 0U;
TRACE_MSG(TRACE_APP1, "app_backup_tc_db, ret %x, need_backup %hd",
(FMT__D_H, ret, zb_tcsw_need_backup()));
do
{
portion_len = zb_tcsw_get_portion((zb_uint8_t*)g_nvram_buf + nvram_buf_pos, TCSW_PORTION_SIZE);
nvram_buf_pos += portion_len;
}
while (portion_len != 0);
}

§ zb_tcsw_is_busy()

zb_bool_t zb_tcsw_is_busy ( void  )

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Return status of TC swapout DB

Returns
ZB_TRUE if save/load TC swapout DB in progress

§ zb_tcsw_need_backup()

zb_uint_t zb_tcsw_need_backup ( void  )

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Return bitmask of the TC swapout DB backup necessity

Returns
bitmask of zb_tcswap_dirty_state_t values. 0 if no backup required.
TRACE_MSG(TRACE_APP1, "Signal ZB_TCSWAP_DB_BACKUP_REQUIRED_SIGNAL, status %d", (FMT__D, status));
app_backup_tc_db();
break;
static void app_backup_tc_db(void)
{
zb_uint_t portion_len;
zb_uint_t nvram_buf_pos = 0U;
TRACE_MSG(TRACE_APP1, "app_backup_tc_db, ret %x, need_backup %hd",
(FMT__D_H, ret, zb_tcsw_need_backup()));
do
{
portion_len = zb_tcsw_get_portion((zb_uint8_t*)g_nvram_buf + nvram_buf_pos, TCSW_PORTION_SIZE);
nvram_buf_pos += portion_len;
}
while (portion_len != 0);
}

§ zb_tcsw_start_backup_db()

zb_ret_t zb_tcsw_start_backup_db ( void  )

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Start TC swapout backup procedure.

Returns
- RET_OK if backup procesdue is started, RET_ERROR in other cases.
TRACE_MSG(TRACE_APP1, "Signal ZB_TCSWAP_DB_BACKUP_REQUIRED_SIGNAL, status %d", (FMT__D, status));
app_backup_tc_db();
break;
static void app_backup_tc_db(void)
{
zb_uint_t portion_len;
zb_uint_t nvram_buf_pos = 0U;
TRACE_MSG(TRACE_APP1, "app_backup_tc_db, ret %x, need_backup %hd",
(FMT__D_H, ret, zb_tcsw_need_backup()));
do
{
portion_len = zb_tcsw_get_portion((zb_uint8_t*)g_nvram_buf + nvram_buf_pos, TCSW_PORTION_SIZE);
nvram_buf_pos += portion_len;
}
while (portion_len != 0);
}

§ zb_tcsw_start_restore_db()

zb_ret_t zb_tcsw_start_restore_db ( zb_bool_t  change_tc_addr)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Start TC swapout restore procedure.

Returns
ZB_TRUE if restore completed successfully
static void app_restore_tc_db(void)
{
zb_ret_t ret;
zb_uint_t buf_offset = 0U;
TRACE_MSG(TRACE_APP1, ">> app_restore_tc_db", (FMT__0));
do
{
ret = zc_tcsw_restore_portion((zb_uint8_t*)g_nvram_buf + buf_offset, TCSW_PORTION_SIZE);
buf_offset += TCSW_PORTION_SIZE;
}
while (ret == RET_AGAIN);
ZB_ASSERT(ret == RET_OK);
TRACE_MSG(TRACE_APP1, "<< app_restore_tc_db, ret %hd", (FMT__H, ret));
}

§ zc_tcsw_restore_finish()

zb_ret_t zc_tcsw_restore_finish ( void  )

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

Complete TC DB restore.

static void app_restore_tc_db(void)
{
zb_ret_t ret;
zb_uint_t buf_offset = 0U;
TRACE_MSG(TRACE_APP1, ">> app_restore_tc_db", (FMT__0));
do
{
ret = zc_tcsw_restore_portion((zb_uint8_t*)g_nvram_buf + buf_offset, TCSW_PORTION_SIZE);
buf_offset += TCSW_PORTION_SIZE;
}
while (ret == RET_AGAIN);
ZB_ASSERT(ret == RET_OK);
TRACE_MSG(TRACE_APP1, "<< app_restore_tc_db, ret %hd", (FMT__H, ret));
}

§ zc_tcsw_restore_portion()

zb_ret_t zc_tcsw_restore_portion ( zb_uint8_t buf,
zb_uint_t  len 
)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_tcswap.h>

TC swapout, ZC side - provide TC DB portion to ZBOSS TC.

To be called N times after zb_tcsw_start_restore_db().

Parameters
buf- data buffer
len- buffer length
static void app_restore_tc_db(void)
{
zb_ret_t ret;
zb_uint_t buf_offset = 0U;
TRACE_MSG(TRACE_APP1, ">> app_restore_tc_db", (FMT__0));
do
{
ret = zc_tcsw_restore_portion((zb_uint8_t*)g_nvram_buf + buf_offset, TCSW_PORTION_SIZE);
buf_offset += TCSW_PORTION_SIZE;
}
while (ret == RET_AGAIN);
ZB_ASSERT(ret == RET_OK);
TRACE_MSG(TRACE_APP1, "<< app_restore_tc_db, ret %hd", (FMT__H, ret));
}