diff options
author | dsrsupport <eugene.exarevsky@dsr-company.com> | 2015-12-25 15:38:56 +0300 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-12-26 02:58:44 +0000 |
commit | 88f01f8bcc476c855f7a7a36b19f198b4c5819b3 (patch) | |
tree | fec4124838e67db62c7f9003e284f075ddd87598 /epan/dissectors/packet-zbee-zdp-discovery.c | |
parent | f4bbe108dff17fdf4550d34580fb1f19f47c6d7b (diff) |
ZigBee: Implement ZDO Parent Annce according to r21
Change-Id: I208688c00e1cd7cb38c0d26a34ef8e49af3347e8
Reviewed-on: https://code.wireshark.org/review/12867
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-zbee-zdp-discovery.c')
-rw-r--r-- | epan/dissectors/packet-zbee-zdp-discovery.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/epan/dissectors/packet-zbee-zdp-discovery.c b/epan/dissectors/packet-zbee-zdp-discovery.c index 2a906138dc..9f6d6c3a88 100644 --- a/epan/dissectors/packet-zbee-zdp-discovery.c +++ b/epan/dissectors/packet-zbee-zdp-discovery.c @@ -306,6 +306,36 @@ dissect_zbee_zdp_device_annce(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre } /* dissect_zbee_zdp_device_annce */ /** + *ZigBee Device Profile dissector for the parent announce + * + *@param tvb pointer to buffer containing raw packet. + *@param pinfo pointer to packet information fields + *@param tree pointer to data tree Wireshark uses to display packet. +*/ +void +dissect_zbee_zdp_parent_annce(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + guint offset = 0; + guint n_children; + guint i; + guint64 ext_addr; + + n_children = zbee_parse_uint(tree, hf_zbee_zdp_device, tvb, &offset, (int)1, NULL); + zbee_append_info(tree, pinfo, ", # children %d :", n_children); + for (i = 0 ; i < n_children ; ++i) + { + ext_addr = zbee_parse_eui64(tree, hf_zbee_zdp_ext_addr, tvb, &offset, (int)sizeof(guint64), NULL); + if (i == 0) + { + zbee_append_info(tree, pinfo, n_children == 1 ? " %s" : " %s ...", eui64_to_display(wmem_packet_scope(), ext_addr)); + } + } + + /* Dump any leftover bytes. */ + zdp_dump_excess(tvb, offset, pinfo, tree); +} /* dissect_zbee_zdp_parent_annce */ + +/** *ZigBee Device Profile dissector for the end set user * *@param tvb pointer to buffer containing raw packet. |