diff options
author | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-01-28 09:37:47 +0000 |
---|---|---|
committer | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-01-28 09:37:47 +0000 |
commit | 0fce287d3e3b8a1f74bbbae7f99ad6903dd28d2c (patch) | |
tree | eb466183ba1a6e3ecd137498757c543ed7f99c3f /epan/dissectors/packet-dcerpc-ndr.c | |
parent | 7052046ad5848f24213a7f456eac24f7661af23f (diff) |
we need a dissect_ndr_uint64() that dissects an NDR hyper
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@13185 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-dcerpc-ndr.c')
-rw-r--r-- | epan/dissectors/packet-dcerpc-ndr.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dcerpc-ndr.c b/epan/dissectors/packet-dcerpc-ndr.c index 23ad96b929..409207c498 100644 --- a/epan/dissectors/packet-dcerpc-ndr.c +++ b/epan/dissectors/packet-dcerpc-ndr.c @@ -126,6 +126,28 @@ dissect_ndr_duint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, tree, drep, hfindex, pdata); } +/* uint64 : hyper + a 64 bit integer aligned to proper 8 byte boundaries +*/ +int +dissect_ndr_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo, + proto_tree *tree, guint8 *drep, + int hfindex, guint64 *pdata) +{ + dcerpc_info *di; + + di=pinfo->private_data; + if(di->conformant_run){ + /* just a run to handle conformant arrays, no scalars to dissect */ + return offset; + } + + if (offset % 8) { + offset += 8 - (offset % 8); + } + return dissect_dcerpc_uint64 (tvb, offset, pinfo, + tree, drep, hfindex, pdata); +} int dissect_ndr_float(tvbuff_t *tvb, gint offset, packet_info *pinfo, |