diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-01-28 09:37:47 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-01-28 09:37:47 +0000 |
commit | 0c00534dd1a91630d53e566dad06010e284a7009 (patch) | |
tree | eb466183ba1a6e3ecd137498757c543ed7f99c3f /epan/dissectors/packet-dcerpc-ndr.c | |
parent | 610da77693fcb3d857253e953cb687224249fd74 (diff) |
we need a dissect_ndr_uint64() that dissects an NDR hyper
svn path=/trunk/; revision=13185
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, |