Ask Your Question

Revision history [back]

The code in your plugin likely doesn't conform to the requirements of the Wireshark API, in particular your dissector function doesn't have the correct signature. A dissector function must have a dissector_t signature, this is defined as:

typedef int (*dissector_t)(tvbuff_t *, packet_info *, proto_tree *, void *);

So your function should be something like:

static int dissect_my_protocol(tvbuff_t *, packet_info *, proto_tree *, void *data) { ... }

From the error messages I suspect your code is missing the final parameter for dissector data. If you won't be using it, simply define it as void * without a name.