ZDP_MgmtNwkDiscRsp()
如果设备支持该(可选的)命令,调用此函数将产生一个响应信息。如果ZDO_MGMT_NWKDISC_RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个正常编译标志,
当ZDO层接收到一个“管理网络发现请求”信息时,将自动生成该信息。
函数原型
afStatus_t ZDP_ MgmtNwkDiscRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status,byte NetworkCount, byte StartIndex, byte NetworkCountList, networkDesc_t *NetworkList,byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
DstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
NetworkCount—该信息允许的条目个数。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。这是该响应信息的起始索引字段。
NetworkCountList—该信息响应条目的个数。
NetworkList—网络发现记录表。你可以在NLMEDE.h中查找networkDesc_t获得关于这个数据结构体的信息。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtLqiRe q()
如果设备支持该(可选的)命令,调用此函数将生成一个为目标设备返回其相邻设备列表的请求。只有ZDO_MGMT_LQI_REQUEST的编译标志已在ZDConfig.h中设置或设置为一个正常编译标志,主调程序才可以调用这个函数。
函数原型
afStatus_t ZDP_ MgmtLq iReq ( zAddrType_t *dstAddr, byte StartIndex, byte SecurityEnable );
参数描述
DstAddr—目的地址。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtLqiRs p()
如果设备支持该(可选的)命令,调用此函数将生成一个响应信息。如果ZDO_MGMT_LQI_RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,
当ZDO层接收到一个“管理网络LQI请求”信息时,将自动生成该信息。
函数原型
ZStatus_t ZDP_ MgmtLq iRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status, byteNeighborLq iEntries,byte StartIndex, byte NeighborLq iCount, neighborLq iItem_t*NeighborLq iList,byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
DstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
NeighborLqiEntries—该信息允许的条目个数。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。这是该响应信息的起始索引字段。
NeighborLqiCount —该信息响应条目的个数。
NeighborLqiList—相邻设备记录表。你可以在ZDProfile.h中查找neighborLqiItem_t获得关于这个数据结构的信息。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
ZStatus_t —定义在ZComDef.h 中的ZStatus_t状态值。
ZDP_MgmtRtgReq ()
如果设备支持该(可选的)命令,调用此函数将生成一个为目标设备返回其路由表的请求。只有ZDO_MGMT_RTG_REQUEST的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,主调程序才可调用此函数。
函数原型
afStatus_t ZDP_ MgmtRtgReq( zAddrType_t *dstAddr,byte StartIndex, byte SecurityEnable );
参数描述
DstAddr—目的地址。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtRtgRsp()
如果设备支持该(可选的)命令,调用此函数将生成一个响应信息。如果ZDO_MGMT_RTG_RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,当ZDO层接收到一个“管理路由请求”信息时,将自动生成该信息。
函数原型
ZStatus_t ZDP_ MgmtRtgRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status, byteRoutingTableEntries,byte StartIndex, byte RoutingListCount, rtgItem_t *RoutingTableList, byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
DstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
RoutingTableEntries—该信息允许的条目个数。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。这是该响应信息的起始索引字段。
RoutingListCount—该信息响应条目的个数。
RoutingTableList—路由记录表。你可以在ZDProfile.h中查找rtgItem_t获得关于这个结构体的信息。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
ZStatus_t—定义在ZComDef.h中的ZStatus_t状态值。
ZDP_MgmtBindReq ()
如果设备支持该(可选的)命令,调用此函数将生成一个为目标设备返回其绑定表的请求。只有ZDO_MGMT_BIND _REQUEST的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,主调程序才可调用此函数。
函数原型
afStatus_t ZDP_ MgmtBindReq( zAddrType_t *dstAddr, byte StartIndex, byte SecurityEnable );
参数描述
DstAddr—目的地址。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtBindRsp()
如果设备支持该(可选的)命令,调用此函数将生成一个响应信息。如果ZDO_MGMT_BIND _RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,当ZDO层接收到一个“管理绑定请求”信息时,将自动生成该信息。
函数原型
ZStatus_t ZDP_ MgmtBindRsp( byte TranSeq, zAddrType_t *dstAddr,byte Status, byte BindingTableEntries,byte StartIndex, byte BindingTableListCount, apsBindingItem_t*BindingTableList,byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
DstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
BindingTableEntries—该信息允许的条目个数。
StartIndex—响应设备的响应信息可以有更多的响应选项,请求程序可以给可能的响应设备指定一个起始索引。这是该响应信息的起始索引字段。
BindingTableListCount—该信息响应条目的个数。
BindingTableList—绑定表记录清单。你可以在apsBindingItem_t中查找APSMEDE.h获得关于这个数据结构的信息。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
ZStatus_t —定义在ZComDef.h中的ZStatus_t状态值。
ZDP_MgmtLeaveReq ()
如果设备支持该(可选的)命令,调用此函数将生成一个让目标设备离开网络或请求另一个设备离开的请求。只有ZDO_MGMT_LEAVE_REQUEST的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,主调程序才可调用此函数。
函数原型
afStatus_t ZDP_ MgmtLeaveReq( zAddrType_t *dstAddr, byte *IEEEAddr, byte SecurityEnable );
参数描述
DstAddr—目的地址。
IEEEAddr—要离开的设备的64位地址(8个字节)。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtLeaveRsp()
如果设备支持该(可选的)命令,调用此函数将生成一个响应信息。如果ZDO_MGMT_LEAVE_RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,当ZDO层接收到一个“管理离开请求”信息时,将自动生成该信息。
函数原型
ZStatus_t ZDP_ MgmtLeaveRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status, byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
DstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
ZStatus_t—定义在ZComDef.h中的ZStatus_t状态值。
ZDP_MgmtDirectJoinReq ()
如果设备支持该(可选的)命令,调用此函数将生成一个让目标设备直接加入另一个设备的请求。只有ZDO_MGMT_JOINDIRECT_REQUEST的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,主调程序才可调用此函数。
函数原型
afStatus_t ZDP_ MgmtDirectJoin Req( zAddrType_t *dstAddr, byte *deviceAddr, byte capInfo, byte SecurityEnable );
参数描述
DstAddr—目的地址。
deviceAddr—要加入的设备的64位地址(8个字节)。
capInfo—要加入的设备的容量信息。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
afStatus_t—这个函数使用AF层来发送信息,所以状态值是定义在ZComDef.h中的ZStatus_t的AF层状态值。
ZDP_MgmtDirectJoinRsp()
如果设备支持该(可选的)命令,调用此函数将生成一个响应信息。如果ZDO_MGMT_JOINDIRECT_RESPONSE的编译标志已在ZDConfig.h中设置或设置为一个普通编译标志,当ZDO层接收到一个“管理直接加入请求”信息时,将自动生成该信息。
函数原型
ZStatus_t ZDP_ MgmtDirectJoin Rsp( byte TranSeq, zAddrType_t *dstAddr, byte Status, byte SecurityEnable );
参数描述
TranSeq—本次事务的序列号。
dstAddr—目的地址。
Status—像ZStatus_t一样定义在ZComDef.h中。
SecurityEnable —如果安全功能开启则为TRUE。
返回值
ZStatus_t—定义在ZComDef.h中的ZStatus_t状态值。
ZDP_MgmtPermitJoinReq()
这是一个直接调用ZDP_SendData()的宏。这个函数建立和发送Mgmt_Permit_Joining_req命令来请求一个远程设备允许或拒绝加入。该请求通常由一个调试工具或网络管理设备生成。此外,如果TC_Significance字段设置为0x01,而且该远程设备是信任中心,则信任中心的认证政策将受到影响。收到Mgmt_Permit_Joining_req命令之后的详细程序可以在{zx1}ZigBee规范的2.4.3.3.7节找到。
函数原型
afStatus_t ZDP_ MgmtPermitJoinReq( zAddrType_t *dstAddr, byte duration, byte TcSignificance, byte SecurityEnable );
参数描述
dstAddr—目的地址。
duration—ZigBee 协调器或路由器允许加入的持续时间,以秒为单位。值0x00和0xff表明禁止或允许,没有一个具体的时间限制。
TcSignificance—这是一个布尔值。如果设为0x01并且远程设备是信任中心,在ZigBee说明书的2.4.3.3.7.2章节描述了这个命令对信任中心认证政策的影响。
SecurityEnable—这个字段是一个布尔值。如果安全功能开启为TRUE。
返回值
ZStatus_t—定义在ZComDef.h中的ZStatus_t状态值。
ZDP_MgmtPermitJoinRsp
这是一个直接调用ZDP_SendData ()的宏。如果设备支持该(可选的)命令,调用这个函数将产生Mgmt_Permit_Joining_req请求的响应。如果Z DO_MGMT_PERMIT_JOIN_RESPONSE的编译标志已在ZDConfig.h设置或设置为一个普通编译标志,当ZDO层收到一条Mgmt_Permit_Joining_req 信息时,将自动生成这条消息。
函数原型
ZStatus_t ZDP_ MgmtPermitJoinRsp( byte *TransSeq, zAddrType_t *dstAddr, byte *Statue, byte SecurityEnable );
参数描述
TransSeq—本次事务的序列号。
dstAddr—目的地址。
Status—响应信息的状态。值是SUCCESS或INVA LID_REQUEST。
SecurityEnable—该字段是一个布尔值。如果安全功能开启则为TRUE。
返回值
ZStatus_t—定义在ZComDef.h 中的ZStatus_t 状态值。
ZDO 解析函数
这些函数用于解析新来的信息(通常是响应信息)。
ZDO_ParseAddrRsp
解析NWK_addr_rsp 和IEEE_ addr_rsp 信息。
函数原型
ZDO_ NwkIEEEAddrResp_t *ZDO_ ParseAddrRsp( zdoIncomingMsg_t *inMsg );
参数描述
inMsg—指向将新来的(原始)信息的指针。
返回值
ZDO_NwkIEEEAddrResp_t—一指向解析结构体的指针。调用osal_mem_alloc指派该结构体,因此必须调用[osal_mem_free()]函数释放。