Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] why wireshark plugin does not work here - dissector_add_uint()

Date: Wed, 17 Aug 2011 10:02:01 +0800
 Hi, folks,

I developed a plugin, and generated the xxx.so file. Then I put the xxx.so file under /usr/lib/wireshark/plugins/xxx.so 

when I run the wireshark, it shows:
      couldn't load module /usr/lib/wireshark/plugins/1.4.4/xxx.so: undefined symbol: dissector_add_uint

I do have a dissector_add_uint function under "rpto_reg_handoff_xxx(void)", before I tried the plugin, I put the dissector (packet-xxx.c) under /epan/dissectors/, and it works; but when I want to use it as plugin, it failed.

Any one can help me?
the following is some information I googled out, but I don't understand it

-------
On Sun, Mar 27, 2011 at 8:02 PM, Guy Harris <guy () alum mit edu> wrote:

    On Mar 27, 2011, at 7:42 PM, Raghavan R wrote:


        I am writing a dissector for a Fibre Channel related protocol and want
        my dissector to get called based on value of fcct.gstype.

    Then you will have to modify the Fibre Channel dissector so that it has a dissector table that uses the value of
    fcct.gstype to choose which dissector to call.

    At this point, I think one of my biggest mistakes was to give dissector tables names that were the same as the name
    of the field they used, because that causes a lot of people to think you can use *any* named field as a dissector
    table.  You *can't* do that; registered fields and registered dissector tables are separate, and almost all fields to
    *not* have a dissector table associated with them (because almost all fields are *not* used in protocol
    implementations to select which protocol module to hand the packet to).