Binding functions
The ZDP Binding functions are concerned with binding nodes together, to aid communication between them, and managing binding tables.
Note:
Some of the above binding functions cannot be used to send requests to nodes that run the NXP ZigBee PRO stack. They are supplied in the NXP ZDP API in order to facilitate interoperability with nodes based on non-NXP software, which supports the corresponding requests. If applicable, this restriction is noted in the function description.
Further binding functions are provided in the ZDO API and are described in Section 7.1.1, “Network Deployment Functions”.
ZPS_eAplZdpEndDeviceBindRequest
ZPS\_teStatus ZPS\_eAplZdpEndDeviceBindRequest\(
PDUM\_thAPduInstance hAPduInst,
uint8 *pu8SeqNumber,
ZPS\_tsAplZdpEndDeviceBindReq
*psZdpEndDeviceBindReq);
Description
This function sends a binding request to the Coordinator in order to bind an endpoint on the local node to an endpoint on a remote node (these nodes can be End Devices or Routers). The function should normally be invoked as the result of a user action on the local node, such as pressing a button. The function sends an End_Device_Bind_req request to the Coordinator.
This request includes details of the source node, endpoint and clusters. The request is represented by the structure below (further detailed in Section 9.2.2.23).
typedef struct {
uint16 u16BindingTarget;
uint64 u64SrcIeeeAddress;
uint8 u8SrcEndpoint;
uint16 u16ProfileId;
/* Rest of message is variable length */
uint8 u8NumInClusters;
uint16 *pu16InClusterList;
uint8 u8NumOutClusters;
uint16 *pu16OutClusterList;
} ZPS_tsAplZdpEndDeviceBindReq;
On receiving the request, the Coordinator waits (for a pre-defined timeout period) for another binding request, from a different node, so that it can pair the requests and bind the endpoints. In order to bind the endpoints, their application profile IDs must match, and they must have compatible clusters in their input and output cluster lists.
The Coordinator replies to a binding request with an End_Device_Bind_rsp response, which should be collected on the requesting node using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpEndDeviceBindRsp
(detailed in Section 9.2.3.22).
The stack will automatically update the Binding tables on the two End Devices (following further bind requests from the Coordinator) and an ZPS_EVENT_ZDO_BIND event will be generated on the End Devices to signal these updates.
Description
This function sends a binding request to the Coordinator in order to bind an endpoint on the local node to an endpoint on a remote node (these nodes can be End Devices or Routers). The function should normally be invoked as the result of a user action on the local node, such as pressing a button. The function sends an End_Device_Bind_req request to the Coordinator.
This request includes details of the source node, endpoint and clusters. The request is represented by the structure below (further detailed in Section 9.2.2.23).
typedef struct {
uint16 u16BindingTarget;
uint64 u64SrcIeeeAddress;
uint8 u8SrcEndpoint;
uint16 u16ProfileId;
/* Rest of message is variable length */
uint8 u8NumInClusters;
uint16 *pu16InClusterList;
uint8 u8NumOutClusters;
uint16 *pu16OutClusterList;
} ZPS_tsAplZdpEndDeviceBindReq;
On receiving the request, the Coordinator waits (for a pre-defined timeout period) for another binding request, from a different node, so that it can pair the requests and bind the endpoints. In order to bind the endpoints, their application profile IDs must match, and they must have compatible clusters in their input and output cluster lists.
The Coordinator replies to a binding request with an End_Device_Bind_rsp response, which should be collected on the requesting node using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpEndDeviceBindRsp
(detailed in Section 9.2.3.22).
The stack automatically updates the Binding tables on the two End Devices (following further bind requests from the Coordinator) and an ZPS_EVENT_ZDO_BIND event is generated on the End Devices to signal these updates.
Parent topic:ZPS_eAplZdpEndDeviceBindRequest
Parameters
hAPduInst: Handle of APDU instance in which request is sent.
*pu8SeqNumber: Pointer to sequence number of request
*psZdpEndDeviceBindReq: Pointer to request (see above)
Parent topic:ZPS_eAplZdpEndDeviceBindRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpEndDeviceBindRequest
Parent topic:Binding functions
ZPS_eAplZdpBindUnbindRequest
ZPS\_teStatus ZPS\_eAplZdpBindUnbindRequest\(
PDUM\_thAPduInstance hAPduInst,
ZPS\_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
bool bBindReq,
ZPS\_tsAplZdpBindUnbindReq *psZdpBindReq);
Description
This function sends a binding or unbinding request (as specified) to a remote node which hosts a binding table. The function requests a modification of the binding table in order to bind or unbind two endpoints of nodes in the network. The nodes to be bound/unbound may be different from the node sending the request and the node receiving the request. The latter must be either a node with a primary binding table cache or the source node for the binding. This function could typically be used in a commissioning application to configure bindings between nodes during system set- up.
The function sends a Bind_req or Unbind_req request to the remote node which hosts the binding table to be modified. This request includes details of the source node and endpoint, and the target node and endpoint for the binding. The request is represented by the structure below (further detailed in Section 9.2.2.24).
typedef struct {
uint64 u64SrcAddress;
uint8 u8SrcEndpoint;
uint16 u16ClusterId;
uint8 u8DstAddrMode;
union {
struct {
uint16 u16DstAddress;
} sShort;
struct {
uint64 u64DstAddress;
uint8 u8DstEndPoint;
} sExtended;
} uAddressField;
} ZPS_tsAplZdpBindUnbindReq;
On receiving the request, the remote node adds or removes the relevant entry in its binding table and locally generates the event ZPS_EVENT_ZDO_BIND or ZPS_EVENT_ZDO_UNBIND, as appropriate, to signal the relevant update.
If the remote node holds a primary binding table cache, it checks whether the source node for the binding holds a table of its own source bindings (see the description of ZPS_eAplZdpBindRegisterRequest()). If it is so, it automatically requests an update of this table. A node with a primary binding table cache also requests an update of the back-up cache, if one exists.
The remote node replies with a Bind_rsp or Unbind_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpBindRsp
(detailed in Section 9.2.3.23) or ZPS_tsAplZdpUnbindRsp
(detailed in Section 9.2.3.24).
Parent topic:ZPS_eAplZdpBindUnbindRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
bBindReq Bind or unbind request:
TRUE: bind
FALSE: unbind
* psZdpBindReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpBindUnbindRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpBindUnbindRequest
Parent topic:Binding functions
ZPS_eAplZdpBindRegisterRequest
ZPS_teStatus ZPS_eAplZdpBindRegisterRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpBindRegisterReq *psZdpBindRegisterReq);
Description
This function informs a remote node with a primary binding table cache that the local node will hold its own binding table entries (and therefore the remote node does not need to hold these entries). The function sends a Bind_Register_req request to the remote node.
The IEEE address of the local node must be specified in the request, which is represented by the structure below (further detailed in Section 8.2.2.25).
typedef struct {
uint64 u64NodeAddress;
} ZPS_tsAplZdpBindRegisterReq;
The remote node replies with a Bind_Register_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpBindRegisterRsp
(detailed in Section 9.2.3.25). This response contains any information stored about the binding on the remote.
Parent topic:ZPS_eAplZdpBindRegisterRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpPowerDescReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpBindRegisterRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpBindRegisterRequest
Parent topic:Binding functions
ZPS_eAplZdpReplaceDeviceRequest
ZPS_teStatus ZPS_eAplZdpReplaceDeviceRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpReplaceDeviceReq *psZdpReplaceDeviceReq);
Description
This function requests a remote node with a primary binding table cache to modify binding table entries with new data - more specifically, binding table entries can be modified by replacing an IEEE address and/or associated endpoint number. This function could typically be used in a commissioning application to modify bindings between nodes. The function sends a Replace_Device_req request to the remote node.
This request must include the old IEEE address and its replacement, as well as the corresponding endpoint number and its replacement (if any). The request is represented by the structure below (further detailed in Section 9.2.2.26).
typedef struct {
uint64 u64OldAddress;
uint8 u8OldEndPoint;
uint64 u64NewAddress;
uint8 u8NewEndPoint;
} ZPS_tsAplZdpReplaceDeviceReq;
On receiving this request, the remote node will search its binding table for entries containing the old IEEE address and old endpoint number from the request - this pair of values may make up the source or destination data of the binding table entry.
These values will be replaced by the new IEEE address and endpoint number from the request. Note that if the endpoint number in the request is zero, only the address will be included in the ‘search and replace’ (the endpoint number in the modified binding table entries will be left unchanged).
The remote node will check whether a node affected by a binding table change holds a table of its own source bindings (see ZPS_eAplZdpBindRegisterRequest()) and, if so, automatically requests an update of this table. The remote node will also request an update of the back-up of the primary binding table cache, if one exists.
The remote node will reply with a Replace_Device_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpReplaceDeviceRsp
(detailed in Section 9.2.3.26).
Parent topic:ZPS_eAplZdpReplaceDeviceRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpReplaceDeviceReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpReplaceDeviceRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpReplaceDeviceRequest
Parent topic:Binding functions
ZPS_eAplZdpStoreBkupBindEntryRequest
ZPS_teStatus ZPS_eAplZdpStoreBkupBindEntryRequest(
PDUM_thAPdu hAPdu,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
uint16 u16ProfileId,
ZPS_tsAplZdpStoreBkupBindEntryReq
*psZdpStoreBkupBindEntryReq);
Description
This function requests that a back-up of an entry in the local primary binding table cache is performed on a remote node. The destination node of the request must hold the corresponding back-up binding table cache. The back-up operation is normally required when a new entry has been added to the primary binding table cache.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must include the binding table entry to be backed up. The request is represented by the structure below (further detailed in Section 9.2.2.27).
typedef struct {
uint64 u64SrcAddress;
uint8 u8SrcEndPoint;
uint16 u16ClusterId;
uint8 u8DstAddrMode;
union {
struct {
uint16 u16DstAddress;
} sShort;
struct {
uint64 u64DstAddress;
uint8 u8DstEndPoint;
} sExtended;
};
} ZPS_tsAplZdpStoreBkupBindEntryReq;
On receiving the request, the remote node adds the specified binding table entry to its back-up binding table cache, if possible.
The remote node replies with a Store_Bkup_Bind_Entry_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpStoreBkupBindEntryRsp
(detailed in Section 9.2.3.27).
Parent topic:ZPS_eAplZdpStoreBkupBindEntryRequest
Parameters
hAPdu Handle of APDU in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
u16ProfileId Application profile ID
* psZdpStoreBkupBindEntryReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpStoreBkupBindEntryRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpStoreBkupBindEntryRequest
Parent topic:Binding functions
ZPS_eAplZdpRemoveBkupBindEntryRequest
ZPS_teStatus ZPS_eAplZdpRemoveBkupBindEntryRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpRemoveBkupBindEntryReq
*psZdpRemoveBkupBindEntryReq);
Description
This function requests the removal of an entry in the back-up binding table cache on a remote node. The function must be called from the node with the corresponding primary binding table cache. The removal of a back-up entry is normally required when an entry in the primary binding table cache has been removed.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must include the binding table entry to be removed. The request is represented by the structure below (further detailed in Section 9.2.2.28).
typedef struct {
uint64 u64SrcAddress; uint8 u8SrcEndPoint; uint16 u16ClusterId; uint8 u8DstAddrMode; union {
struct {
uint16 u16DstAddress;
} sShort; struct {
uint64 u64DstAddress; uint8 u8DstEndPoint;
} sExtended;
};
} ZPS_tsAplZdpRemoveBkupBindEntryReq;
On receiving the request, the remote node removes the specified binding table entry from its back-up binding table cache, if possible.
The remote node replies with a Remove_Bkup_Bind_Entry_rsp response, which should be collected using the function **ZQ_bZQueueReceive()**and stored in a structure of type ZPS_tsAplZdpRemoveBkupBindEntryRsp
(detailed in Section9.2.3.28).
Parent topic:ZPS_eAplZdpRemoveBkupBindEntryRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpRemoveBkupBindEntryReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpRemoveBkupBindEntryRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpRemoveBkupBindEntryRequest
Parent topic:Binding functions
ZPS_eAplZdpBackupBindTableRequest
ZPS_teStatus ZPS_eAplZdpBackupBindTableRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpBackupBindTableReq
*psZdpBackupBindTableReq);
Description
This function requests that a back-up of the locally held primary binding table cache is performed on a remote node - the whole or part of the table can be backed up. The destination node of the request must hold the corresponding back-up binding table cache. The latter must already exist and be associated with the cache on the local node through a previous discovery.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must include the binding table entries to be backed up. The request is represented by the structure below (further detailed in Section 9.2.2.29).
typedef struct {
uint16 u16BindingTableEntries; uint16 u16StartIndex;
uint16 u16BindingTableListCount;
/* Rest of message is variable length */ ZPS_tsAplZdpBindingTable sBindingTable;
} ZPS_tsAplZdpBackupBindTableReq;
On receiving the request, the remote node saves the new binding table, if possible, overwriting existing entries. If the new table is longer than the previous one, as many extra entries as possible will be saved.
The remote node replies with a Backup_Bind_Table_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpBackupBindTableRsp
(detailed in Section 9.2.3.29).
Parent topic:ZPS_eAplZdpBackupBindTableRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpBackupBindTableReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpBackupBindTableRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpBackupBindTableRequest
Parent topic:Binding functions
ZPS_eAplZdpRecoverBindTableRequest
ZPS_teStatus ZPS_eAplZdpRecoverBindTableRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpRecoverBindTableReq
*psZdpRecoverBindTableReq);
Description
This function requests that a back-up of the locally held primary binding table cache is recovered from a remote node. The destination node of the request must hold the back-up binding table cache which is associated with the primary cache on the local node.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must indicate the starting index in the binding table for the recovery. The request is represented by the structure below (further detailed in Section 9.2.2.30).
typedef struct {
uint16 u16StartIndex;
} ZPS_tsAplZdpRecoverBindTableReq;
The remote node replies with a Recover_Bind_Table_rsp response containing the required binding table entries, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpRecoverBindTableRsp
(detailed in Section 9.2.3.30). As many binding entries as possible are included in this response. If the returned binding table is incomplete, this is indicated in the response and this function must be called again, with the appropriate starting index, to recover the rest of the table.
Parent topic:ZPS_eAplZdpRecoverBindTableRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpRecoverBindTableReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpRecoverBindTableRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpRecoverBindTableRequest
Parent topic:Binding functions
ZPS_eAplZdpBackupSourceBindRequest
ZPS_teStatus ZPS_eAplZdpBackupSourceBindRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpBackupSourceBindReq
*psZdpBackupSourceBindReq);
Description
This function requests that a back-up of the locally held source binding table is performed on a remote node. This source binding table contains entries only relevant to the local node. The function must be called from a node with a primary binding table cache and the destination node of the request must hold the corresponding back-up binding table cache.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must include the source binding table entries to be backed up. The request is represented by the structure below (further detailed in Section 9.2.2.31).
typedef struct {
uint16 u16SourceTableEntries; uint16 u16StartIndex;
uint16 u16SourceTableListCount;
/* Rest of message is variable length */ uint64* pu64SourceAddress;
} ZPS_tsAplZdpBackupSourceBindReq;
On receiving the request, the remote node saves the new source binding table, if possible, overwriting existing entries. If the new table is longer than the previous one, as many extra entries as possible will be saved.
The remote node replies with a Backup_Source_Bind_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpBackupSourceBindRsp
(detailed in Section 9.2.3.31).
Parent topic:ZPS_eAplZdpBackupSourceBindRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpBackupSourceBindReqPointer to request (see above)
Parent topic:ZPS_eAplZdpBackupSourceBindRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpBackupSourceBindRequest
Parent topic:Binding functions
ZPS_eAplZdpRecoverSourceBindRequest
ZPS_teStatus ZPS_eAplZdpBackupSourceBindRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpBackupSourceBindReq
*psZdpBackupSourceBindReq);
Description
This function requests that a back-up of the locally held source binding table is recovered from a remote node. The function must be called from a node with a primary binding table cache and the destination node of the request must hold the corresponding back-up binding table cache.
Note: This function is provided in the NXP ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED
.
This request must indicate the starting index in the binding table for the recovery. The request is represented by the structure below (further detailed in Section 9.2.2.32).
typedef struct {
uint16 u16StartIndex;
} ZPS_tsAplZdpRecoverSourceBindReq;
The remote node replies with a Recover_Source_Bind_rsp response containing the required binding table entries, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpRecoverSourceBindRsp
(detailed in Section 9.2.3.32). As many binding entries as possible are included in this response. If the returned binding table is incomplete, this is indicated in the response and this function must be called again, with the appropriate starting index, to recover the rest of the table.
Parent topic:ZPS_eAplZdpRecoverSourceBindRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpRecoverSourceBindReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpRecoverSourceBindRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpRecoverSourceBindRequest
Parent topic:Binding functions
ZPS_eAplAibRemoveBindTableEntryForMacAddress
ZPS_teStatus
ZPS_eAplAibRemoveBindTableEntryForMacAddress(
uint64 u64MacAddress);
Description
This function requests the removal of the entry corresponding to the specified IEEE/ MAC address from the local binding table.
Parent topic:ZPS_eAplAibRemoveBindTableEntryForMacAddress
Parameters
u64MacAddress IEEE/MAC address contained in the binding table entry to be removed
Parent topic:ZPS_eAplAibRemoveBindTableEntryForMacAddress
Returns
ZPS_E_SUCCESS
Parent topic:ZPS_eAplAibRemoveBindTableEntryForMacAddress
Parent topic:Binding functions
Parent topic:ZDP API functions