diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2007-07-31 18:57:51 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2007-07-31 18:57:51 +0000 |
commit | 6970aff017a48c1c50385aa7e3aed6eb45d77d8f (patch) | |
tree | c3621643078d057d79632d29557a04b87f02a04a /plugins | |
parent | 0a5437dc33f7f276a8e7c726ade2dc38ef38fb43 (diff) |
add helper function dissect_pn_int32()
svn path=/trunk/; revision=22431
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/profinet/packet-pn.c | 17 | ||||
-rw-r--r-- | plugins/profinet/packet-pn.h | 3 |
2 files changed, 20 insertions, 0 deletions
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); |