Ethereal-users: Re: [Ethereal-users] writing C++ dissectors

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 24 Oct 2003 20:41:05 -0700

On Oct 24, 2003, at 7:31 AM, Kolev, Nik wrote:

Can anyone see any issues with writing/compiling/linking a message dissector
as a plugin in C++.

That's probably easier than doing it as a builtin dissector - doing a builtin in C++ would, I think, require that Ethereal be linked with C++ run-time libraries, and it's not currently linked with them on all platforms.

Currently I am maintaining dissectors written in C. The messages that are
dissected are defined as structs, however they are C++ classes in our
application code.

A packet on the wire isn't a C++ class, just as it isn't a C function - it's a sequence of bytes with particular interpretations. Presumably you mean that there are C++ classes to marshal and demarshal data into those packets, and that you'd like to use the demarshalling classes in the Ethereal dissector.

 Thus it would be nice if we can reuse these classes when
building the ethereal plugins.

I would appreciate if anyone shares his/her thoughts on this. Shared
previous experiences would be greatly appreciated also.

I think the old H.323 plugin might have included some C++ code. Andreas?