diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2016-10-26 17:07:47 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-10-28 17:39:04 +0000 |
commit | d47551982b343664cafa3ddfa3b3bb960ed9f34a (patch) | |
tree | 8c88e54355d399d3b43a57098c3ad76276cd5112 /epan/dissectors/packet-ieee80211-wlancap.c | |
parent | 01147f8369e76927d7a90cfa0b592457a1878839 (diff) |
Implement registration of capture dissectors by name
Mirror it after protocol dissector API.
Change-Id: I7985bcfa9e07654c7cf005efec94efc205d7a304
Reviewed-on: https://code.wireshark.org/review/18496
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-ieee80211-wlancap.c')
-rw-r--r-- | epan/dissectors/packet-ieee80211-wlancap.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ieee80211-wlancap.c b/epan/dissectors/packet-ieee80211-wlancap.c index 56245b9366..04691c282d 100644 --- a/epan/dissectors/packet-ieee80211-wlancap.c +++ b/epan/dissectors/packet-ieee80211-wlancap.c @@ -71,6 +71,8 @@ static int hf_wlancap_padding = -1; static gint ett_wlancap = -1; static dissector_handle_t wlancap_handle; +static capture_dissector_handle_t wlancap_cap_handle; +static capture_dissector_handle_t ieee80211_cap_handle; gboolean capture_wlancap(const guchar *pd, int offset, int len, capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_) @@ -88,7 +90,7 @@ capture_wlancap(const guchar *pd, int offset, int len, capture_packet_info_t *cp offset += length; /* 802.11 header follows */ - return capture_ieee80211(pd, offset, len, cpinfo, pseudo_header); + return call_capture_dissector(ieee80211_cap_handle, pd, offset, len, cpinfo, pseudo_header); } /* @@ -842,12 +844,16 @@ void proto_register_ieee80211_wlancap(void) dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_AVS, wlancap_handle); proto_register_subtree_array(tree_array, array_length(tree_array)); + + wlancap_cap_handle = register_capture_dissector("wlancap", capture_wlancap, proto_wlancap); } void proto_reg_handoff_ieee80211_wlancap(void) { ieee80211_radio_handle = find_dissector_add_dependency("wlan_radio", proto_wlancap); - register_capture_dissector("wtap_encap", WTAP_ENCAP_IEEE_802_11_AVS, capture_wlancap, proto_wlancap); + capture_dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_AVS, wlancap_cap_handle); + + ieee80211_cap_handle = find_capture_dissector("ieee80211"); } /* |