Hi,

See my comments inline ----->

Mark Ryden wrote:
> Hello,
>   I am trying to add a dissector to Wireshark in Linux. I work with
> wireshark 1.2.3.
> 
>   I do not have previous experience and my trial is based upon the
> wiki and from reading wireshark source code
> 
> What I tried is a very basic code, (somthing which can be though of as
> HelloWorldDissector) , when my goal is to add a dissector which in
> fact does almost nothing, so that first I will be only able to see it
> in preferences of wireshark, in the list of protocols, as "SEQ".
> 
> Here is the short code I created (in a file called packet-seq.c):
> 
> #ifdef HAVE_CONFIG_H
> #include "config.h"
> #endif
> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> 
> #include <gmodule.h> ---------> replace by glib.h
> #include <epan/prefs.h>
> #include <epan/packet.h>
> 
> 
> void proto_reg_handoff_seq(void)
> {
> }
> 
 > ---> make this static
> void dissect_seq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
> {
>       col_set_str(pinfo->cinfo, COL_PROTOCOL, "FOO");
>       col_clear(pinfo->cinfo, COL_INFO);
> }
> 
> 
> static int proto_seq = -1;
> static dissector_handle_t seq_handle;
> 
> void proto_register_seq(void)
> {
>       module_t *module;
>       if (proto_seq == -1) ---------> no need to check this, 
> proto_register_*() is called once
>               {
>               proto_seq = proto_register_protocol("SEQ protocol", "SEQ", 
> "seq");
>               };
>               
>               module = prefs_register_protocol(proto_seq, 
> proto_reg_handoff_seq); ----> 2nd param can be NULL here
> }
> 
> 
> Now, I added this line in register.c: -----------> Don't, it's done by the 
> build process
> 
> {extern void proto_register_seq (void); if(cb) (*cb)(RA_REGISTER,
> "proto_register_seq", client_data); proto_register_seq ();}
> 
> And I added entries in the Makefile according to other dissectors. ----> 
> Don't, work in Makefile.common
> 
> I build it, and a binary called  libdissectors_la-packet-seq.o
> is created under:
> /work/src/wireshark-1.2.3/epan/dissectors/.libs
> 
> However, when I start wireshark I do not see it in the
> Edit->preferences , in the protocol list.
> 
> Any idea what am I missing here?  ----> Add a actual preference to 
> manipulate: one of prefs_register_*_preference()
> 
> Regards,  -------> Study the doc/README.developer some more and follow the 
> instructions there. Don't take shortcuts.
> Mark

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to