wireshark-dev August 2011 archive
Main Archive Page > Month Archives  > wireshark-dev archives
wireshark-dev: Re: [Wireshark-dev] wireshark on 64 bit

Re: [Wireshark-dev] wireshark on 64 bit

From: Guy Harris <guy_at_nospam>
Date: Thu Aug 04 2011 - 22:47:12 GMT
To: Developer support list for Wireshark <wireshark-dev@wireshark.org>

On Aug 3, 2011, at 2:39 AM, sagar Guledagudda wrote:

>>> From: wireshark-dev-bounces@wireshark.org [mailto:wireshark-dev-bounces@wireshark.org] On Behalf Of sagar Guledagudda
>>> Sent: den 3 augusti 2011 10:53
>>>
>>> To: Developer support list for Wireshark
>>> Subject: Re: [Wireshark-dev] wireshark on 64 bit
>>>
>>> Thanks that worked. i got the dll and tried to link it with wireshark wihch is running on 64bit machine. i am getting a linker error as " the procedure entry point dissector_delete could not be
>>> located in the dynamic link library libwireshark.dll. what may be the problem ?
>>
>> On Wed, Aug 3, 2011 at 2:34 PM, Anders Broman <anders.broman@ericsson.com> wrote:
>> Hi,
>> Dissector_delete has been deprecated and should be replaced by one of the following functions:
>> libwireshark.def:dissector_delete_string
>> libwireshark.def:dissector_delete_uint
>> libwireshark.def:heur_dissector_delete
>> libwireshark.def:ssl_dissector_delete
>>
>> I suggest you run checkapi on your dissector.
>> Regards
>> Anders
>
> But the signature of the function doesn't matches with the any of the function u have mentioned

The signature of dissector_delete() was

        void dissector_delete(const char *name, const guint32 pattern, dissector_handle_t handle);

The signature of dissector_delete_uint() is

        void dissector_delete_uint(const char *name, const guint32 pattern, dissector_handle_t handle);

which is exactly the same as that of dissector_delete(), so you're mistaken when you say the signature of dissector_delete() doesn't match any of the functions Anders mentioned.

> and if i remove that line it gives same error for dissector_add function.

So use dissector_add_uint() instead.

BTW, in 1.6 and the trunk, dissector_add() and dissector_delete() are macros that wrap dissector_add_uint() and dissector_delete_uint(). If you're not including epan/packet.h, those macros aren't defined, but if you're not including epan/packet.h, a whole bunch of functions aren't declared, so no formal arguments vs. real arguments checks are done, so you should make sure whatever source file that contains the code that is calling dissector_add() and dissector_delete() is including epan/packet.h.
___________________________________________________________________________
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-request@wireshark.org?subject=unsubscribe