Wireshark-dev: Re: [Wireshark-dev] Retrieving dissection result from another dissector
From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Tue, 3 Jul 2018 17:21:15 +0200
Hi Dario,

Le mar. 3 juil. 2018 à 17:11, Dario Lombardo <lomato@xxxxxxxxx> a écrit :
Actually I'm using the blob to pass data from the caller to the called. I guess it's a design flow to re-use this blob to have data back...

Simply add a parameter to your structure that is used to retrieve the output data from the sub dissector:
struct {
    gint input_param1;
    guint32 input_param2;
    gint output_param;
} foo;

As the data parameter is not const in call_dissector_with_data() it should work.

BR,
Pascal.


On Tue, Jul 3, 2018 at 5:01 PM Richard Sharpe <realrichardsharpe@xxxxxxxxx> wrote:
On Tue, Jul 3, 2018 at 7:55 AM, Dario Lombardo <lomato@xxxxxxxxx> wrote:
> Hi
> In my dissector I need to call another dissector, and I'm using
> call_dissector_with_data(). I need to have back one result coming from the
> dissection (an integer) to use in the calling dissector.
> How can I do that?

You can pass in a void * pointer to a blob of data. Put the result in
that blob of data.

--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)(传说杜康是酒的发明者)
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe


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