On Apr 18, 2011, at 7:27 PM, Alex Lindberg wrote:

> The protocol.  It is a custom protocol used for some of my companies control 
> equipment.
> 
> The structure of the protocol packet varies with the release version of the 
> system.  While there are may similarities between versions, the  structures 
> are different enough to have different sizes and makeup etc.
> 
> I could create separate dissectors for each version, but that seems like a 
> lot of duplicate effort.  By using an over loaded pointer, the coding would 
> be much easier.  I cannot create different complied version of the protocol, 
> one for each version.
> 
> Or is it possible to delay the typing of a variable to runtime?  In that case 
> the type could be control by changing the "version" variable via the 
> preferences during dissector initialization.

Many Wireshark dissectors don't use structures to dissect the packet - they 
just pull each field out with a proto_tree_add_item() call and/or fetch the 
value with tvb_get_ calls and put them into the tree with other proto_tree_add_ 
calls.  A dissector written in that fashion could use common code for the 
common parts and use an if statement or a switch, and different code, for the 
parts that differ.

If I were writing the dissector, that's how I'd do it.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to