From 6970aff017a48c1c50385aa7e3aed6eb45d77d8f Mon Sep 17 00:00:00 2001 From: Ulf Lamping Date: Tue, 31 Jul 2007 18:57:51 +0000 Subject: add helper function dissect_pn_int32() svn path=/trunk/; revision=22431 --- plugins/profinet/packet-pn.c | 17 +++++++++++++++++ plugins/profinet/packet-pn.h | 3 +++ 2 files changed, 20 insertions(+) (limited to 'plugins') diff --git a/plugins/profinet/packet-pn.c b/plugins/profinet/packet-pn.c index f37d505e0a..856e8ab43c 100644 --- a/plugins/profinet/packet-pn.c +++ b/plugins/profinet/packet-pn.c @@ -117,6 +117,23 @@ dissect_pn_int16(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, return offset + 2; } +/* dissect a 32 bit signed integer */ +int +dissect_pn_int32(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, + proto_tree *tree, int hfindex, gint32 *pdata) +{ + gint32 data; + + data = tvb_get_ntohl (tvb, offset); + + if (tree) { + proto_tree_add_int(tree, hfindex, tvb, offset, 4, data); + } + if (pdata) + *pdata = data; + return offset + 4; +} + /* dissect a 24bit OUI (IEC organizational unique id) */ int dissect_pn_oid(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, diff --git a/plugins/profinet/packet-pn.h b/plugins/profinet/packet-pn.h index 3e7c23cb03..5a23e7a498 100644 --- a/plugins/profinet/packet-pn.h +++ b/plugins/profinet/packet-pn.h @@ -42,6 +42,9 @@ extern int dissect_pn_uint32(tvbuff_t *tvb, gint offset, packet_info *pinfo, extern int dissect_pn_int16(tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, int hfindex, gint16 *pdata); +extern int dissect_pn_int32(tvbuff_t *tvb, gint offset, packet_info *pinfo, + proto_tree *tree, int hfindex, gint32 *pdata); + extern int dissect_pn_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hfindex, guint32 *pdata); -- cgit v1.2.3