Wireshark mailing list archives

Re: [msvc] 'etype_vals' : unknown size


From: Anders Broman <a.broman () bredband net>
Date: Tue, 13 Aug 2013 07:38:15 +0200

DbdM Tbt skrev 2013-08-13 07:11:

Hi,
From below I take it your dissector is written in C++, we are not prepared to accept dissectors in C++ currently
so your dissector will not make it into the standard Wireshark.
Regards
Anders
Hello all,
I made a lousy mistake earlier and I should have realized it sooner. So sorry. The modification #define I posted earlier is wrong. _WIN32 affects everything and based on my looking around the makefile, I found a /TP compile option. I think this is a more 'correct' (?) mod so that it will be a 1-time/step compile:
#if !defined(__cplusplus)
WS_DLL_PUBLIC const value_string etype_vals[];
#else
WS_DLL_PUBLIC const value_string *etype_vals;
#endif

But still I am modifying epan/etypes.h.

To Mr. Anders,
Thank you for the link.
I will check on how to use it to my current development but let's just say that I don't have the 'authority' to abandon the dissector I have right now.

Thank you,
David




On Tue, Aug 13, 2013 at 12:17 PM, Anders Broman <a.broman () bredband net <mailto:a.broman () bredband net>> wrote:

    Hi,
    Nothing to do with your problem but there is also a openflow
    dissector being developed in trunk
    http://anonsvn.wireshark.org/viewvc/trunk/epan/dissectors/packet-openflow.c?revision=50623&view=markup
    written in C. It would be better to pool resources and work on
    that one.
    Regards
    Anders

    DbdM Tbt skrev 2013-08-13 06:10:
    Hello again,
    I forgot to add that this 'hack' requires wireshark to be
    compiled in two steps (if ever compilation is done from scratch
    or after distclean).
    The first step is to 'make all' without the modification to
    etype_vals and without the openflow plugin.
    Then the second step is to plug in the openflow dissector and
    modify etype_vals and make again.
    Clearly something is not right with this picture.
    Hopefully this additional info clears some things.
    Thanks.


    On Tue, Aug 13, 2013 at 11:07 AM, DbdM Tbt <spin.x2k () gmail com
    <mailto:spin.x2k () gmail com>> wrote:

        Hello and good day.
        My name is David and this is my first post in the list.
        I am currently studying how to develop a dissector and
        currently building on top of an existing one.
        The base I am using is an openflow dissector found here:
        http://www.openflow.org/wp/downloads/#dissector
        Created by Mr. David Underhill.

        Before proceeding, I would like to say that where possible, I
        try to strictly follow the developers guide:
        www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html
        <http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html>
        I think the only difference in my case is that I am using MS
        Visual Studio 2010 instead of the Express edition.

        My environment is now this:
        [OS] WindowsXP Professional SP3 32bit
        [Compiler] Microsoft (R) 32-bit C/C++ Optimizing Compiler
        Version 16.00.40219.01 <tel:16.00.40219.01> for 80x86
           Copyright (C) Microsoft Corporation.  All rights reserved.
        [Wireshark Base] ver: 1.10.1
           url:
        http://www.wireshark.org/download/src/wireshark-1.10.1.tar.bz2

        Setup and compilation is ok with the wireshark sources as is.

        But when I include the openflow dissector, I get this error
        (among others):
        C:\wireshark-1.10.1\epan/etypes.h(541) : error C2133:
        'etype_vals' : unknown size

        I tried to work around this error by modifying epan/etypes.h
        like this:
        + #ifdef _WIN32
        + WS_DLL_PUBLIC const value_string *etype_vals;
        + #else
          WS_DLL_PUBLIC const value_string etype_vals[];
        + #endif

        After modifying this and working around other compile errors
        (not part of the topic), I have successfully built the plugin
        and wireshark.

        I am a beginner in developing for windows as my experience is
        mostly in linux environments (GNU).

        So I would like to ask for the opinions on the developers in
        this list if what I did was safe.
        Is there a more 'correct' modification?
        Is there a way around this error without modifying any
        wireshark codes?

        Thank you very much,
        David




    ___________________________________________________________________________
    Sent via:    Wireshark-dev mailing list<wireshark-dev () wireshark org>  <mailto: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


    ___________________________________________________________________________
    Sent via:    Wireshark-dev mailing list
    <wireshark-dev () wireshark org <mailto: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
    <mailto:wireshark-dev-request () wireshark org>?subject=unsubscribe




___________________________________________________________________________
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

___________________________________________________________________________
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

Current thread: