aboutsummaryrefslogtreecommitdiffstats
path: root/sharkd_session.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-07-20 17:07:19 -0700
committerGuy Harris <guy@alum.mit.edu>2018-07-21 00:51:13 +0000
commit9b731e2b320ca936499bf7840a7b2ac5c2b64e05 (patch)
treeb8ab320176662c385a6d544e505eee173e18ffc1 /sharkd_session.c
parent66935d8baadfe7dd62b4e8d4412a47f311ead7f5 (diff)
Add a tap "finish" callback, called when a listener is removed.
Change-Id: Ic6c23dbd39d1adf8f730f1c866e409f731947475 Reviewed-on: https://code.wireshark.org/review/28786 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'sharkd_session.c')
-rw-r--r--sharkd_session.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/sharkd_session.c b/sharkd_session.c
index f2538f15fd..aa0f5f613a 100644
--- a/sharkd_session.c
+++ b/sharkd_session.c
@@ -2181,7 +2181,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
st = stats_tree_new(cfg, NULL, tap_filter);
- tap_error = register_tap_listener(st->cfg->tapname, st, st->filter, st->cfg->flags, stats_tree_reset, stats_tree_packet, sharkd_session_process_tap_stats_cb);
+ tap_error = register_tap_listener(st->cfg->tapname, st, st->filter, st->cfg->flags, stats_tree_reset, stats_tree_packet, sharkd_session_process_tap_stats_cb, NULL);
if (!tap_error && cfg->init)
cfg->init(st);
@@ -2196,7 +2196,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
expert_tap = g_new0(struct sharkd_expert_tap, 1);
expert_tap->text = g_string_chunk_new(100);
- tap_error = register_tap_listener("expert", expert_tap, NULL, 0, NULL, sharkd_session_packet_tap_expert_cb, sharkd_session_process_tap_expert_cb);
+ tap_error = register_tap_listener("expert", expert_tap, NULL, 0, NULL, sharkd_session_packet_tap_expert_cb, sharkd_session_process_tap_expert_cb, NULL);
tap_data = expert_tap;
tap_free = sharkd_session_free_tap_expert_cb;
@@ -2225,7 +2225,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
tap_flags = sequence_analysis_get_tap_flags(analysis);
tap_func = sequence_analysis_get_packet_func(analysis);
- tap_error = register_tap_listener(tap_name, graph_analysis, NULL, tap_flags, NULL, tap_func, sharkd_session_process_tap_flow_cb);
+ tap_error = register_tap_listener(tap_name, graph_analysis, NULL, tap_flags, NULL, tap_func, sharkd_session_process_tap_flow_cb, NULL);
tap_data = graph_analysis;
tap_free = sharkd_session_free_tap_flow_cb;
@@ -2273,7 +2273,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
ct_data->resolve_name = TRUE;
ct_data->resolve_port = TRUE;
- tap_error = register_tap_listener(ct_tapname, &ct_data->hash, tap_filter, 0, NULL, tap_func, sharkd_session_process_tap_conv_cb);
+ tap_error = register_tap_listener(ct_tapname, &ct_data->hash, tap_filter, 0, NULL, tap_func, sharkd_session_process_tap_conv_cb, NULL);
tap_data = &ct_data->hash;
tap_free = sharkd_session_free_tap_conv_cb;
@@ -2295,7 +2295,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
stat_data->stat_tap_data = stat_tap;
stat_data->user_data = NULL;
- tap_error = register_tap_listener(stat_tap->tap_name, stat_data, tap_filter, 0, NULL, stat_tap->packet_func, sharkd_session_process_tap_nstat_cb);
+ tap_error = register_tap_listener(stat_tap->tap_name, stat_data, tap_filter, 0, NULL, stat_tap->packet_func, sharkd_session_process_tap_nstat_cb, NULL);
tap_data = stat_data;
tap_free = sharkd_session_free_tap_nstat_cb;
@@ -2324,7 +2324,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
rtd_data->user_data = rtd;
rtd_table_dissector_init(rtd, &rtd_data->stat_table, NULL, NULL);
- tap_error = register_tap_listener(get_rtd_tap_listener_name(rtd), rtd_data, tap_filter, 0, NULL, get_rtd_packet_func(rtd), sharkd_session_process_tap_rtd_cb);
+ tap_error = register_tap_listener(get_rtd_tap_listener_name(rtd), rtd_data, tap_filter, 0, NULL, get_rtd_packet_func(rtd), sharkd_session_process_tap_rtd_cb, NULL);
tap_data = rtd_data;
tap_free = sharkd_session_free_tap_rtd_cb;
@@ -2354,7 +2354,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
srt_data->user_data = srt;
srt_table_dissector_init(srt, srt_data->srt_array);
- tap_error = register_tap_listener(get_srt_tap_listener_name(srt), srt_data, tap_filter, 0, NULL, get_srt_packet_func(srt), sharkd_session_process_tap_srt_cb);
+ tap_error = register_tap_listener(get_srt_tap_listener_name(srt), srt_data, tap_filter, 0, NULL, get_srt_packet_func(srt), sharkd_session_process_tap_srt_cb, NULL);
tap_data = srt_data;
tap_free = sharkd_session_free_tap_srt_cb;
@@ -2396,14 +2396,14 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
eo_object->get_entry = sharkd_eo_object_list_get_entry;
eo_object->gui_data = (void *) object_list;
- tap_error = register_tap_listener(get_eo_tap_listener_name(eo), eo_object, NULL, 0, NULL, get_eo_packet_func(eo), sharkd_session_process_tap_eo_cb);
+ tap_error = register_tap_listener(get_eo_tap_listener_name(eo), eo_object, NULL, 0, NULL, get_eo_packet_func(eo), sharkd_session_process_tap_eo_cb, NULL);
tap_data = eo_object;
tap_free = g_free; /* need to free only eo_object, object_list need to be kept for potential download */
}
else if (!strcmp(tok_tap, "rtp-streams"))
{
- tap_error = register_tap_listener("rtp", &rtp_tapinfo, tap_filter, 0, rtpstream_reset_cb, rtpstream_packet_cb, sharkd_session_process_tap_rtp_cb);
+ tap_error = register_tap_listener("rtp", &rtp_tapinfo, tap_filter, 0, rtpstream_reset_cb, rtpstream_packet_cb, sharkd_session_process_tap_rtp_cb, NULL);
tap_data = &rtp_tapinfo;
tap_free = rtpstream_reset_cb;
@@ -2424,7 +2424,7 @@ sharkd_session_process_tap(char *buf, const jsmntok_t *tokens, int count)
rtp_req->statinfo.first_packet = TRUE;
rtp_req->statinfo.reg_pt = PT_UNDEFINED;
- tap_error = register_tap_listener("rtp", rtp_req, tap_filter, 0, NULL, sharkd_session_packet_tap_rtp_analyse_cb, sharkd_session_process_tap_rtp_analyse_cb);
+ tap_error = register_tap_listener("rtp", rtp_req, tap_filter, 0, NULL, sharkd_session_packet_tap_rtp_analyse_cb, sharkd_session_process_tap_rtp_analyse_cb, NULL);
tap_data = rtp_req;
tap_free = sharkd_session_process_tap_rtp_free_cb;
@@ -2517,7 +2517,7 @@ sharkd_session_process_follow(char *buf, const jsmntok_t *tokens, int count)
follow_info = g_new0(follow_info_t, 1);
/* gui_data, filter_out_filter not set, but not used by dissector */
- tap_error = register_tap_listener(get_follow_tap_string(follower), follow_info, tok_filter, 0, NULL, get_follow_tap_handler(follower), NULL);
+ tap_error = register_tap_listener(get_follow_tap_string(follower), follow_info, tok_filter, 0, NULL, get_follow_tap_handler(follower), NULL, NULL);
if (tap_error)
{
fprintf(stderr, "sharkd_session_process_follow() name=%s error=%s", tok_follow, tap_error->str);
@@ -3013,7 +3013,7 @@ sharkd_session_process_iograph(char *buf, const jsmntok_t *tokens, int count)
graph->items = NULL;
if (!graph->error)
- graph->error = register_tap_listener("frame", graph, tok_filter, TL_REQUIRES_PROTO_TREE, NULL, sharkd_iograph_packet, NULL);
+ graph->error = register_tap_listener("frame", graph, tok_filter, TL_REQUIRES_PROTO_TREE, NULL, sharkd_iograph_packet, NULL, NULL);
graph_count++;
@@ -4030,7 +4030,7 @@ sharkd_session_process_download(char *buf, const jsmntok_t *tokens, int count)
return;
}
- tap_error = register_tap_listener("rtp", &rtp_req, NULL, 0, NULL, sharkd_session_packet_download_tap_rtp_cb, NULL);
+ tap_error = register_tap_listener("rtp", &rtp_req, NULL, 0, NULL, sharkd_session_packet_download_tap_rtp_cb, NULL, NULL);
if (tap_error)
{
fprintf(stderr, "sharkd_session_process_download() rtp error=%s", tap_error->str);