Wireshark-dev: Re: [Wireshark-dev] fetching numbers < 8 bits (functions not in libwireshark.def
Hi,
Have a look here http://www.wireshark.org/docs/wsdg_html/#ChSrcSend
Furthermore, watch out with statements like "as long as a lower svn version has
the functions available in libwireshark.def ... the compiled plugin dll will
work correctly on anyone's release of that version or above."
This is only true for releases in the same branch. SVN is simple in that
respect: one incrementing revision number for everything (files and directories
alike). So when an improvement is made in the development tree, it's not
automatically available in a earlier release branch even though new maintenance
releases in the release branch do have a higher SVN revision number.
Have a look at the SVN documentation and
http://wiki.wireshark.org/Development/ReleaseNumbers as well.
Thanx,
Jaap
david.castleford@xxxxxxxxxxxxxxxxxx wrote:
Hi everyone,
I've used the following functions in my own plugin:
tvb_get_bits8
tvb_get_bits16
tvb_get_bits32
tvb_get_bits64
Also
proto_tree_add_bits_item
proto_tree_add_bits_ret_val
I've had to add those functions in libwireshark.def (and recompile for
my plugin to work).
I've looked at svn revision 26134 which corresponds I believe to release
version 1.0.3 and, unless my use of tortoisesvn is wrong, it seems none
of the above functions are in the libwireshark.def file.
This means that when I move my plugin.dll file to \plugins\1.0.3 folder
and run wireshark (windows xp) I get the following error upon launch of
wireshark:
"Couldn't load module C:\Program
Files\Wireshark\plugins\1.0.3\plugin.dll: La procédure spécifiée est
introuvable"
i.e. Can't find specified procedure translated from french.
Experience shows this is due to the above functions being used by my
plugin but not being available to my dll as they are not declared in
libwireshark.def and hence not in the compiled / executable release
version 1.0.3.
My understanding is that as long as a lower svn version has the
functions available in libwireshark.def and presumably functions are not
changed, the compiled plugin dll will work correctly on anyone's release
of that version or above. e.g. if it works for version 1.0.0 it should
work for all above (though I realise you recommend being version
specific for stability purposes).
My question is simple enough: could someone please add the above
functions to libwireshark.def?
I'm not familiar with the bug submission or request procedure and would
greatly appreciate one of the active developers taking this on board,
otherwise I guess I'll have to wait for a future fix and in the meantime
package my own specific wireshark version (kinda defeats the purpose of
wireshark). Not quite sure why all functions aren't exported in
libwireshark.def, is this simply oversight when adding new functions?
Thanks for your help,
David
------------------------------------------------------------------------
*De :* wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] *De la part de* Martin
Corraine (mcorrain)
*Envoyé :* jeudi 21 août 2008 15:03
*À :* Developer support list for Wireshark
*Objet :* Re: [Wireshark-dev] fetching numbers < 8 bits
ahh... I had an older version of the readme that didn't have it. sorry.
Thanks!
------------------------------------------------------------------------
*From:* wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] *On Behalf Of *Anders Broman
*Sent:* Thursday, August 21, 2008 8:56 AM
*To:* Developer support list for Wireshark
*Subject:* Re: [Wireshark-dev] fetching numbers < 8 bits
From /doc/readme.developer
Bit accessors for a maximum of 8-bits, 16-bits 32-bits and 64-bits:
guint8 tvb_get_bits8(tvbuff_t *tvb, gint bit_offset, gint no_of_bits);
guint16 tvb_get_bits16(tvbuff_t *tvb, gint bit_offset, gint
no_of_bits,gboolean little_endian);
guint32 tvb_get_bits32(tvbuff_t *tvb, gint bit_offset, gint
no_of_bits,gboolean little_endian);
guint64 tvb_get_bits64(tvbuff_t *tvb, gint bit_offset, gint
no_of_bits,gboolean little_endian);
:
proto_item*
proto_tree_add_bits_item(tree, id, tvb, bit_offset, no_of_bits,
little_endian);
proto_item *
proto_tree_add_bits_ret_val(tree, id, tvb, bit_offset, no_of_bits,
return_value, little_endian);
:
proto_tree_add_bits_item()
--------------------------
Adds a number of bits to the protocol tree which does not have to be
byte aligned.
The offset and length is in bits.
Output format:
..10 1010 10.. .... "value" (formated as FT_ indicates).
proto_tree_add_bits_ret_val()
-----------------------------
Works in the same way but alo returns the value of the read bits.
/Regards
Anders
------------------------------------------------------------------------
*From:* wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] *On Behalf Of *Martin
Corraine (mcorrain)
*Sent:* den 21 augusti 2008 14:47
*To:* Developer support list for Wireshark
*Subject:* [Wireshark-dev] fetching numbers < 8 bits
Hello,
I need to read in a number that's 3 bits long. Is this possible?
Thanks!,
martin
------------------------------------------------------------------------
_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@xxxxxxxxxxxxx
https://wireshark.org/mailman/listinfo/wireshark-dev