5.2.7. Zigbee Device Object (ZDO)

This section provides the ZDO (Zigbee Device Object) APIs and defines of ESP Zigbee Core.

5.2.7.1. Common APIs and Defines

5.2.7.1.1. Header File

5.2.7.1.2. Type Definitions

typedef uint8_t ezb_zdp_status_t

Represents the ZDP status code, see ezb_zdp_status_e .

typedef uint16_t ezb_zdo_req_cmd_id_t

Represents the ZDO request command ID, see ezb_zdo_req_cmd_id_e .

typedef uint16_t ezb_zdo_rsp_cmd_id_t

Represents the ZDO response command ID, see ezb_zdo_rsp_cmd_id_e .

5.2.7.1.3. Enumerations

enum ezb_zdp_status_e

Enumeration for ZDP status .

Values:

enumerator EZB_ZDP_STATUS_SUCCESS

The requested operation or transmission was completed successfully.

enumerator EZB_ZDP_STATUS_INV_REQUESTTYPE

The supplied request type was invalid.

enumerator EZB_ZDP_STATUS_DEVICE_NOT_FOUND

The requested device did not exist on a device following a child descriptor request to a parent.

enumerator EZB_ZDP_STATUS_INVALID_EP

The supplied endpoint was equal to 0x00 or between 0xf1 and 0xff.

enumerator EZB_ZDP_STATUS_NOT_ACTIVE

The requested endpoint is not described by simple descriptor.

enumerator EZB_ZDP_STATUS_NOT_SUPPORTED

The requested optional feature is not supported on the target device.

enumerator EZB_ZDP_STATUS_TIMEOUT

A timeout has occurred with the requested operation.

enumerator EZB_ZDP_STATUS_NO_MATCH

The end device bind request was unsuccessful due to a failure to match any suitable clusters.

enumerator EZB_ZDP_STATUS_NO_ENTRY

The unbind request was unsuccessful due to the coordinator or source device not having an entry in its binding table to unbind.

enumerator EZB_ZDP_STATUS_NO_DESCRIPTOR

A child descriptor was not available following a discovery request to a parent.

enumerator EZB_ZDP_STATUS_INSUFFICIENT_SPACE

The device does not have space to support the requested operation.

enumerator EZB_ZDP_STATUS_NOT_PERMITTED

The device is not in the proper state to support the requested operation.

enumerator EZB_ZDP_STATUS_TABLE_FULL

The device does not have table space to support the operation.

enumerator EZB_ZDP_STATUS_NOT_AUTHORIZED

The permissions configuration table on the target indicates that the request is not authorized from this device.

enumerator EZB_ZDP_STATUS_BINDING_TABLE_FULL

The device doesn't have binding table space to support the operation

enumerator EZB_ZDP_STATUS_INVALID_INDEX

The index in the received command is out of bounds.

enum ezb_zdo_req_cmd_id_e

ZDO Request Command IDs .

Values:

enumerator EZB_ZDO_CMD_NWK_ADDR_REQ

Network Address Request

enumerator EZB_ZDO_CMD_IEEE_ADDR_REQ

IEEE Address Request

enumerator EZB_ZDO_CMD_NODE_DESC_REQ

Node Descriptor Request

enumerator EZB_ZDO_CMD_POWER_DESC_REQ

Power Descriptor Request

enumerator EZB_ZDO_CMD_SIMPLE_DESC_REQ

Simple Descriptor Request

enumerator EZB_ZDO_CMD_ACTIVE_EP_REQ

Active Endpoints Request

enumerator EZB_ZDO_CMD_MATCH_DESC_REQ

Match Descriptor Request

enumerator EZB_ZDO_CMD_DEVICE_ANNCE

Device Announce

enumerator EZB_ZDO_CMD_PARENT_ANNCE

Parent Announce

enumerator EZB_ZDO_CMD_BIND_REQ

Bind Request

enumerator EZB_ZDO_CMD_UNBIND_REQ

Unbind Request

enumerator EZB_ZDO_CMD_MGMT_LQI_REQ

Mgmt_Lqi_req

enumerator EZB_ZDO_CMD_MGMT_BIND_REQ

Mgmt_Bind_req

enumerator EZB_ZDO_CMD_MGMT_LEAVE_REQ

Mgmt_Leave_req

enumerator EZB_ZDO_CMD_MGMT_PERMIT_JOINING_REQ

Mgmt_Permit_Joining_req

enumerator EZB_ZDO_CMD_MGMT_NWK_UPDATE_REQ

Mgmt_NWK_Update_req

enum ezb_zdo_rsp_cmd_id_e

Device and Service Discovery Server Service Response Command IDs .

Values:

enumerator EZB_ZDO_CMD_NWK_ADDR_RSP

Network Address Response

enumerator EZB_ZDO_CMD_IEEE_ADDR_RSP

IEEE Address Response

enumerator EZB_ZDO_CMD_NODE_DESC_RSP

Node Descriptor Response

enumerator EZB_ZDO_CMD_POWER_DESC_RSP

Power Descriptor Response

enumerator EZB_ZDO_CMD_SIMPLE_DESC_RSP

Simple Descriptor Response

enumerator EZB_ZDO_CMD_ACTIVE_EP_RSP

Active Endpoints Response

enumerator EZB_ZDO_CMD_MATCH_DESC_RSP

Match Descriptor Response

enumerator EZB_ZDO_CMD_PARENT_ANNCE_RSP

Parent Announce Response

enumerator EZB_ZDO_CMD_BIND_RSP

Bind Response

enumerator EZB_ZDO_CMD_UNBIND_RSP

Unbind Response

enumerator EZB_ZDO_CMD_MGMT_NWK_DISC_RSP

Mgmt_NWK_Disc_rsp (Deprecated)

enumerator EZB_ZDO_CMD_MGMT_LQI_RSP

Mgmt_Lqi_rsp

enumerator EZB_ZDO_CMD_MGMT_RTG_RSP

Mgmt_Rtg_rsp

enumerator EZB_ZDO_CMD_MGMT_BIND_RSP

Mgmt_Bind_rsp

enumerator EZB_ZDO_CMD_MGMT_LEAVE_RSP

Mgmt_Leave_rsp

enumerator EZB_ZDO_CMD_MGMT_DIRECT_JOIN_RSP

Mgmt_Direct_Join_rsp

enumerator EZB_ZDO_CMD_MGMT_PERMIT_JOINING_RSP

Mgmt_Permit_Joining_rsp

enumerator EZB_ZDO_CMD_MGMT_CACHE_RSP

Mgmt_Cache_rsp

enumerator EZB_ZDO_CMD_MGMT_NWK_UPDATE_NOTIFY

Mgmt_NWK_Update_notify

enumerator EZB_ZDO_CMD_MGMT_NWK_ENHANCED_UPDATE_NOTIFY

Mgmt_NWK_Enhanced_Update_notify

enumerator EZB_ZDO_CMD_MGMT_NWK_IEEE_JOINING_LIST_RSP

Mgmt_NWK_IEEE_Joining_List_rsp

enumerator EZB_ZDO_CMD_MGMT_NWK_UNSOLICITED_ENH_UPDATE_NOTIFY

Mgmt_NWK_Unsolicited_Enhanced_Update_notify

5.2.7.2. Device and Service Discovery

5.2.7.2.1. Header File

5.2.7.2.2. Functions

ezb_err_t ezb_zdo_nwk_addr_req(const ezb_zdo_nwk_addr_req_t *req)

Send a ZDO NWK_addr_req command.

The NWK_addr_req is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address.

Parameters:

req -- [in] A structure used to configure the fields of the NWK_addr_req command, see ezb_zdo_nwk_addr_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_ieee_addr_req(const ezb_zdo_ieee_addr_req_t *req)

Send a ZDO IEEE_addr_req command.

The IEEE_addr_req is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address.

Parameters:

req -- [in] A structure used to configure the fields of the IEEE_addr_req command, see ezb_zdo_ieee_addr_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_simple_desc_req(const ezb_zdo_simple_desc_req_t *req)

Send a ZDO Simple_Desc_req command.

The Simple_Desc_req command is generated from a local device wishing to inquire as to the simple descriptor of a remote device on a specified endpoint.

Parameters:

req -- [in] A structure used to configure the fields of the Simple_Desc_req command, see ezb_zdo_simple_desc_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_match_desc_req(const ezb_zdo_match_desc_req_t *req)

Send a ZDO Match_Desc_req command.

The Match_Desc_req command is generated from a local device wishing to find remote devices supporting a specific simple descriptor match criterion.

Parameters:

req -- [in] A structure used to configure the fields of the Match_Desc_req command, see ezb_zdo_match_desc_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_active_ep_req(const ezb_zdo_active_ep_req_t *req)

Send a ZDO Active_EP_req command.

The Active_EP_req command is generated from a local device wishing to acquire the list of endpoints on a remote device with simple descriptors.

Parameters:

req -- [in] A structure used to configure the fields of the Active_EP_req command, see ezb_zdo_active_ep_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_power_desc_req(const ezb_zdo_power_desc_req_t *req)

Send a ZDO Power_Desc_req command.

The Power_Desc_req command is generated from a local device wishing to inquire as to the power descriptor of a remote device.

Parameters:

req -- [in] A structure used to configure the fields of the Power_Desc_req command, see ezb_zdo_power_desc_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_node_desc_req(const ezb_zdo_node_desc_req_t *req)

Send a ZDO Node_Desc_req command.

The Node_Desc_req command is generated from a local device wishing to inquire as to the node descriptor of a remote device.

Parameters:

req -- [in] A structure used to configure the fields of the Node_Desc_req command, see ezb_zdo_node_desc_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_device_annce_req(const ezb_zdo_device_annce_req_t *req)

Announce the existence of the Zigbee network to the network.

The Device_Annce_req command is generated from a local device wishing to announce itself to the network.

Parameters:

req -- [in] A structure used to configure the fields of the Device_Annce_req command, see ezb_zdo_device_annce_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_parent_annce_req(const ezb_zdo_parent_annce_req_t *req)

Announce the existence of the Zigbee network to the parent device.

The Parent_Annce_req command is generated from a local device wishing to announce itself to the parent device.

Parameters:

req -- [in] A structure used to configure the fields of the Parent_Annce_req command, see ezb_zdo_parent_annce_req_t

Returns:

Error code, see ezb_err_t

5.2.7.2.3. Structures

struct ezb_zdp_nwk_addr_req_field_s

Fields of the ZDP Network Address Request Command.

Public Members

ezb_extaddr_t ieee_addr_of_interest

IEEE (64-bit) address of the device to find

uint8_t request_type

Request type for this command:

  • 0x00 = Single device response (no associated devices list)

  • 0x01 = Extended response (includes associated devices list)

uint8_t start_index

Starting index for the associated devices list (only used if request_type is 0x01)

struct ezb_zdp_addr_rsp_field_s

Structure for ZDP Address Response.

This structure is used for both NWK_addr and IEEE_addr responses.

Public Members

uint8_t status

Status of the address request, see ezb_zdp_status_t

ezb_extaddr_t ieee_addr_remote_dev

IEEE (64-bit) address of the remote device

ezb_shortaddr_t nwk_addr_remote_dev

Network (16-bit) address of the remote device

uint8_t num_assoc_dev

Total number of associated devices (children) of the remote device

uint8_t start_index

Starting index of the associated devices list in this response

ezb_shortaddr_t *nwk_addr_assoc_dev_list

Pointer to array of network addresses of associated devices

struct ezb_zdo_addr_req_result_s

Structure for ZDO Address Request Result.

Public Members

ezb_err_t error

Error code of the address request operation

ezb_zdp_address_rsp_field_t *rsp

Pointer to the address response field, NULL if error occurred

struct ezb_zdo_nwk_addr_req_s

Structure for ZDO Network Address Request.

This structure contains all parameters needed to send a network address request to find the 16-bit network address corresponding to a known IEEE address.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_nwk_addr_req_field_t field

Fields of the network address request command

ezb_zdo_nwk_addr_req_callback_t cb

User callback for result of ZDO Network Address Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_ieee_addr_req_field_s

Fields of the ZDP IEEE Address Request Command.

Public Members

ezb_shortaddr_t nwk_addr_of_interest

Network (16-bit) address of the device to find

uint8_t request_type

Request type for this command:

  • 0x00 = Single device response (no associated devices list)

  • 0x01 = Extended response (includes associated devices list)

uint8_t start_index

Starting index for the associated devices list (only used if request_type is 0x01)

struct ezb_zdo_ieee_addr_req_s

Structure for ZDO IEEE Address Request.

This structure contains all parameters needed to send an IEEE address request to find the 64-bit IEEE address corresponding to a known network address.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_ieee_addr_req_field_t field

Fields of the IEEE address request command

ezb_zdo_ieee_addr_req_callback_t cb

User callback for result of ZDO IEEE Address Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_simple_desc_rsp_field_s

Structure for ZDP Simple Descriptor Response.

Public Members

uint8_t status

Status of the simple descriptor request, see ezb_zdp_status_t

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device that was queried

uint8_t length

Length of the simple descriptor in bytes

ezb_af_simple_desc_t desc

Simple descriptor containing endpoint information

struct ezb_zdo_simple_desc_req_result_s

Structure for ZDO Simple Descriptor Request Result.

Public Members

ezb_err_t error

Error code of the simple descriptor request operation

ezb_zdp_simple_desc_rsp_field_t *rsp

Pointer to the simple descriptor response field, NULL if error occurred

struct ezb_zdp_simple_desc_req_field_s

Fields of the ZDP Simple Descriptor Request Command.

Public Members

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device to query

uint8_t endpoint

Endpoint number on the destination device (1-240)

struct ezb_zdo_simple_desc_req_s

Structure for ZDO Simple Descriptor Request.

This structure contains all parameters needed to send a simple descriptor request to get information about a specific endpoint on a remote device.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_simple_desc_req_field_t field

Fields of the simple descriptor request command

ezb_zdo_simple_desc_req_callback_t cb

User callback for result of ZDO Simple Descriptor Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_match_desc_req_field_s

Fields of the ZDP Match Descriptor Request Command.

Public Members

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device to query

uint16_t profile_id

Profile ID to match at the destination, see ezb_af_profile_id_t

uint8_t num_in_clusters

Number of input clusters (server clusters) in the cluster_list

uint8_t num_out_clusters

Number of output clusters (client clusters) in the cluster_list

uint16_t *cluster_list

Pointer to array of cluster IDs. First num_in_clusters entries are input clusters, followed by num_out_clusters entries for output clusters. Total size must be (num_in_clusters + num_out_clusters) * sizeof(uint16_t)

struct ezb_zdp_match_desc_rsp_field_s

Structure for ZDP Match Descriptor Response.

Public Members

ezb_zdp_status_t status

Status of the match descriptor request, see ezb_zdp_status_t

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device that was queried

uint8_t match_length

Number of endpoints on the remote device that match the request criteria

uint8_t *match_list

Pointer to array of endpoint numbers (uint8_t) that match the criteria

struct ezb_zdo_match_desc_req_result_s

Structure for ZDO Match Descriptor Request Result.

Public Members

ezb_err_t error

Error code of the match descriptor request operation

ezb_zdp_match_desc_rsp_field_t *rsp

Pointer to the match descriptor response field, NULL if error occurred

struct ezb_zdo_match_desc_req_s

Structure for ZDO Match Descriptor Request.

This structure contains all parameters needed to send a match descriptor request to find endpoints on a remote device that support specific clusters.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_match_desc_req_field_t field

Fields of the match descriptor request command

ezb_zdo_match_desc_req_callback_t cb

User callback for result of ZDO Match Descriptor Request, If the request is broadcast, the callback may be invoked multiple times to report different responses, with the NULL response indicating completion.

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_simple_req_field_s

Fields of the ZDP Simple Request Command.

This is a base structure used for simple requests that only need a network address.

Public Members

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device to query

struct ezb_zdp_active_ep_rsp_field_s

Structure for ZDP Active Endpoints Response.

Public Members

ezb_zdp_status_t status

Status of the active endpoints request, see ezb_zdp_status_t

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device that was queried

uint8_t active_ep_count

Number of active endpoints on the remote device

uint8_t *active_ep_list

Pointer to array of active endpoint numbers (uint8_t)

struct ezb_zdo_active_ep_req_result_s

Structure for ZDO Active Endpoints Request Result.

Public Members

ezb_err_t error

Error code of the active endpoints request operation

ezb_zdp_active_ep_rsp_field_t *rsp

Pointer to the active endpoints response field, NULL if error occurred

struct ezb_zdo_active_ep_req_s

Structure for ZDO Active Endpoints Request.

This structure contains all parameters needed to send an active endpoints request to get a list of all active endpoints on a remote device.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_active_ep_req_field_t field

Fields of the active endpoints request command

ezb_zdo_active_ep_req_callback_t cb

User callback for result of ZDO Active Endpoints Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_power_desc_rsp_field_s

Structure for ZDP Power Descriptor Response.

Public Members

ezb_zdp_status_t status

Status of the power descriptor request, see ezb_zdp_status_t

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device that was queried

ezb_af_node_power_desc_t power_desc

Power descriptor containing power characteristics of the remote device

struct ezb_zdo_power_desc_req_result_s

Structure for ZDO Power Descriptor Request Result.

Public Members

ezb_err_t error

Error code of the power descriptor request operation

ezb_zdp_power_desc_rsp_field_t *rsp

Pointer to the power descriptor response field, NULL if error occurred

struct ezb_zdo_power_desc_req_s

Structure for ZDO Power Descriptor Request.

This structure contains all parameters needed to send a power descriptor request to get power characteristics of a remote device.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_power_desc_req_field_t field

Fields of the power descriptor request command

ezb_zdo_power_desc_req_callback_t cb

User callback for result of ZDO Power Descriptor Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdo_device_annce_req_result_s

Structure for ZDO Device Announcement Request Result.

Public Members

ezb_err_t error

Error code of the device announcement request operation

struct ezb_zdo_device_annce_req_s

Structure for ZDO Device Announcement Request.

Public Members

ezb_zdo_device_annce_req_callback_t cb

User callback for result of ZDO Device Announcement Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_device_annce_rsp_field_s

Field for ZDP Parent Announcement Response.

Public Members

uint8_t status

The status of the Parent_annce command.

uint8_t num_of_children

The number of ChildInfo structures contained in the message.

ezb_extaddr_t *child_info

Extended address for child

struct ezb_zdo_parent_annce_req_result_s

Structure for ZDP Parent Announcement Request Result.

Public Members

ezb_err_t error

Error code of the power descriptor request operation

ezb_zdp_device_annce_rsp_field_t *rsp

Pointer to the power descriptor response field, NULL if error occurred

struct ezb_zdo_parent_annce_req_s

Structure for ZDO Parent Announcement Request.

Public Members

ezb_shortaddr_t dst_nwk_addr

NWK address that request sent to

ezb_zdo_parent_annce_req_callback_t cb

User callback for result of ZDO Parent Announcement Request, If the request is broadcast, the callback may be invoked multiple times to report different responses, with the NULL response indicating completion.

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_node_desc_rsp_field_s

Structure for ZDP Node Descriptor Response.

Public Members

ezb_zdp_status_t status

Status of the node descriptor request, see ezb_zdp_status_t

ezb_shortaddr_t nwk_addr_of_interest

Network address of the device that was queried

ezb_af_node_desc_t node_desc

Node descriptor containing device capabilities and characteristics

struct ezb_zdo_node_desc_req_result_s

Structure for ZDO Node Descriptor Request Result.

Public Members

ezb_err_t error

Error code of the node descriptor request operation

ezb_zdp_node_desc_rsp_field_t *rsp

Pointer to the node descriptor response field, NULL if error occurred

struct ezb_zdo_node_desc_req_s

Structure for ZDO Node Descriptor Request.

This structure contains all parameters needed to send a node descriptor request to get device capabilities and characteristics of a remote device.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the request

ezb_zdp_node_desc_req_field_t field

Fields of the node descriptor request command

ezb_zdo_node_desc_req_callback_t cb

User callback for result of ZDO Node Descriptor Request

void *user_ctx

User argument of request will be passed to user callback

5.2.7.2.4. Type Definitions

typedef uint8_t ezb_zdo_addr_request_type_t

Represents the request type of zdo address request.

typedef struct ezb_zdp_nwk_addr_req_field_s ezb_zdp_nwk_addr_req_field_t

Fields of the ZDP Network Address Request Command.

typedef struct ezb_zdp_addr_rsp_field_s ezb_zdp_address_rsp_field_t

Structure for ZDP Address Response.

This structure is used for both NWK_addr and IEEE_addr responses.

typedef struct ezb_zdo_addr_req_result_s ezb_zdo_addr_req_result_t

Structure for ZDO Address Request Result.

typedef ezb_zdp_address_rsp_field_t ezb_zdp_nwk_addr_rsp_field_t

Structure for ZDP nwk_addr response.

typedef ezb_zdp_address_rsp_field_t ezb_zdp_ieee_addr_rsp_field_t

Structure for ZDP ieee_addr response.

typedef ezb_zdo_addr_req_result_t ezb_zdo_nwk_addr_req_result_t

Structure for ZDO Network Address Request Result.

typedef ezb_zdo_addr_req_result_t ezb_zdo_ieee_addr_req_result_t

Structure for ZDO IEEE Address Request Result.

typedef void (*ezb_zdo_nwk_addr_req_callback_t)(const ezb_zdo_nwk_addr_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Address Request.

typedef struct ezb_zdo_nwk_addr_req_s ezb_zdo_nwk_addr_req_t

Structure for ZDO Network Address Request.

This structure contains all parameters needed to send a network address request to find the 16-bit network address corresponding to a known IEEE address.

typedef struct ezb_zdp_ieee_addr_req_field_s ezb_zdp_ieee_addr_req_field_t

Fields of the ZDP IEEE Address Request Command.

typedef void (*ezb_zdo_ieee_addr_req_callback_t)(const ezb_zdo_ieee_addr_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO IEEE Address Request.

typedef struct ezb_zdo_ieee_addr_req_s ezb_zdo_ieee_addr_req_t

Structure for ZDO IEEE Address Request.

This structure contains all parameters needed to send an IEEE address request to find the 64-bit IEEE address corresponding to a known network address.

typedef struct ezb_zdp_simple_desc_rsp_field_s ezb_zdp_simple_desc_rsp_field_t

Structure for ZDP Simple Descriptor Response.

typedef struct ezb_zdo_simple_desc_req_result_s ezb_zdo_simple_desc_req_result_t

Structure for ZDO Simple Descriptor Request Result.

typedef struct ezb_zdp_simple_desc_req_field_s ezb_zdp_simple_desc_req_field_t

Fields of the ZDP Simple Descriptor Request Command.

typedef void (*ezb_zdo_simple_desc_req_callback_t)(const ezb_zdo_simple_desc_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Simple Descriptor Request.

typedef struct ezb_zdo_simple_desc_req_s ezb_zdo_simple_desc_req_t

Structure for ZDO Simple Descriptor Request.

This structure contains all parameters needed to send a simple descriptor request to get information about a specific endpoint on a remote device.

typedef struct ezb_zdp_match_desc_req_field_s ezb_zdp_match_desc_req_field_t

Fields of the ZDP Match Descriptor Request Command.

typedef struct ezb_zdp_match_desc_rsp_field_s ezb_zdp_match_desc_rsp_field_t

Structure for ZDP Match Descriptor Response.

typedef struct ezb_zdo_match_desc_req_result_s ezb_zdo_match_desc_req_result_t

Structure for ZDO Match Descriptor Request Result.

typedef void (*ezb_zdo_match_desc_req_callback_t)(const ezb_zdo_match_desc_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Match Descriptor Request.

typedef struct ezb_zdo_match_desc_req_s ezb_zdo_match_desc_req_t

Structure for ZDO Match Descriptor Request.

This structure contains all parameters needed to send a match descriptor request to find endpoints on a remote device that support specific clusters.

typedef struct ezb_zdp_simple_req_field_s ezb_zdp_simple_req_field_t

Fields of the ZDP Simple Request Command.

This is a base structure used for simple requests that only need a network address.

typedef ezb_zdp_simple_req_field_t ezb_zdp_active_ep_req_field_t

Fields of the ZDP Active Endpoints Request Command.

The active endpoints request uses the same fields as the simple request.

typedef struct ezb_zdp_active_ep_rsp_field_s ezb_zdp_active_ep_rsp_field_t

Structure for ZDP Active Endpoints Response.

typedef struct ezb_zdo_active_ep_req_result_s ezb_zdo_active_ep_req_result_t

Structure for ZDO Active Endpoints Request Result.

typedef void (*ezb_zdo_active_ep_req_callback_t)(const ezb_zdo_active_ep_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Active Endpoints Request.

typedef struct ezb_zdo_active_ep_req_s ezb_zdo_active_ep_req_t

Structure for ZDO Active Endpoints Request.

This structure contains all parameters needed to send an active endpoints request to get a list of all active endpoints on a remote device.

typedef ezb_zdp_simple_req_field_t ezb_zdp_power_desc_req_field_t

Fields of the ZDP Power Descriptor Request Command.

The power descriptor request uses the same fields as the simple request.

typedef struct ezb_zdp_power_desc_rsp_field_s ezb_zdp_power_desc_rsp_field_t

Structure for ZDP Power Descriptor Response.

typedef struct ezb_zdo_power_desc_req_result_s ezb_zdo_power_desc_req_result_t

Structure for ZDO Power Descriptor Request Result.

typedef void (*ezb_zdo_power_desc_req_callback_t)(const ezb_zdo_power_desc_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Power Descriptor Request.

typedef struct ezb_zdo_power_desc_req_s ezb_zdo_power_desc_req_t

Structure for ZDO Power Descriptor Request.

This structure contains all parameters needed to send a power descriptor request to get power characteristics of a remote device.

typedef struct ezb_zdo_device_annce_req_result_s ezb_zdo_device_annce_req_result_t

Structure for ZDO Device Announcement Request Result.

typedef void (*ezb_zdo_device_annce_req_callback_t)(const ezb_zdo_device_annce_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Device Announcement Request.

typedef struct ezb_zdo_device_annce_req_s ezb_zdo_device_annce_req_t

Structure for ZDO Device Announcement Request.

typedef struct ezb_zdp_device_annce_rsp_field_s ezb_zdp_device_annce_rsp_field_t

Field for ZDP Parent Announcement Response.

typedef struct ezb_zdo_parent_annce_req_result_s ezb_zdo_parent_annce_req_result_t

Structure for ZDP Parent Announcement Request Result.

typedef void (*ezb_zdo_parent_annce_req_callback_t)(const ezb_zdo_parent_annce_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Parent Announcement Request.

typedef struct ezb_zdo_parent_annce_req_s ezb_zdo_parent_annce_req_t

Structure for ZDO Parent Announcement Request.

typedef ezb_zdp_simple_req_field_t ezb_zdp_node_desc_req_field_t

Fields of the ZDP Node Descriptor Request Command.

The node descriptor request uses the same fields as the simple request.

typedef struct ezb_zdp_node_desc_rsp_field_s ezb_zdp_node_desc_rsp_field_t

Structure for ZDP Node Descriptor Response.

typedef struct ezb_zdo_node_desc_req_result_s ezb_zdo_node_desc_req_result_t

Structure for ZDO Node Descriptor Request Result.

typedef void (*ezb_zdo_node_desc_req_callback_t)(const ezb_zdo_node_desc_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Node Descriptor Request.

typedef struct ezb_zdo_node_desc_req_s ezb_zdo_node_desc_req_t

Structure for ZDO Node Descriptor Request.

This structure contains all parameters needed to send a node descriptor request to get device capabilities and characteristics of a remote device.

5.2.7.2.5. Enumerations

enum ezb_zdo_addr_request_type_e

Enumeration for specifying the request type of address request.

Values:

enumerator ZDO_ADDR_REQUEST_TYPE_SINGLE_DEVICE

Request for the single device

enumerator ZDO_ADDR_REQUEST_TYPE_EXTENDED_DEVICE

Request for the extended response

enumerator ZDO_ADDR_REQUEST_TYPE_RESERVED

Reserved

5.2.7.3. Network Management

5.2.7.3.1. Header File

5.2.7.3.2. Functions

ezb_err_t ezb_zdo_nwk_mgmt_lqi_req(const ezb_zdo_nwk_mgmt_lqi_req_t *req)

Send a ZDO Network Management Link Quality Indicator (LQI) Request.

The LQI_req command is generated from a local device wishing to inquire as to the Link Quality Indicator (LQI) of a remote device.

Parameters:

req -- [in] A structure used to configure the fields of the LQI_req command, see ezb_zdo_nwk_mgmt_lqi_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_nwk_mgmt_leave_req(const ezb_zdo_nwk_mgmt_leave_req_t *req)

Send a ZDO Network Management Leave Request.

The Leave_req command is generated from a local device wishing to leave a network.

Parameters:

req -- [in] A structure used to configure the fields of the Leave_req command, see ezb_zdo_nwk_mgmt_leave_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_nwk_mgmt_permit_joining_req(const ezb_zdo_nwk_mgmt_permit_joining_req_t *req)

Send a ZDO Network Management Permit Joining Request.

The Permit_Joining_req command is generated from a local device wishing to permit joining a network.

Parameters:

req -- [in] A structure used to configure the fields of the Permit_Joining_req command, see ezb_zdo_nwk_mgmt_permit_joining_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_nwk_mgmt_nwk_update_req(const ezb_zdo_nwk_mgmt_nwk_update_req_t *req)

Send a ZDO Network Management Network Update Request.

The Network_Update_req command is generated from a local device wishing to update a network.

Parameters:

req -- [in] A structure used to configure the fields of the Network_Update_req command, see ezb_zdo_nwk_mgmt_nwk_update_req_t

Returns:

Error code, see ezb_err_t

ezb_err_t ezb_zdo_nwk_mgmt_bind_req(const ezb_zdo_nwk_mgmt_bind_req_t *req)

Send a ZDO Network Management Binding Table Request.

The Mgmt_Bind_req command is generated from a local device wishing to retrieve a binding table from a remote device.

Parameters:

req -- [in] A structure used to configure the fields of the Mgmt_Bind_req command, see ezb_zdo_nwk_mgmt_bind_req_t

Returns:

Error code, see ezb_err_t

5.2.7.3.3. Structures

struct ezb_zdp_nwk_mgmt_lqi_req_field_s

Fields of the ZDP Network Management Link Quality Indicator (LQI) Request Command.

Public Members

uint8_t start_index

Starting index in the neighbor table for the requested entries

struct ezb_zdp_nwk_mgmt_lqi_neighbor_table_entry_s

Structure for ZDP Network Management Link Quality Indicator (LQI) Neighbor Table Entry.

This structure represents a single entry in the neighbor table, containing information about a neighboring device.

Public Members

ezb_extpanid_t extended_pan_id

Extended PAN ID

ezb_extaddr_t extended_addr

Extended address

ezb_shortaddr_t nwk_addr

NWK address

uint8_t device_type

Device type: 0 = Coordinator, 1 = Router, 2 = End Device, 3 = Reserved

uint8_t rx_on_when_idle

RX on when idle: 0 = Disabled, 1 = Enabled, 2-3 = Reserved

uint8_t affinity

Relationship: 0 = Parent, 1 = Child, 2 = Sibling, 3 = None, 4-7 = Reserved

uint8_t reserved1

Reserved field

uint8_t permit_joining

Permit joining: 0 = Not accepting, 1 = Accepting, 2-3 = Reserved

uint8_t reserved2

Reserved field

uint8_t device_depth

Depth of the device in the network tree (0 = coordinator)

uint8_t lqa

Link Quality Assessment value (0-255, higher is better)

struct ezb_zdp_nwk_mgmt_lqi_rsp_field_s

Structure for ZDP Network Management Link Quality Indicator (LQI) Response.

Public Members

uint8_t status

Status of the LQI request, see ezb_zdp_status_t

uint8_t neighbor_table_entries

Total number of entries in the neighbor table

uint8_t start_index

Starting index of the entries returned in this response

uint8_t neighbor_table_list_count

Number of neighbor table entries in this response

ezb_zdp_nwk_mgmt_lqi_neighbor_table_entry_t *neighbor_table_list

Pointer to array of neighbor table entries

struct ezb_zdo_nwk_mgmt_lqi_req_result_s

Structure for ZDO Network Management LQI Request Result.

Public Members

ezb_err_t error

Error code of the request operation

ezb_zdp_nwk_mgmt_lqi_rsp_field_t *rsp

Pointer to the LQI response field, NULL if error occurred

struct ezb_zdo_nwk_mgmt_lqi_req_s

Structure for ZDO Network Management Link Quality Indicator (LQI) Request.

Public Members

ezb_shortaddr_t dst_nwk_addr

NWK address that request sent to

ezb_zdp_nwk_mgmt_lqi_req_field_t field

The fields of the LQI request

ezb_zdo_nwk_mgmt_lqi_req_callback_t cb

User callback for result of ZDO Network Management LQI Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_nwk_mgmt_leave_rsp_field_s

Structure for ZDP Network Management Leave Response.

Public Members

uint8_t status

Status of the leave operation, see ezb_zdp_status_t

struct ezb_zdo_nwk_mgmt_leave_req_result_s

Structure for ZDO Network Management Leave Request Result.

Public Members

ezb_err_t error

Error code of the request operation

ezb_zdp_nwk_mgmt_leave_rsp_field_t *rsp

Pointer to the leave response field, NULL if error occurred

struct ezb_zdp_nwk_mgmt_leave_req_field_s

Fields of the ZDP Network Management Leave Request Command.

Public Members

ezb_extaddr_t device_addr

IEEE address of the device to be removed from the network

bool remove_children

If true, remove all children of the device; if false, reassign children

bool rejoin

If true, the device is allowed to rejoin the network

struct ezb_zdo_nwk_mgmt_leave_req_s

Structure for ZDO Network Management Leave Request.

Public Members

ezb_shortaddr_t dst_nwk_addr

NWK address that request sent to

ezb_zdp_nwk_mgmt_leave_req_field_t field

The fields of the leave request

ezb_zdo_nwk_mgmt_leave_req_callback_t cb

User callback for result of ZDO Network Management Leave Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_nwk_mgmt_permit_joining_req_field_s

Fields of the ZDP Network Management Permit Joining Request Command.

Public Members

uint8_t permit_duration

Duration in seconds for which joining is permitted. 0x00 = disable joining, 0xFF = enable joining indefinitely

uint8_t tc_significance

Trust Center significance. 0x00 = not significant, 0x01 = significant (only TC can permit joining)

struct ezb_zdp_nwk_mgmt_permit_joining_rsp_field_s

Structure for ZDP Network Management Permit Joining Response.

Public Members

uint8_t status

Status of the permit joining operation, see ezb_zdp_status_t

struct ezb_zdo_nwk_mgmt_permit_joining_req_result_s

Structure for ZDO Network Management Permit Joining Request Result.

Public Members

ezb_err_t error

Error code of the request operation

ezb_zdp_nwk_mgmt_permit_joining_rsp_field_t *rsp

Pointer to the permit joining response field, NULL if error occurred

struct ezb_zdo_nwk_mgmt_permit_joining_req_s

Structure for ZDO Network Management Permit Joining Request.

Public Members

uint16_t dst_nwk_addr

NWK address that request sent to

ezb_zdp_nwk_mgmt_permit_joining_req_field_t field

The fields of the permit joining request

ezb_zdo_nwk_mgmt_permit_joining_req_callback_t cb

User callback for result of ZDO Network Management Permit Joining Request

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_nwk_mgmt_nwk_update_req_field_s

Fields of the ZDP Network Management Network Update Request Command.

Public Members

uint32_t scan_channels

Bitmask of channels to scan (bits 0-26 represent channels 11-26)

uint8_t scan_duration

Duration of each channel scan in seconds

uint8_t scan_count

Number of scans to perform on each channel

uint8_t nwk_update_id

Network update identifier, should be incremented for each update

uint8_t nwk_mgmt_addr

Network manager address (0x00 = use default)

struct ezb_zdp_nwk_mgmt_nwk_update_notify_field_s

Structure for ZDP Network Management Network Update Notify.

This structure is returned as a notification when a network update operation completes.

Public Members

uint8_t status

Status of the network update operation, see ezb_zdp_status_t

uint32_t scanned_channels

Bitmask of channels that were scanned

uint16_t total_transmissions

Total number of transmissions performed during scanning

uint16_t transmissions_failure

Number of failed transmissions during scanning

uint8_t scanned_channels_list_count

Number of channels in the scanned channels list

int8_t energy_values[27]

Array of energy values for each scanned channel (one byte per channel)

struct ezb_zdo_nwk_mgmt_nwk_update_req_result_s

Structure for ZDO Network Management Network Update Request Result.

Public Members

ezb_err_t error

Error code of the request operation

ezb_zdp_nwk_mgmt_nwk_update_notify_field_t *rsp

Pointer to the network update notify field, NULL if error occurred

struct ezb_zdo_nwk_mgmt_nwk_update_req_s

Structure for ZDO Network Management Network Update Request.

Public Members

uint16_t dst_nwk_addr

NWK address that request sent to

ezb_zdp_nwk_mgmt_nwk_update_req_field_t field

The fields of the network update request

ezb_zdo_nwk_mgmt_nwk_update_req_callback_t cb

User callback for result of ZDO Network Management Network Update Request, If the request is broadcast, the callback may be invoked multiple times to report different responses, with the NULL response indicating completion.

void *user_ctx

User argument of request will be passed to user callback

struct ezb_zdp_nwk_mgmt_bind_req_field_s

Fields of the ZDP Network Management Binding Table Request Command.

Public Members

uint8_t start_index

Starting index in the binding table for the requested entries

struct ezb_zdp_nwk_mgmt_bind_table_entry_s

Structure for ZDP Network Management Binding Table Entry.

Public Members

ezb_extaddr_t src_addr

The IEEE address for the source

uint8_t src_ep

The source endpoint for the binding entry

uint16_t cluster_id

The identifier of the cluster on the source device that is bound to the destination.

uint8_t dst_addr_mode

The addressing mode for the destination address used in this command. Valid values:

  • 0x00 = reserved

  • 0x01 = 16-bit group address (DstAddress and DstEndp not present)

  • 0x02 = reserved

  • 0x03 = 64-bit extended address (DstAddress and DstEndp present)

  • 0x04 - 0xff = reserved

ezb_addr_t dst_addr

The address of the destination device. The format of this field is determined by the value of DstAddrMode.

uint8_t dst_ep

The endpoint of the destination device.

struct ezb_zdp_nwk_mgmt_bind_rsp_field_s

Structure for ZDP Network Management Binding Table Response.

Public Members

uint8_t status

Status of the binding table request, see ezb_zdp_status_t

uint8_t binding_table_entries

Total number of entries in the binding table

uint8_t start_index

Starting index of the entries returned in this response

uint8_t binding_table_list_count

Number of binding table entries in this response

ezb_zdp_nwk_mgmt_bind_table_entry_t *binding_table_list

Pointer to array of binding table entries

struct ezb_zdo_nwk_mgmt_bind_req_result_s

Structure for ZDO Network Management Binding Table Request Result.

Public Members

ezb_err_t error

Error code of the request operation

ezb_zdp_nwk_mgmt_bind_rsp_field_t *rsp

Pointer to the binding table response field, NULL if error occurred

struct ezb_zdo_nwk_mgmt_bind_req_s

Structure for ZDO Network Management Binding Table Request.

Public Members

uint16_t dst_nwk_addr

NWK address that request sent to

ezb_zdp_nwk_mgmt_bind_req_field_t field

The fields of the binding request

ezb_zdo_nwk_mgmt_bind_req_callback_t cb

User callback for result of ZDO Network Management Binding Table Request

void *user_ctx

User argument of request will be passed to user callback

5.2.7.3.4. Type Definitions

typedef struct ezb_zdp_nwk_mgmt_lqi_req_field_s ezb_zdp_nwk_mgmt_lqi_req_field_t

Fields of the ZDP Network Management Link Quality Indicator (LQI) Request Command.

typedef struct ezb_zdp_nwk_mgmt_lqi_neighbor_table_entry_s ezb_zdp_nwk_mgmt_lqi_neighbor_table_entry_t

Structure for ZDP Network Management Link Quality Indicator (LQI) Neighbor Table Entry.

This structure represents a single entry in the neighbor table, containing information about a neighboring device.

typedef struct ezb_zdp_nwk_mgmt_lqi_rsp_field_s ezb_zdp_nwk_mgmt_lqi_rsp_field_t

Structure for ZDP Network Management Link Quality Indicator (LQI) Response.

typedef struct ezb_zdo_nwk_mgmt_lqi_req_result_s ezb_zdo_nwk_mgmt_lqi_req_result_t

Structure for ZDO Network Management LQI Request Result.

typedef void (*ezb_zdo_nwk_mgmt_lqi_req_callback_t)(const ezb_zdo_nwk_mgmt_lqi_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Management LQI Request.

typedef struct ezb_zdo_nwk_mgmt_lqi_req_s ezb_zdo_nwk_mgmt_lqi_req_t

Structure for ZDO Network Management Link Quality Indicator (LQI) Request.

typedef struct ezb_zdp_nwk_mgmt_leave_rsp_field_s ezb_zdp_nwk_mgmt_leave_rsp_field_t

Structure for ZDP Network Management Leave Response.

typedef struct ezb_zdo_nwk_mgmt_leave_req_result_s ezb_zdo_nwk_mgmt_leave_req_result_t

Structure for ZDO Network Management Leave Request Result.

typedef struct ezb_zdp_nwk_mgmt_leave_req_field_s ezb_zdp_nwk_mgmt_leave_req_field_t

Fields of the ZDP Network Management Leave Request Command.

typedef void (*ezb_zdo_nwk_mgmt_leave_req_callback_t)(const ezb_zdo_nwk_mgmt_leave_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Management Leave Request.

typedef struct ezb_zdo_nwk_mgmt_leave_req_s ezb_zdo_nwk_mgmt_leave_req_t

Structure for ZDO Network Management Leave Request.

typedef struct ezb_zdp_nwk_mgmt_permit_joining_req_field_s ezb_zdp_nwk_mgmt_permit_joining_req_field_t

Fields of the ZDP Network Management Permit Joining Request Command.

typedef struct ezb_zdp_nwk_mgmt_permit_joining_rsp_field_s ezb_zdp_nwk_mgmt_permit_joining_rsp_field_t

Structure for ZDP Network Management Permit Joining Response.

typedef struct ezb_zdo_nwk_mgmt_permit_joining_req_result_s ezb_zdo_nwk_mgmt_permit_joining_req_result_t

Structure for ZDO Network Management Permit Joining Request Result.

typedef void (*ezb_zdo_nwk_mgmt_permit_joining_req_callback_t)(const ezb_zdo_nwk_mgmt_permit_joining_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Management Permit Joining Request.

typedef struct ezb_zdo_nwk_mgmt_permit_joining_req_s ezb_zdo_nwk_mgmt_permit_joining_req_t

Structure for ZDO Network Management Permit Joining Request.

typedef struct ezb_zdp_nwk_mgmt_nwk_update_req_field_s ezb_zdp_nwk_mgmt_nwk_update_req_field_t

Fields of the ZDP Network Management Network Update Request Command.

typedef struct ezb_zdp_nwk_mgmt_nwk_update_notify_field_s ezb_zdp_nwk_mgmt_nwk_update_notify_field_t

Structure for ZDP Network Management Network Update Notify.

This structure is returned as a notification when a network update operation completes.

typedef struct ezb_zdo_nwk_mgmt_nwk_update_req_result_s ezb_zdo_nwk_mgmt_nwk_update_req_result_t

Structure for ZDO Network Management Network Update Request Result.

typedef void (*ezb_zdo_nwk_mgmt_nwk_update_req_callback_t)(const ezb_zdo_nwk_mgmt_nwk_update_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Management Network Update Request.

typedef struct ezb_zdo_nwk_mgmt_nwk_update_req_s ezb_zdo_nwk_mgmt_nwk_update_req_t

Structure for ZDO Network Management Network Update Request.

typedef struct ezb_zdp_nwk_mgmt_bind_req_field_s ezb_zdp_nwk_mgmt_bind_req_field_t

Fields of the ZDP Network Management Binding Table Request Command.

typedef struct ezb_zdp_nwk_mgmt_bind_table_entry_s ezb_zdp_nwk_mgmt_bind_table_entry_t

Structure for ZDP Network Management Binding Table Entry.

typedef struct ezb_zdp_nwk_mgmt_bind_rsp_field_s ezb_zdp_nwk_mgmt_bind_rsp_field_t

Structure for ZDP Network Management Binding Table Response.

typedef struct ezb_zdo_nwk_mgmt_bind_req_result_s ezb_zdo_nwk_mgmt_bind_req_result_t

Structure for ZDO Network Management Binding Table Request Result.

typedef void (*ezb_zdo_nwk_mgmt_bind_req_callback_t)(const ezb_zdo_nwk_mgmt_bind_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Network Management Binding Table Request.

typedef struct ezb_zdo_nwk_mgmt_bind_req_s ezb_zdo_nwk_mgmt_bind_req_t

Structure for ZDO Network Management Binding Table Request.

5.2.7.4. Binding Management

5.2.7.4.1. Header File

5.2.7.4.2. Functions

ezb_err_t ezb_zdo_bind_req(const ezb_zdo_bind_req_t *req)

Send a ZDO Bind Request Command.

The Bind_req command is generated from a local device wishing to create a binding entry in the binding table of a remote device. A binding establishes a relationship between a source device/endpoint/cluster and a destination device/endpoint.

Parameters:

req -- [in] Pointer to the bind request structure containing destination address, request fields, callback function, and user context, see ezb_zdo_bind_req_t

Returns:

  • EZB_ERR_NONE: Request sent successfully

  • Other error codes: see ezb_err_t

ezb_err_t ezb_zdo_unbind_req(const ezb_zdo_unbind_req_t *req)

Send a ZDO Unbind Request Command.

The Unbind_req command is generated from a local device wishing to remove a binding entry from the binding table of a remote device.

Parameters:

req -- [in] Pointer to the unbind request structure containing destination address, request fields, callback function, and user context, see ezb_zdo_unbind_req_t

Returns:

  • EZB_ERR_NONE: Request sent successfully

  • Other error codes: see ezb_err_t

5.2.7.4.3. Structures

struct ezb_zdp_bind_req_field_s

Fields of the ZDP Bind_req Command.

Public Members

ezb_extaddr_t src_addr

The IEEE address for the source

uint8_t src_ep

The source endpoint for the binding entry

uint16_t cluster_id

The identifier of the cluster on the source device that is bound to the destination.

uint8_t dst_addr_mode

The addressing mode for the destination address used in this command. Valid values:

  • 0x00 = reserved

  • 0x01 = 16-bit group address (DstAddress and DstEndp not present)

  • 0x02 = reserved

  • 0x03 = 64-bit extended address (DstAddress and DstEndp present)

  • 0x04 - 0xff = reserved

ezb_addr_t dst_addr

The address of the destination device. The format of this field is determined by the value of DstAddrMode.

uint8_t dst_ep

The endpoint of the destination device. This field is present only if DstAddrMode is 0x03.

struct ezb_zdp_bind_rsp_field_s

Structure for ZDP Bind Response.

Public Members

uint8_t status

Status of the bind operation, see ezb_zdp_status_t

struct ezb_zdp_bind_req_result_s

Structure for ZDP Bind Request Result.

Public Members

ezb_err_t error

Error code of the bind request operation

ezb_zdp_bind_rsp_field_t *rsp

Pointer to the bind response field, NULL if error occurred

struct ezb_zdo_bind_req_s

Structure for ZDO Bind Request.

This structure contains all parameters needed to send a bind request to a remote device.

Public Members

ezb_shortaddr_t dst_nwk_addr

Network address of the destination device to receive the bind request

ezb_zdp_bind_req_field_t field

Fields of the bind request command

ezb_zdo_bind_req_callback_t cb

User callback for result of ZDO Bind Request

void *user_ctx

User argument of request will be passed to user callback

5.2.7.4.4. Type Definitions

typedef struct ezb_zdp_bind_req_field_s ezb_zdp_bind_req_field_t

Fields of the ZDP Bind_req Command.

typedef struct ezb_zdp_bind_rsp_field_s ezb_zdp_bind_rsp_field_t

Structure for ZDP Bind Response.

typedef struct ezb_zdp_bind_req_result_s ezb_zdp_bind_req_result_t

Structure for ZDP Bind Request Result.

typedef void (*ezb_zdo_bind_req_callback_t)(const ezb_zdp_bind_req_result_t *result, void *user_ctx)

A callback to handle the result of ZDO Bind Request.

typedef struct ezb_zdo_bind_req_s ezb_zdo_bind_req_t

Structure for ZDO Bind Request.

This structure contains all parameters needed to send a bind request to a remote device.

typedef ezb_zdo_bind_req_t ezb_zdo_unbind_req_t

Structure for ZDO Unbind Request.

The unbind request uses the same structure as the bind request since they share the same parameters.

typedef ezb_zdp_bind_req_field_t ezb_zdp_unbind_req_field_t

Fields of the ZDP Unbind Request Command.

The unbind request uses the same fields as the bind request.

typedef ezb_zdp_bind_rsp_field_t ezb_zdp_unbind_rsp_field_t

Structure for ZDP Unbind Response.

The unbind response uses the same structure as the bind response.

typedef ezb_zdp_bind_req_result_t ezb_zdp_unbind_req_result_t

Structure for ZDP Unbind Request Result.

The unbind request result uses the same structure as the bind request result.