Ethereal-dev: [Ethereal-dev] dissector_add question

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

From: Frank Singleton <frank.singleton@xxxxxxxxxxxx>
Date: Mon, 12 Feb 2001 14:27:03 -0600
Hi,

Well GIOP is coming along, I have coded many get_CDR_xxx
and also put hooks into giop to call a test-idl dissector.

I setup omniorb to generate traffic and nothing blew up :)

Currently for test purposes, I call test-idl from giop
directly, and it decodes nicely. Mainly the echo examples
from the omniorb distro.

But now I want add a  GIOP user table so dissectors can register.
This is ok, but now my dissector_add routine
blows up because the test-idl dissector's prototype
looks like

void dissect_test_idl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int *offset,
		      MessageHeader *header, gchar *operation);

packet-test-idl.c:968: warning: passing arg 3 of `dissector_add' from incompatible pointer type


I presume its because I have added some new arguments to dissect_xxx

So, what do you think is the best way to go get around this.

1. Accessor method in giop to retrieve a MessageHeader * header
   for a given packet (ditto for operation). Hmm

2. dissect_xxx to take a variable arg list ??

3. Any other suggestions welcome
 
Cheers / Frank..

-- 
EUS/SV/Z Frank Singleton      ASO Americas BSS
Office : +1 972 583 3251      ECN 800 33251  
Pager  : +1 800 651 1184      Mobile : +1 214 228 0874
Amateur Radio: VK3FCS/KM5WS   Email : frank.singleton@xxxxxxxxxxxx

Hardware: HP Omnibook 4150 running Redhat Linux 6.2 (2.2.16 kernel).