Ethereal-dev: Re: [Ethereal-dev] can one plugin call another?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Donald White" <dbwhite@xxxxxxx>
Date: Wed, 10 Mar 2004 22:15:59 -0700


Tomas Kukosa wrote:


You can use all standard dissector calling mechanisms.
E.g.:
static void dissect_nu_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
  ...
  if (next_tvb) {
    if (q931_handle)
      call_dissector(q931_handle, next_tvb, pinfo, tree);
    else
      call_dissector(data_handle, next_tvb, pinfo, tree);
  }
}

void proto_reg_handoff_nu(void) {
  ...
  /* Find subdissectors */
  q931_handle = find_dissector("q931");
  data_handle = find_dissector("data");


Thanks for clear explanation and example.  This was exactly what I needed.

Don