Logo
Developing with ZBOSS for Zigbee
ZDO miscellaneous management services

Data Structures

struct  zb_zdo_mgmt_nwk_update_req_hdr_s
 Header of parameters for Mgmt_NWK_Update_req. More...
 
struct  zb_zdo_mgmt_nwk_update_req_s
 Parameters for Mgmt_NWK_Update_req. More...
 
struct  zb_zdo_mgmt_nwk_enhanced_update_req_param_s
 Parameters for Mgmt_NWK_Update_req internal call. More...
 
struct  zb_zdo_mgmt_nwk_enhanced_update_req_hdr_s
 Header of parameters for Mgmt_NWK_Update_req. More...
 
struct  zb_zdo_mgmt_nwk_update_notify_hdr_s
 Header parameters for mgmt_nwk_update_notify. More...
 
struct  zb_zdo_mgmt_nwk_update_notify_param_s
 Parameters for mgmt_nwk_update_notify. More...
 
struct  zb_zdo_mgmt_nwk_unsol_enh_update_notify_s
 Notification for Mgmt_NWK_Unsolicited_Enhanced_Update_Notify. More...
 
struct  zb_zdo_mgmt_nwk_unsol_enh_update_notify_param_s
 Parameters for Mgmt_NWK_Unsolicited_Enhanced_Update_Notify. More...
 
struct  zb_zdo_mgmt_lqi_param_s
 Parameters for Mgmt_Lqi_req. More...
 
struct  zb_zdo_mgmt_lqi_req_s
 Request for Mgmt_Lqi_req. More...
 
struct  zb_zdo_mgmt_lqi_resp_s
 Response for Mgmt_Lqi_rsp. More...
 
struct  zb_zdo_neighbor_table_record_s
 NeighborTableList Record Format for Mgmt_Lqi_resp. More...
 
struct  zb_zdo_mgmt_rtg_param_s
 Parameters for Mgmt_rtg_req. More...
 
struct  zb_zdo_mgmt_rtg_req_s
 Request for Mgmt_rtg_req. More...
 
struct  zb_zdo_mgmt_rtg_resp_s
 Response for Mgmt_Rtg_rsp. More...
 
struct  zb_zdo_routing_table_record_s
 RoutingTableList Record Format for mgmt_rtg_resp. More...
 
struct  zb_energy_detect_channel_info_s
 
struct  zb_energy_detect_list_s
 
struct  zb_nlme_ed_scan_request_s
 
struct  zb_zdo_ed_scan_param_s
 
struct  zb_zdo_active_scan_request_s
 Parameters for active_scan_req. More...
 
struct  zb_nlme_network_descriptor_s
 Network descriptor. This is a part of network discovery confirm result. More...
 
struct  zb_zdo_active_scan_resp_s
 Parameters for active_scan_resp. More...
 
struct  zb_zdo_mgmt_leave_param_s
 Request for Mgmt_Leave_req. More...
 
struct  zb_zdo_mgmt_leave_req_s
 
struct  zb_zdo_mgmt_leave_res_s
 Response for Mgmt_Leave_rsp. More...
 
struct  zb_zdo_mgmt_permit_joining_req_s
 Parameters for Mgmt_Permit_Joining_req. More...
 
struct  zb_zdo_mgmt_permit_joining_req_param_s
 Parameters for zb_zdo_mgmt_permit_joining_req. More...
 
struct  zb_zdo_device_annce_s
 
struct  zb_nlme_leave_indication_s
 
struct  zb_zdo_pim_get_long_poll_interval_resp_s
 

Macros

#define ZB_ZDO_RECORD_SET_DEVICE_TYPE(var, type)   ( ( var ) &= ~3U, ( var ) |= ( type ) )
 
#define ZB_ZDO_RECORD_GET_DEVICE_TYPE(var)   ( var & 3U )
 
#define ZB_ZDO_RECORD_SET_RX_ON_WHEN_IDLE(var, type)   ( ( var ) &= ~0xCU, ( var ) |= (( type ) << 2U) )
 
#define ZB_ZDO_RECORD_GET_RX_ON_WHEN_IDLE(var)   ( (var & 0xCU) >> 2U )
 
#define ZB_ZDO_RECORD_SET_RELATIONSHIP(var, type)   ( ( var ) &= ~0x70U, ( var ) |= (( type ) << 4U) )
 
#define ZB_ZDO_RECORD_GET_RELATIONSHIP(var)   ( (var & 0x70) >> 4 )
 
#define ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_STATUS   0U
 
#define ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_MEM_CONST   3U
 
#define ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_MANY_TO_ONE   4U
 
#define ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_ROUTE_REC_REQUIRED   5U
 
#define ZB_ED_SCAN_MAX_CHANNELS_COUNT   ((ZB_IO_BUF_SIZE - sizeof(zb_uint8_t)) / sizeof(zb_energy_detect_channel_info_t))
 

Typedefs

typedef struct zb_zdo_mgmt_nwk_update_req_hdr_s zb_zdo_mgmt_nwk_update_req_hdr_t
 Header of parameters for Mgmt_NWK_Update_req. More...
 
typedef struct zb_zdo_mgmt_nwk_update_req_s zb_zdo_mgmt_nwk_update_req_t
 Parameters for Mgmt_NWK_Update_req. More...
 
typedef struct zb_zdo_mgmt_nwk_enhanced_update_req_param_s zb_zdo_mgmt_nwk_enhanced_update_req_param_t
 Parameters for Mgmt_NWK_Update_req internal call. More...
 
typedef struct zb_zdo_mgmt_nwk_enhanced_update_req_hdr_s zb_zdo_mgmt_nwk_enhanced_update_req_hdr_t
 Header of parameters for Mgmt_NWK_Update_req. More...
 
typedef struct zb_zdo_mgmt_nwk_update_notify_hdr_s zb_zdo_mgmt_nwk_update_notify_hdr_t
 Header parameters for mgmt_nwk_update_notify. More...
 
typedef struct zb_zdo_mgmt_nwk_update_notify_param_s zb_zdo_mgmt_nwk_update_notify_param_t
 Parameters for mgmt_nwk_update_notify. More...
 
typedef zb_zdo_mgmt_nwk_update_notify_param_t zb_zdo_mgmt_nwk_enhanced_update_notify_param_t
 
typedef struct zb_zdo_mgmt_nwk_unsol_enh_update_notify_s zb_zdo_mgmt_nwk_unsol_enh_update_notify_t
 Notification for Mgmt_NWK_Unsolicited_Enhanced_Update_Notify. More...
 
typedef struct zb_zdo_mgmt_nwk_unsol_enh_update_notify_param_s zb_zdo_mgmt_nwk_unsol_enh_update_notify_param_t
 Parameters for Mgmt_NWK_Unsolicited_Enhanced_Update_Notify. More...
 
typedef struct zb_zdo_mgmt_lqi_param_s zb_zdo_mgmt_lqi_param_t
 Parameters for Mgmt_Lqi_req. More...
 
typedef struct zb_zdo_mgmt_lqi_req_s zb_zdo_mgmt_lqi_req_t
 Request for Mgmt_Lqi_req. More...
 
typedef struct zb_zdo_mgmt_lqi_resp_s zb_zdo_mgmt_lqi_resp_t
 Response for Mgmt_Lqi_rsp. More...
 
typedef struct zb_zdo_neighbor_table_record_s zb_zdo_neighbor_table_record_t
 NeighborTableList Record Format for Mgmt_Lqi_resp. More...
 
typedef struct zb_zdo_mgmt_rtg_param_s zb_zdo_mgmt_rtg_param_t
 Parameters for Mgmt_rtg_req. More...
 
typedef struct zb_zdo_mgmt_rtg_req_s zb_zdo_mgmt_rtg_req_t
 Request for Mgmt_rtg_req. More...
 
typedef struct zb_zdo_mgmt_rtg_resp_s zb_zdo_mgmt_rtg_resp_t
 Response for Mgmt_Rtg_rsp. More...
 
typedef struct zb_zdo_routing_table_record_s zb_zdo_routing_table_record_t
 RoutingTableList Record Format for mgmt_rtg_resp. More...
 
typedef struct zb_energy_detect_channel_info_s zb_energy_detect_channel_info_t
 
typedef struct zb_energy_detect_list_s zb_energy_detect_list_t
 
typedef struct zb_nlme_ed_scan_request_s zb_nlme_ed_scan_request_t
 
typedef struct zb_zdo_ed_scan_param_s zb_zdo_ed_scan_param_t
 
typedef struct zb_zdo_active_scan_request_s zb_zdo_active_scan_request_t
 Parameters for active_scan_req. More...
 
typedef struct zb_nlme_network_descriptor_s zb_nlme_network_descriptor_t
 Network descriptor. This is a part of network discovery confirm result. More...
 
typedef struct zb_zdo_active_scan_resp_s zb_zdo_active_scan_resp_t
 Parameters for active_scan_resp. More...
 
typedef struct zb_zdo_mgmt_leave_param_s zb_zdo_mgmt_leave_param_t
 Request for Mgmt_Leave_req. More...
 
typedef struct zb_zdo_mgmt_leave_req_s zb_zdo_mgmt_leave_req_t
 
typedef struct zb_zdo_mgmt_leave_res_s zb_zdo_mgmt_leave_res_t
 Response for Mgmt_Leave_rsp. More...
 
typedef struct zb_zdo_mgmt_permit_joining_req_s zb_zdo_mgmt_permit_joining_req_t
 Parameters for Mgmt_Permit_Joining_req. More...
 
typedef struct zb_zdo_mgmt_permit_joining_req_param_s zb_zdo_mgmt_permit_joining_req_param_t
 Parameters for zb_zdo_mgmt_permit_joining_req. More...
 
typedef struct zb_zdo_device_annce_s zb_zdo_device_annce_t
 
typedef struct zb_nlme_leave_indication_s zb_nlme_leave_indication_t
 
typedef struct zb_zdo_pim_get_long_poll_interval_resp_s zb_zdo_pim_get_long_poll_interval_resp_t
 

Functions

zb_uint8_t zb_zdo_mgmt_nwk_update_req (zb_uint8_t param, zb_callback_t cb)
 Performs Mgmt_NWK_Update_req request. More...
 
zb_uint8_t zb_zdo_mgmt_nwk_enh_update_req (zb_uint8_t param, zb_callback_t cb)
 Performs Mgmt_NWK_Enhanced_Update_req request. More...
 
void zb_zdo_mgmt_nwk_unsol_enh_update_notify (zb_uint8_t param, zb_callback_t cb)
 Performs Mgmt_NWK_Enhanced_Update_req request. More...
 
zb_uint8_t zb_zdo_mgmt_lqi_req (zb_uint8_t param, zb_callback_t cb)
 Sends Mgmt_Lqi_req (see Zigbee spec 2.4.3.3.2) More...
 
zb_uint8_t zb_zdo_mgmt_rtg_req (zb_uint8_t param, zb_callback_t cb)
 
void zdo_mgmt_rtg_resp (zb_uint8_t param)
 
void zb_zdo_ed_scan_request (zb_uint8_t param)
 Performs energy scan. More...
 
void zb_zdo_active_scan_request (zb_uint8_t param)
 Performs active scan. More...
 
zb_uint8_t zdo_mgmt_leave_req (zb_uint8_t param, zb_callback_t cb)
 Sends Mgmt_Leave_req. More...
 
zb_uint8_t zb_zdo_mgmt_permit_joining_req (zb_uint8_t param, zb_callback_t cb)
 sends Mgmt_Permit_Joining_req (See Zigbee spec 2.4.3.3.7) More...
 

Detailed Description

Macro Definition Documentation

§ ZB_ED_SCAN_MAX_CHANNELS_COUNT

#define ZB_ED_SCAN_MAX_CHANNELS_COUNT   ((ZB_IO_BUF_SIZE - sizeof(zb_uint8_t)) / sizeof(zb_energy_detect_channel_info_t))

§ ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_MANY_TO_ONE

§ ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_MEM_CONST

§ ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_ROUTE_REC_REQUIRED

§ ZB_ZDO_MGMT_RTG_RESP_RECORD_FLAGS_STATUS

§ ZB_ZDO_RECORD_GET_DEVICE_TYPE

#define ZB_ZDO_RECORD_GET_DEVICE_TYPE (   var)    ( var & 3U )

§ ZB_ZDO_RECORD_GET_RELATIONSHIP

#define ZB_ZDO_RECORD_GET_RELATIONSHIP (   var)    ( (var & 0x70) >> 4 )

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

Get relationship of neighbor table record.

Parameters
var- neighbor table record type_flags

zb_zdo_neighbor_table_record_s

§ ZB_ZDO_RECORD_GET_RX_ON_WHEN_IDLE

#define ZB_ZDO_RECORD_GET_RX_ON_WHEN_IDLE (   var)    ( (var & 0xCU) >> 2U )

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

Get RxOnWhenIdle of neighbor table record.

Parameters
var- neighbor table record type_flags

zb_zdo_neighbor_table_record_s

§ ZB_ZDO_RECORD_SET_DEVICE_TYPE

#define ZB_ZDO_RECORD_SET_DEVICE_TYPE (   var,
  type 
)    ( ( var ) &= ~3U, ( var ) |= ( type ) )

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

Set device type of neighbor table record to type 'type': bits 0 - 1, mask 0x3;

Parameters
var- neighbor table record type_flags
type- Zigbee device type value

zb_zdo_neighbor_table_record_s

§ ZB_ZDO_RECORD_SET_RELATIONSHIP

#define ZB_ZDO_RECORD_SET_RELATIONSHIP (   var,
  type 
)    ( ( var ) &= ~0x70U, ( var ) |= (( type ) << 4U) )

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

Set relationship attribute of neighbor table record to type 'type': bits 4 - 6, mask 0x70;

Parameters
var- neighbor table record type_flags
type- Zigbee relationship value

zb_zdo_neighbor_table_record_s

§ ZB_ZDO_RECORD_SET_RX_ON_WHEN_IDLE

#define ZB_ZDO_RECORD_SET_RX_ON_WHEN_IDLE (   var,
  type 
)    ( ( var ) &= ~0xCU, ( var ) |= (( type ) << 2U) )

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

Set RxOnWhenIdle attribute of neighbor table record to type 'type': bits 2 - 3, mask 0xC;

Parameters
var- neighbor table record type_flags
type- RxOnWhenIdle value

zb_zdo_neighbor_table_record_s

Typedef Documentation

§ zb_energy_detect_channel_info_t

§ zb_energy_detect_list_t

§ zb_nlme_ed_scan_request_t

§ zb_nlme_leave_indication_t

§ zb_nlme_network_descriptor_t

§ zb_zdo_active_scan_request_t

§ zb_zdo_active_scan_resp_t

§ zb_zdo_device_annce_t

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

Parameters of Device_annce primitive.

To be put into buffer as data (means - after space alloc).

§ zb_zdo_ed_scan_param_t

§ zb_zdo_mgmt_leave_param_t

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

Request for Mgmt_Leave_req.

See also
ZB spec, subclause 2.4.3.3.5.

Problem in the specification: in 2.4.3.3.5 Mgmt_Leave_req only one DeviceAddress exists. But, in such case it is impossible to satisfy 2.4.3.3.5.1: "The Mgmt_Leave_req is generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network." Also, in the PRO TC document, 14.2TP/NWK/BV-04 ZR-ZDO-APL RX Join/Leave is following note: "gZC sends Mgmt_Leave.request with DevAddr=all zero, DstAddr=ZR"

§ zb_zdo_mgmt_leave_req_t

§ zb_zdo_mgmt_leave_res_t

§ zb_zdo_mgmt_lqi_param_t

§ zb_zdo_mgmt_lqi_req_t

§ zb_zdo_mgmt_lqi_resp_t

§ zb_zdo_mgmt_nwk_enhanced_update_notify_param_t

§ zb_zdo_mgmt_nwk_enhanced_update_req_hdr_t

§ zb_zdo_mgmt_nwk_enhanced_update_req_param_t

§ zb_zdo_mgmt_nwk_unsol_enh_update_notify_param_t

§ zb_zdo_mgmt_nwk_unsol_enh_update_notify_t

§ zb_zdo_mgmt_nwk_update_notify_hdr_t

§ zb_zdo_mgmt_nwk_update_notify_param_t

§ zb_zdo_mgmt_nwk_update_req_hdr_t

§ zb_zdo_mgmt_nwk_update_req_t

§ zb_zdo_mgmt_permit_joining_req_param_t

§ zb_zdo_mgmt_permit_joining_req_t

§ zb_zdo_mgmt_rtg_param_t

§ zb_zdo_mgmt_rtg_req_t

§ zb_zdo_mgmt_rtg_resp_t

§ zb_zdo_neighbor_table_record_t

§ zb_zdo_pim_get_long_poll_interval_resp_t

§ zb_zdo_routing_table_record_t

Function Documentation

§ zb_zdo_active_scan_request()

void zb_zdo_active_scan_request ( zb_uint8_t  param)

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

Performs active scan.

The result will be provided via callback that is passed within zb_zdo_active_scan_request_t. The only argument from this callback is the index of a buffer with zb_zdo_active_scan_resp_t param, followed by a sequence of zb_nlme_network_descriptor_t params (count is determined by zb_zdo_active_scan_resp_t - network_count)

Sample use of active scan request:

Parameters
param- index of buffer with zb_nlme_network_discovery_request_t param

§ zb_zdo_ed_scan_request()

void zb_zdo_ed_scan_request ( zb_uint8_t  param)

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

Performs energy scan.

The result of scan will be provided via callback that is passed within zb_zdo_ed_scan_param_t. The result buffer contains zb_energy_detect_list_t structure in its tail and can be acquired using ZB_BUF_GET_PARAM macro. The status of scan passed via buffer status and can be acquired using zb_buf_get_status macro.

Sample usage of energy scan:

Parameters
param- index of buffer that has zb_zdo_ed_scan_param_t structure in its tail.
Note
This function can't be used in NCP-host build.

§ zb_zdo_mgmt_lqi_req()

zb_uint8_t zb_zdo_mgmt_lqi_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

Sends Mgmt_Lqi_req (see Zigbee spec 2.4.3.3.2)

Parameters
param- index of buffer with Lqi request parameters. zb_zdo_mgmt_lqi_param_s
cb- user's function to call when got response from the remote.
Returns
- ZDP transaction sequence number or 0xFF if operation cannot be performed now (nor enough memory, resources, etc.) zb_zdo_mgmt_lqi_resp_s, zb_zdo_neighbor_table_record_s

Example:

{
req_param->start_index = 0;
req_param->dst_addr = 0; //coord short addr
tsn = zb_zdo_mgmt_lqi_req(ZB_REF_FROM_BUF(buf), get_lqi_cb);
}
void get_lqi_cb(zb_uint8_t param)
{
zb_bufid_t buf = param;
zb_uint8_t *zdp_cmd = zb_buf_begin(buf);
TRACE_MSG(TRACE_APS1, "get_lqi_cb status %hd, neighbor_table_entries %hd, start_index %hd, neighbor_table_list_count %d",
(FMT__H_H_H_H, resp->status, resp->neighbor_table_entries, resp->start_index, resp->neighbor_table_list_count));
for (i = 0; i < resp->neighbor_table_list_count; i++)
{
TRACE_MSG(TRACE_APS1, "#%hd: long addr " TRACE_FORMAT_64 " pan id " TRACE_FORMAT_64,
(FMT__H_A_A, i, TRACE_ARG_64(record->ext_addr), TRACE_ARG_64(record->ext_pan_id)));
TRACE_MSG(TRACE_APS1,
"#%hd: network_addr %d, dev_type %hd, rx_on_wen_idle %hd, relationship %hd, permit_join %hd, depth %hd, lqi %hd",
(FMT_H_D_H_H_H_H_H_H, i, record->network_addr,
record->permit_join, record->depth, record->lqi));
record++;
}
}

§ zb_zdo_mgmt_nwk_enh_update_req()

zb_uint8_t zb_zdo_mgmt_nwk_enh_update_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

Performs Mgmt_NWK_Enhanced_Update_req request.

Parameters
param- index of buffer with call parameters. Parameters must be put into buffer as parameters. zb_zdo_mgmt_nwk_enhanced_update_req_param_s
cb- user's function to call when got response from the remote. zb_zdo_mgmt_nwk_update_notify_hdr_s
Returns
- ZDP transaction sequence number or 0xFF if operation cannot be performed now (nor enough memory, resources, etc.)

§ zb_zdo_mgmt_nwk_unsol_enh_update_notify()

void zb_zdo_mgmt_nwk_unsol_enh_update_notify ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

Performs Mgmt_NWK_Enhanced_Update_req request.

Parameters
param- index of buffer with call parameters. Parameters must be put into buffer as parameters. zb_zdo_mgmt_nwk_unsol_enh_update_notify_param_t
cb- user's function to call when the notification has been sent.

§ zb_zdo_mgmt_nwk_update_req()

zb_uint8_t zb_zdo_mgmt_nwk_update_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

Performs Mgmt_NWK_Update_req request.

Parameters
param- index of buffer with call parameters. Parameters must be put into buffer as parameters. zb_zdo_mgmt_nwk_update_req_s
cb- user's function to call when got response from the remote. zb_zdo_mgmt_nwk_update_notify_hdr_s
Returns
- ZDP transaction sequence number or 0xFF if operation cannot be performed now (nor enough memory, resources, etc.)

Example:

{
req->hdr.scan_channels = ZB_MAC_ALL_CHANNELS_MASK;
req->hdr.scan_duration = TEST_SCAN_DURATION;
req->scan_count = TEST_SCAN_COUNT;
req->dst_addr = 0;
tsn = zb_zdo_mgmt_nwk_update_req(param, mgmt_nwk_update_ok_cb);
}
void mgmt_nwk_update_ok_cb(zb_uint8_t param)
{
zb_bufid_t buf = param;
zb_uint8_t *zdp_cmd = zb_buf_begin(buf);
TRACE_MSG(TRACE_APS3,
"notify_resp status %hd, scanned_channels %x %x, total_transmissions %hd, "
"transmission_failures %hd, scanned_channels_list_count %hd, buf len %hd",
(FMT__H_D_D_H_H_H_H, notify_resp->status, (zb_uint16_t)notify_resp->scanned_channels,
*((zb_uint16_t*)&notify_resp->scanned_channels + 1),
notify_resp->total_transmissions, notify_resp->transmission_failures,
if (notify_resp->status == ZB_ZDP_STATUS_SUCCESS)
{
TRACE_MSG(TRACE_APS3, "mgmt_nwk_update_notify received, Ok", (FMT__0));
}
else
{
TRACE_MSG(TRACE_ERROR, "mgmt_nwk_update_notify received, ERROR incorrect status %x",
(FMT__D, notify_resp->status));
}
}

§ zb_zdo_mgmt_permit_joining_req()

zb_uint8_t zb_zdo_mgmt_permit_joining_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

sends Mgmt_Permit_Joining_req (See Zigbee spec 2.4.3.3.7)

Parameters
param- Index of buffer with request
cb- user's function to call when got response from the remote.
Returns
0xFF if the operation was NOT executed (not enough memory, resources, etc.), a valid ZDP transaction sequence number otherwise
Note
If called with destination address equal to device's address, calls nlme-permit_joining.req locally changing permit joining state on device. If called with destination address != local address (can be unicast or broadcast), forces nlme-permit_joining.req call on remote device (devices), but not on a local device keeping local permit joining state unchanged.
/* Example: send permit join request to close network */
req_param->dest_addr = 0xfffc;
req_param->permit_duration = 0;
req_param->tc_significance = 1;
zb_zdo_mgmt_permit_joining_req(buf, permit_joining_cb);

§ zb_zdo_mgmt_rtg_req()

§ zdo_mgmt_leave_req()

zb_uint8_t zdo_mgmt_leave_req ( zb_uint8_t  param,
zb_callback_t  cb 
)

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

Sends Mgmt_Leave_req.

See also
ZB spec, subclause 2.4.3.3.2.
Parameters
param- index of buffer with Lqi request parameters. zb_zdo_mgmt_leave_param_s
cb- user's function to call when got response from the remote.
Returns
- transaction sequence number of request or 0xFF if operation was NOT executed (if there is no free slot for registering the callback)
/* Example: send leave request */
ZB_IEEE_ADDR_COPY(req->device_address, leave_ieee_addr);
req->remove_children = ZB_FALSE;
req->rejoin = ZB_TRUE;
req->dst_addr = zr_nwk_addr;
zdo_mgmt_leave_req(buf, zb_leave_callback);

Example:

{
zb_bufid_t buf = param;
TRACE_MSG(TRACE_ERROR, "zb_leave_req", (FMT__0));
ZB_MEMSET(req->device_address, 0, sizeof(zb_ieee_addr_t));
req->rejoin = ZB_FALSE;
req->dst_addr = 1;
tsn = zdo_mgmt_leave_req(param, leave_callback);
}
void leave_callback(zb_uint8_t param)
{
TRACE_MSG(TRACE_ERROR, "LEAVE CALLBACK status %hd", (FMT__H, resp->status));
}

§ zdo_mgmt_rtg_resp()