aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-12-31 19:36:12 -0800
committerGuy Harris <guy@alum.mit.edu>2019-01-01 05:03:42 +0000
commit2d41b15495e245d9292ba42dd3954bdebc9f3290 (patch)
tree40282b7aab9f1347489126dd98974a681dca888f
parentba589a4e445a8ad8054073eff846087fc61c9ef8 (diff)
Add a "failed" return for tap packet routines.
This allows taps that can fail to report an error and fail; a failed tap's packet routine won't be called again, so they don't have to keep track of whether they've failed themselves. We make the return value from the packet routine an enum. Don't have a separate type for the per-packet routine for "follow" taps; they're expected to act like tap packet routines, so just use the type for tap packet routines. One tap packet routine returned -1; that's not a valid return value, and wasn't one before this change (the return value was a boolean), so presume the intent was "don't redraw". Another tap routine's early return, without doing any work, returned TRUE; this is presumably an error (no work done, no need to redraw), so presumably it should be "don't redraw". Clean up some white space while we're at it. Change-Id: Ia7d2b717b2cace4b13c2b886e699aa4d79cc82c8 Reviewed-on: https://code.wireshark.org/review/31283 Reviewed-by: Guy Harris <guy@alum.mit.edu>
-rw-r--r--doc/README.tapping17
-rw-r--r--epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c6
-rw-r--r--epan/dissectors/asn1/camel/packet-camel-template.c10
-rw-r--r--epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c4
-rw-r--r--epan/dissectors/asn1/h225/packet-h225-template.c18
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.c10
-rw-r--r--epan/dissectors/packet-afp.c6
-rw-r--r--epan/dissectors/packet-ancp.c4
-rw-r--r--epan/dissectors/packet-ansi_a.c16
-rw-r--r--epan/dissectors/packet-ansi_map.c6
-rw-r--r--epan/dissectors/packet-bacapp.c16
-rw-r--r--epan/dissectors/packet-bluetooth.c8
-rw-r--r--epan/dissectors/packet-camel.c10
-rw-r--r--epan/dissectors/packet-collectd.c6
-rw-r--r--epan/dissectors/packet-dcerpc.c14
-rw-r--r--epan/dissectors/packet-dcm.c6
-rw-r--r--epan/dissectors/packet-dhcp.c6
-rw-r--r--epan/dissectors/packet-diameter.c6
-rw-r--r--epan/dissectors/packet-dns.c4
-rw-r--r--epan/dissectors/packet-eth.c8
-rw-r--r--epan/dissectors/packet-f5ethtrailer.c53
-rw-r--r--epan/dissectors/packet-f5ethtrailer.h8
-rw-r--r--epan/dissectors/packet-fc.c16
-rw-r--r--epan/dissectors/packet-fddi.c8
-rw-r--r--epan/dissectors/packet-frame.c6
-rw-r--r--epan/dissectors/packet-gsm_a_common.c30
-rw-r--r--epan/dissectors/packet-gsm_map.c4
-rw-r--r--epan/dissectors/packet-gsm_osmux.c6
-rw-r--r--epan/dissectors/packet-gtp.c10
-rw-r--r--epan/dissectors/packet-h225.c18
-rw-r--r--epan/dissectors/packet-hartip.c6
-rw-r--r--epan/dissectors/packet-hpfeeds.c4
-rw-r--r--epan/dissectors/packet-http.c28
-rw-r--r--epan/dissectors/packet-http2.c4
-rw-r--r--epan/dissectors/packet-icmp.c6
-rw-r--r--epan/dissectors/packet-icmpv6.c6
-rw-r--r--epan/dissectors/packet-ieee80211.c8
-rw-r--r--epan/dissectors/packet-imf.c6
-rw-r--r--epan/dissectors/packet-ip.c8
-rw-r--r--epan/dissectors/packet-ipv6.c8
-rw-r--r--epan/dissectors/packet-ipx.c8
-rw-r--r--epan/dissectors/packet-isup.c4
-rw-r--r--epan/dissectors/packet-jxta.c8
-rw-r--r--epan/dissectors/packet-lbmc.c6
-rw-r--r--epan/dissectors/packet-lbmr.c60
-rw-r--r--epan/dissectors/packet-ldap.c10
-rw-r--r--epan/dissectors/packet-megaco.c8
-rw-r--r--epan/dissectors/packet-mgcp.c6
-rw-r--r--epan/dissectors/packet-mtp3.c6
-rw-r--r--epan/dissectors/packet-ncp.c14
-rw-r--r--epan/dissectors/packet-radius.c6
-rw-r--r--epan/dissectors/packet-rpc.c16
-rw-r--r--epan/dissectors/packet-rsvp.c8
-rw-r--r--epan/dissectors/packet-rtsp.c4
-rw-r--r--epan/dissectors/packet-sametime.c4
-rw-r--r--epan/dissectors/packet-scsi.c10
-rw-r--r--epan/dissectors/packet-sctp.c8
-rw-r--r--epan/dissectors/packet-sip.c6
-rw-r--r--epan/dissectors/packet-sll.c8
-rw-r--r--epan/dissectors/packet-smb-sidsnooping.c40
-rw-r--r--epan/dissectors/packet-smb.c12
-rw-r--r--epan/dissectors/packet-smb2.c12
-rw-r--r--epan/dissectors/packet-smpp.c4
-rw-r--r--epan/dissectors/packet-tcp.c24
-rw-r--r--epan/dissectors/packet-tftp.c4
-rw-r--r--epan/dissectors/packet-tls.c6
-rw-r--r--epan/dissectors/packet-tr.c8
-rw-r--r--epan/dissectors/packet-ucp.c4
-rw-r--r--epan/dissectors/packet-udp.c8
-rw-r--r--epan/dissectors/packet-usb.c8
-rw-r--r--epan/dissectors/packet-wsp.c4
-rw-r--r--epan/follow.c10
-rw-r--r--epan/follow.h10
-rw-r--r--epan/stats_tree.c4
-rw-r--r--epan/stats_tree.h8
-rw-r--r--epan/stats_tree_priv.h2
-rw-r--r--epan/tap.c48
-rw-r--r--epan/tap.h11
-rw-r--r--epan/wslua/wslua_listener.c11
-rw-r--r--plugins/epan/stats_tree/pinfo_stats_tree.c43
-rw-r--r--rawshark.c6
-rw-r--r--sharkd_session.c25
-rw-r--r--ui/cli/tap-camelsrt.c10
-rw-r--r--ui/cli/tap-diameter-avp.c6
-rw-r--r--ui/cli/tap-expert.c10
-rw-r--r--ui/cli/tap-gsm_astat.c8
-rw-r--r--ui/cli/tap-httpstat.c10
-rw-r--r--ui/cli/tap-icmpstat.c14
-rw-r--r--ui/cli/tap-icmpv6stat.c14
-rw-r--r--ui/cli/tap-iostat.c4
-rw-r--r--ui/cli/tap-macltestat.c26
-rw-r--r--ui/cli/tap-protocolinfo.c8
-rw-r--r--ui/cli/tap-protohierstat.c10
-rw-r--r--ui/cli/tap-rlcltestat.c12
-rw-r--r--ui/cli/tap-rpcprogs.c6
-rw-r--r--ui/cli/tap-rtspstat.c10
-rw-r--r--ui/cli/tap-sctpchunkstat.c8
-rw-r--r--ui/cli/tap-sipstat.c10
-rw-r--r--ui/cli/tap-smbsids.c4
-rw-r--r--ui/cli/tap-sv.c4
-rw-r--r--ui/cli/tap-wspstat.c8
-rw-r--r--ui/mcast_stream.c10
-rw-r--r--ui/qt/bluetooth_att_server_attributes_dialog.cpp18
-rw-r--r--ui/qt/bluetooth_att_server_attributes_dialog.h2
-rw-r--r--ui/qt/bluetooth_device_dialog.cpp12
-rw-r--r--ui/qt/bluetooth_device_dialog.h2
-rw-r--r--ui/qt/bluetooth_devices_dialog.cpp14
-rw-r--r--ui/qt/bluetooth_devices_dialog.h2
-rw-r--r--ui/qt/bluetooth_hci_summary_dialog.cpp16
-rw-r--r--ui/qt/bluetooth_hci_summary_dialog.h2
-rw-r--r--ui/qt/gsm_map_summary_dialog.cpp4
-rw-r--r--ui/qt/iax2_analysis_dialog.cpp12
-rw-r--r--ui/qt/iax2_analysis_dialog.h2
-rw-r--r--ui/qt/io_graph_dialog.cpp10
-rw-r--r--ui/qt/io_graph_dialog.h2
-rw-r--r--ui/qt/lbm_lbtrm_transport_dialog.cpp4
-rw-r--r--ui/qt/lbm_lbtrm_transport_dialog.h3
-rw-r--r--ui/qt/lbm_lbtru_transport_dialog.cpp4
-rw-r--r--ui/qt/lbm_lbtru_transport_dialog.h3
-rw-r--r--ui/qt/lbm_stream_dialog.cpp4
-rw-r--r--ui/qt/lbm_stream_dialog.h3
-rw-r--r--ui/qt/lte_mac_statistics_dialog.cpp10
-rw-r--r--ui/qt/lte_mac_statistics_dialog.h2
-rw-r--r--ui/qt/lte_rlc_statistics_dialog.cpp8
-rw-r--r--ui/qt/lte_rlc_statistics_dialog.h2
-rw-r--r--ui/qt/models/expert_info_model.cpp10
-rw-r--r--ui/qt/models/expert_info_model.h3
-rw-r--r--ui/qt/mtp3_summary_dialog.cpp10
-rw-r--r--ui/qt/rtp_analysis_dialog.cpp12
-rw-r--r--ui/qt/rtp_analysis_dialog.h2
-rw-r--r--ui/qt/rtp_player_dialog.cpp12
-rw-r--r--ui/qt/rtp_player_dialog.h2
-rw-r--r--ui/qt/voip_calls_dialog.cpp6
-rw-r--r--ui/qt/voip_calls_dialog.h2
-rw-r--r--ui/qt/wireless_timeline.cpp4
-rw-r--r--ui/qt/wireless_timeline.h3
-rw-r--r--ui/qt/wireshark_dialog.cpp2
-rw-r--r--ui/qt/wireshark_dialog.h4
-rw-r--r--ui/qt/wlan_statistics_dialog.cpp8
-rw-r--r--ui/qt/wlan_statistics_dialog.h2
-rw-r--r--ui/tap-rlc-graph.c8
-rw-r--r--ui/tap-rtp-common.c6
-rw-r--r--ui/tap-rtp-common.h2
-rw-r--r--ui/tap-sctp-analysis.c4
-rw-r--r--ui/tap-tcp-stream.c8
-rw-r--r--ui/tap_export_pdu.c6
-rw-r--r--ui/voip_calls.c118
147 files changed, 788 insertions, 715 deletions
diff --git a/doc/README.tapping b/doc/README.tapping
index 769c5dc4b4..a5af28e609 100644
--- a/doc/README.tapping
+++ b/doc/README.tapping
@@ -65,7 +65,7 @@ The two functions to start or stop tapping are
register_tap_listener(const char *tapname, void *tapdata, const char *fstring,
guint flags,
void (*reset)(void *tapdata),
- gboolean (*packet)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data),
+ tap_packet_status (*packet)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data),
void (*draw)(void *tapdata),
void (*finish)(void *tapdata));
@@ -135,14 +135,17 @@ listener that it is about to start [re]reading a capture file or a new capture
from an interface and that your application should reset any state it has
in the *tapdata instance.
-gboolean (*packet)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data)
+tap_packet_status (*packet)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data)
This callback is used whenever a new packet has arrived at the tap and that
it has passed the filter (if there were a filter).
The *data structure type is specific to each tap.
-This function returns an gboolean and it should return
- TRUE, if the data in the packet caused state to be updated
+This function returns a tap_packet_status enum and it should return
+ TAP_PACKET_REDRAW, if the data in the packet caused state to be updated
(and thus a redraw of the window would later be required)
- FALSE, if we don't need to redraw the window.
+ TAP_PACKET_DONT_REDRAW, if we don't need to redraw the window
+ TAP_PACKET_FAILED, if the tap failed and shouldn't be called again
+ in this pass (for example, if it's writing to a file and gets
+ an I/O error)
NOTE: that (*packet) should be as fast and efficient as possible. Use this
function ONLY to store data for later and do the CPU-intensive processing
or GUI updates down in (*draw) instead.
@@ -219,10 +222,10 @@ You can hand register_tap_listener() NULL for (*draw), (*reset) and (*finish)
Perhaps you want an extension that will execute a certain command
every time it sees a certain packet?
Well, try this :
- gboolean packet(void *tapdata,...) {
+ tap_packet_status packet(void *tapdata,...) {
...
system("mail ...");
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
register_tap_listener("tcp", struct, "tcp.port==57", NULL, packet, NULL, NULL);
diff --git a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c
index 68b260f77f..7949e96fed 100644
--- a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c
+++ b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c
@@ -4474,7 +4474,7 @@ static void ansi_map_stat_init(stat_tap_table_ui* new_stat)
}
-static gboolean
+static tap_packet_status
ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -4485,7 +4485,7 @@ ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
/* Only tracking field values we know */
if (try_val_to_str(data_p->message_type, ansi_map_opr_code_strings) == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
@@ -4503,7 +4503,7 @@ ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
item_data->value.float_value = (float)total_bytes/(float)count;
stat_tap_set_field_data(table, data_p->message_type, AVG_BYTES_COLUMN, item_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/asn1/camel/packet-camel-template.c b/epan/dissectors/asn1/camel/packet-camel-template.c
index 7eabb317e2..11e19cd7db 100644
--- a/epan/dissectors/asn1/camel/packet-camel-template.c
+++ b/epan/dissectors/asn1/camel/packet-camel-template.c
@@ -345,7 +345,7 @@ camelstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static gboolean
+static tap_packet_status
camelstat_packet(void *pcamel, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi)
{
guint idx = 0;
@@ -364,7 +364,7 @@ camelstat_packet(void *pcamel, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_srt_table_data(camel_srt_table, i, &pi->msginfo[i].req_time, pinfo);
}
} /* category */
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
@@ -1239,7 +1239,7 @@ static void camel_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
camel_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *csi_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -1250,12 +1250,12 @@ camel_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
if (csi->opcode >= table->num_elements)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
msg_data = stat_tap_get_field_data(table, csi->opcode, COUNT_COLUMN);
msg_data->value.uint_value++;
stat_tap_set_field_data(table, csi->opcode, COUNT_COLUMN, msg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c
index 90f7aee018..fe710ad362 100644
--- a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c
+++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c
@@ -2805,7 +2805,7 @@ static void gsm_map_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gmtr_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -2860,7 +2860,7 @@ gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _
avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN);
avg_data->value.float_value += (float) (fwd_bytes + rev_bytes) / (invokes + results);
stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN, avg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/asn1/h225/packet-h225-template.c b/epan/dissectors/asn1/h225/packet-h225-template.c
index e0158a1716..2c0f41aada 100644
--- a/epan/dissectors/asn1/h225/packet-h225-template.c
+++ b/epan/dissectors/asn1/h225/packet-h225-template.c
@@ -174,7 +174,7 @@ typedef enum _ras_category {
#define NUM_RAS_STATS 7
-static gboolean
+static tap_packet_status
h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi)
{
rtd_data_t* rtd_data = (rtd_data_t*)phs;
@@ -186,7 +186,7 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
if (pi->msg_type != H225_RAS || pi->msg_tag == -1) {
/* No RAS Message or uninitialized msg_tag -> return */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
if (pi->msg_tag < 21) {
@@ -196,7 +196,7 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
}
else {
/* No SRT yet (ToDo) */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
switch(rasmsg_type) {
@@ -228,9 +228,9 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
break;
default:
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
#include "packet-h225-fn.c"
@@ -659,7 +659,7 @@ static void h225_stat_init(stat_tap_table_ui* new_stat)
other_idx = row_idx;
}
-static gboolean
+static tap_packet_status
h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *hpi_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -668,7 +668,7 @@ h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
int reason_idx = -1;
if(hpi->msg_tag < 0) { /* uninitialized */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
switch (hpi->msg_type) {
@@ -760,9 +760,9 @@ h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
stat_tap_set_field_data(table, reason_idx, COUNT_COLUMN, msg_data);
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
static void
diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c
index 01132effdb..0942d3d633 100644
--- a/epan/dissectors/asn1/ldap/packet-ldap-template.c
+++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c
@@ -302,7 +302,7 @@ ldapstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi)
{
guint i = 0;
@@ -312,11 +312,11 @@ ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const
/* we are only interested in reply packets */
if(ldap->is_request){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we havnt seen the request, just ignore it */
if(!ldap->req_frame){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* only use the commands we know how to handle */
@@ -331,13 +331,13 @@ ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const
case LDAP_REQ_EXTENDED:
break;
default:
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
ldap_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(ldap_srt_table, ldap->protocolOpTag, &ldap->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c
index 9297e404ec..1ac504b53e 100644
--- a/epan/dissectors/packet-afp.c
+++ b/epan/dissectors/packet-afp.c
@@ -1099,7 +1099,7 @@ afpstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
afpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -1109,14 +1109,14 @@ afpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
/* if we haven't seen the request, just ignore it */
if (!request_val) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
afp_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(afp_srt_table, request_val->command, &request_val->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-ancp.c b/epan/dissectors/packet-ancp.c
index e8a4bcc118..8a27d6d1c9 100644
--- a/epan/dissectors/packet-ancp.c
+++ b/epan/dissectors/packet-ancp.c
@@ -597,7 +597,7 @@ ancp_stats_tree_init(stats_tree *st)
st_node_packets, STAT_DT_INT, TRUE);
}
-static int
+static tap_packet_status
ancp_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
epan_dissect_t* edt _U_ , const void* p)
{
@@ -611,7 +611,7 @@ ancp_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
stats_tree_tick_pivot(st, st_node_adj_pack_types,
val_to_str(pi->ancp_adjcode, adj_code_names,
"Unknown Adjacency packet (%d)"));
- return 1;
+ return TAP_PACKET_REDRAW;
}
static int
diff --git a/epan/dissectors/packet-ansi_a.c b/epan/dissectors/packet-ansi_a.c
index 4d791d351c..955e1c8a3a 100644
--- a/epan/dissectors/packet-ansi_a.c
+++ b/epan/dissectors/packet-ansi_a.c
@@ -10597,7 +10597,7 @@ static void ansi_a_dtap_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -10609,7 +10609,7 @@ ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *e
if (data_p->pdu_type == BSSAP_PDU_TYPE_DTAP)
{
if (my_try_val_to_str_idx(data_p->message_type, ansi_a_dtap_strings, &idx) == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
@@ -10617,10 +10617,10 @@ ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *e
dtap_data->value.uint_value++;
stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, dtap_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
static void
@@ -10665,7 +10665,7 @@ static void ansi_a_bsmap_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -10677,7 +10677,7 @@ ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *
if (data_p->pdu_type == BSSAP_PDU_TYPE_BSMAP)
{
if (my_try_val_to_str_idx(data_p->message_type, ansi_a_bsmap_strings, &idx) == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
@@ -10685,10 +10685,10 @@ ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *
dtap_data->value.uint_value++;
stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, dtap_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Register the protocol with Wireshark */
diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c
index b7933f8a6e..ae68d9c884 100644
--- a/epan/dissectors/packet-ansi_map.c
+++ b/epan/dissectors/packet-ansi_map.c
@@ -16123,7 +16123,7 @@ static void ansi_map_stat_init(stat_tap_table_ui* new_stat)
}
-static gboolean
+static tap_packet_status
ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -16134,7 +16134,7 @@ ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
/* Only tracking field values we know */
if (try_val_to_str(data_p->message_type, ansi_map_opr_code_strings) == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
@@ -16152,7 +16152,7 @@ ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
item_data->value.float_value = (float)total_bytes/(float)count;
stat_tap_set_field_data(table, data_p->message_type, AVG_BYTES_COLUMN, item_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-bacapp.c b/epan/dissectors/packet-bacapp.c
index da6a20776a..939875e6c5 100644
--- a/epan/dissectors/packet-bacapp.c
+++ b/epan/dissectors/packet-bacapp.c
@@ -6189,7 +6189,7 @@ bacapp_get_address_label(const char *tag, address *addr)
return label_str;
}
-static int
+static tap_packet_status
bacapp_stats_tree_packet(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt _U_, const void* p)
{
int packets_for_this_dst;
@@ -6230,7 +6230,7 @@ bacapp_stats_tree_packet(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt
wmem_free(NULL, srcstr);
wmem_free(NULL, dststr);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Stat: BACnet Packets sorted by Service */
@@ -6243,7 +6243,7 @@ bacapp_service_stats_tree_init(stats_tree* st)
st_node_packets_by_service = stats_tree_create_pivot(st, st_str_packets_by_service, 0);
}
-static int
+static tap_packet_status
bacapp_stats_tree_service(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt _U_, const void* p)
{
int servicetype;
@@ -6272,7 +6272,7 @@ bacapp_stats_tree_service(stats_tree* st, packet_info* pinfo, epan_dissect_t* ed
wmem_free(NULL, srcstr);
wmem_free(NULL, dststr);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Stat: BACnet Packets sorted by Object Type */
@@ -6285,7 +6285,7 @@ bacapp_objectid_stats_tree_init(stats_tree* st)
st_node_packets_by_objectid = stats_tree_create_pivot(st, st_str_packets_by_objectid, 0);
}
-static int
+static tap_packet_status
bacapp_stats_tree_objectid(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt _U_, const void* p)
{
int servicetype;
@@ -6313,7 +6313,7 @@ bacapp_stats_tree_objectid(stats_tree* st, packet_info* pinfo, epan_dissect_t* e
wmem_free(NULL, srcstr);
wmem_free(NULL, dststr);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Stat: BACnet Packets sorted by Instance No */
@@ -6326,7 +6326,7 @@ bacapp_instanceid_stats_tree_init(stats_tree* st)
st_node_packets_by_instanceid = stats_tree_create_pivot(st, st_str_packets_by_instanceid, 0);
}
-static int
+static tap_packet_status
bacapp_stats_tree_instanceid(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt _U_, const void* p)
{
int servicetype;
@@ -6354,7 +6354,7 @@ bacapp_stats_tree_instanceid(stats_tree* st, packet_info* pinfo, epan_dissect_t*
wmem_free(NULL, srcstr);
wmem_free(NULL, dststr);
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-bluetooth.c b/epan/dissectors/packet-bluetooth.c
index c89997a467..5605a09ae7 100644
--- a/epan/dissectors/packet-bluetooth.c
+++ b/epan/dissectors/packet-bluetooth.c
@@ -2818,7 +2818,7 @@ static const char* bluetooth_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t bluetooth_dissector_info = {&bluetooth_get_filter_type};
-static int
+static tap_packet_status
bluetooth_conversation_packet(void *pct, packet_info *pinfo,
epan_dissect_t *edt _U_, const void *vip _U_)
{
@@ -2827,11 +2827,11 @@ bluetooth_conversation_packet(void *pct, packet_info *pinfo,
pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts,
&bluetooth_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int
+static tap_packet_status
bluetooth_hostlist_packet(void *pit, packet_info *pinfo,
epan_dissect_t *edt _U_, const void *vip _U_)
{
@@ -2840,7 +2840,7 @@ bluetooth_hostlist_packet(void *pit, packet_info *pinfo,
add_hostlist_table_data(hash, &pinfo->dl_src, 0, TRUE, 1, pinfo->fd->pkt_len, &bluetooth_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &pinfo->dl_dst, 0, FALSE, 1, pinfo->fd->pkt_len, &bluetooth_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static conversation_t *
diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c
index c5b568835a..8390548341 100644
--- a/epan/dissectors/packet-camel.c
+++ b/epan/dissectors/packet-camel.c
@@ -1318,7 +1318,7 @@ camelstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static gboolean
+static tap_packet_status
camelstat_packet(void *pcamel, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi)
{
guint idx = 0;
@@ -1337,7 +1337,7 @@ camelstat_packet(void *pcamel, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_srt_table_data(camel_srt_table, i, &pi->msginfo[i].req_time, pinfo);
}
} /* category */
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
@@ -8255,7 +8255,7 @@ static void camel_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
camel_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *csi_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -8266,12 +8266,12 @@ camel_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
if (csi->opcode >= table->num_elements)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
msg_data = stat_tap_get_field_data(table, csi->opcode, COUNT_COLUMN);
msg_data->value.uint_value++;
stat_tap_set_field_data(table, csi->opcode, COUNT_COLUMN, msg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-collectd.c b/epan/dissectors/packet-collectd.c
index 823aa3a15a..7534321d86 100644
--- a/epan/dissectors/packet-collectd.c
+++ b/epan/dissectors/packet-collectd.c
@@ -211,7 +211,7 @@ collectd_stats_tree_init (stats_tree *st)
st_collectd_values);
} /* void collectd_stats_tree_init */
-static int
+static tap_packet_status
collectd_stats_tree_packet (stats_tree *st, packet_info *pinfo _U_,
epan_dissect_t *edt _U_, const void *user_data)
{
@@ -220,7 +220,7 @@ collectd_stats_tree_packet (stats_tree *st, packet_info *pinfo _U_,
td = (const tap_data_t *)user_data;
if (td == NULL)
- return (-1);
+ return (TAP_PACKET_DONT_REDRAW);
tick_stat_node (st, "Packets", 0, FALSE);
increase_stat_node (st, "Values", 0, TRUE, td->values_num);
@@ -249,7 +249,7 @@ collectd_stats_tree_packet (stats_tree *st, packet_info *pinfo _U_,
sc->string);
}
- return (1);
+ return (TAP_PACKET_REDRAW);
} /* int collectd_stats_tree_packet */
static void
diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c
index e9eea18ae0..57591c7d21 100644
--- a/epan/dissectors/packet-dcerpc.c
+++ b/epan/dissectors/packet-dcerpc.c
@@ -1940,7 +1940,7 @@ dcerpcstat_init(struct register_srt* srt, GArray* srt_array)
}
}
-static int
+static tap_packet_status
dcerpcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -1953,31 +1953,31 @@ dcerpcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const
tap_data = (dcerpcstat_tap_data_t*)dcerpc_srt_table->table_specific_data;
if(!ri->call_data){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(!ri->call_data->req_frame){
/* we have not seen the request so we don't know the delta*/
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(ri->call_data->opnum >= tap_data->num_procedures){
/* don't handle this since it's outside of known table */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* we are only interested in reply packets */
if(ri->ptype != PDU_RESP){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* we are only interested in certain program/versions */
if( (!uuid_equal( (&ri->call_data->uuid), (&tap_data->uuid)))
||(ri->call_data->ver != tap_data->ver)){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
add_srt_table_data(dcerpc_srt_table, ri->call_data->opnum, &ri->call_data->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static guint
diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c
index 69fd5e9699..6056511042 100644
--- a/epan/dissectors/packet-dcm.c
+++ b/epan/dissectors/packet-dcm.c
@@ -417,7 +417,7 @@ typedef struct _dicom_eo_t {
guint8 *payload_data;
} dicom_eo_t;
-static gboolean
+static tap_packet_status
dcm_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_,
const void *data)
{
@@ -442,9 +442,9 @@ dcm_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_,
object_list->add_entry(object_list->gui_data, entry);
- return TRUE; /* State changed - window should be redrawn */
+ return TAP_PACKET_REDRAW; /* State changed - window should be redrawn */
} else {
- return FALSE; /* State unchanged - no window updates needed */
+ return TAP_PACKET_DONT_REDRAW; /* State unchanged - no window updates needed */
}
}
diff --git a/epan/dissectors/packet-dhcp.c b/epan/dissectors/packet-dhcp.c
index 71052d90aa..1975cb0122 100644
--- a/epan/dissectors/packet-dhcp.c
+++ b/epan/dissectors/packet-dhcp.c
@@ -6679,7 +6679,7 @@ static void dhcp_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
dhcp_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -6691,14 +6691,14 @@ dhcp_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
idx = str_to_val_idx(value, opt53_text);
if (idx < 0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
msg_data = stat_tap_get_field_data(table, idx, PACKET_COLUMN);
msg_data->value.uint_value++;
stat_tap_set_field_data(table, idx, PACKET_COLUMN, msg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-diameter.c b/epan/dissectors/packet-diameter.c
index ce8ea404de..e606043c20 100644
--- a/epan/dissectors/packet-diameter.c
+++ b/epan/dissectors/packet-diameter.c
@@ -385,7 +385,7 @@ diameterstat_init(struct register_srt* srt _U_, GArray* srt_array)
init_srt_table_row(diameter_srt_table, 0, "Unknown");
}
-static int
+static tap_packet_status
diameterstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -398,7 +398,7 @@ diameterstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, cons
* Unpaired diameter messages are currently not supported by statistics.
* Return 0, since redraw is not needed. */
if(!diameter || diameter->processing_request || !diameter->req_frame)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
diameter_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
@@ -412,7 +412,7 @@ diameterstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_srt_table_data(diameter_srt_table, *idx, &diameter->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c
index 098e235ef9..a77a5fa35b 100644
--- a/epan/dissectors/packet-dns.c
+++ b/epan/dissectors/packet-dns.c
@@ -4181,7 +4181,7 @@ static void dns_stats_tree_init(stats_tree* st)
st_node_service_rrt = stats_tree_create_node(st, st_str_service_rrt, st_node_service_stats, STAT_DT_FLOAT, FALSE);
}
-static int dns_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
+static tap_packet_status dns_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const struct DnsTap *pi = (const struct DnsTap *)p;
tick_stat_node(st, st_str_packets, 0, FALSE);
@@ -4237,7 +4237,7 @@ static int dns_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_di
}
}
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
void
diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c
index 986165b290..2c7b9f45f5 100644
--- a/epan/dissectors/packet-eth.c
+++ b/epan/dissectors/packet-eth.c
@@ -122,7 +122,7 @@ static const char* eth_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t eth_ct_dissector_info = {&eth_conv_get_filter_type};
-static int
+static tap_packet_status
eth_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -130,7 +130,7 @@ eth_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &ehdr->src, &ehdr->dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &eth_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* eth_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -143,7 +143,7 @@ static const char* eth_host_get_filter_type(hostlist_talker_t* host, conv_filter
static hostlist_dissector_info_t eth_host_dissector_info = {&eth_host_get_filter_type};
-static int
+static tap_packet_status
eth_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -155,7 +155,7 @@ eth_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_hostlist_table_data(hash, &ehdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, &eth_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &ehdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &eth_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-f5ethtrailer.c b/epan/dissectors/packet-f5ethtrailer.c
index 557ccbf0d0..0736eb66cb 100644
--- a/epan/dissectors/packet-f5ethtrailer.c
+++ b/epan/dissectors/packet-f5ethtrailer.c
@@ -649,10 +649,11 @@ static void f5eth_tmmdist_stats_tree_init(
* @param pinfo A pointer to the packet info.
* @param edt Unused
* @param data A pointer to the data provided by the tap
- * @return 1 if the data was actually used to alter the statistics, 0 otherwise.
+ * @return TAP_PACKET_REDRAW if the data was actually used to alter
+ * the statistics, TAP_PACKET_DONT_REDRAW otherwise.
*
*/
-static int f5eth_tmmdist_stats_tree_packet(
+static tap_packet_status f5eth_tmmdist_stats_tree_packet(
stats_tree *st,
packet_info *pinfo,
epan_dissect_t *edt _U_,
@@ -667,12 +668,12 @@ static int f5eth_tmmdist_stats_tree_packet(
char tmm_stat_name_buffer[PER_TMM_STAT_NAME_BUF_LEN];
if(tdata == NULL)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
/* Unnecessary since this tap packet function and the F5 Ethernet trailer dissector are both in
* the same source file. If you are using this function as an example in a separate tap source
* file, you should uncomment this.
- if(check_f5eth_tap_magic(tdata) == 0) return 0;
+ if(check_f5eth_tap_magic(tdata) == 0) return TAP_PACKET_DONT_REDRAW;
*/
g_snprintf(tmm_stat_name_buffer, PER_TMM_STAT_NAME_BUF_LEN, "slot %3d,tmm %3d",
@@ -734,7 +735,7 @@ static int f5eth_tmmdist_stats_tree_packet(
increase_stat_node(st, st_str_tmm_flow_none, st_node_tmm_bytes, FALSE, 0);
}
- return 1;
+ return TAP_PACKET_REDRAW;
} /* f5eth_tmmdist_stats_tree_packet() */
/*-----------------------------------------------------------------------------------------------*/
@@ -757,7 +758,7 @@ static void f5eth_virtdist_stats_tree_init(
} /* f5eth_virtdist_stats_tree_init() */
/*-----------------------------------------------------------------------------------------------*/
-static int f5eth_virtdist_stats_tree_packet(
+static tap_packet_status f5eth_virtdist_stats_tree_packet(
stats_tree *st,
packet_info *pinfo,
epan_dissect_t *edt _U_,
@@ -767,11 +768,11 @@ static int f5eth_virtdist_stats_tree_packet(
guint32 pkt_len;
if (tdata == NULL)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
/* Unnecessary since this tap packet function and the F5 Ethernet trailer dissector are both in
* the same source file. If you are using this function as an example in a separate tap source
* file, you should uncomment this.
- if(check_f5eth_tap_magic(tdata) == 0) return 0;
+ if(check_f5eth_tap_magic(tdata) == 0) return TAP_PACKET_DONT_REDRAW;
*/
pkt_len = pinfo->fd->pkt_len - tdata->trailer_len;
@@ -797,7 +798,7 @@ static int f5eth_virtdist_stats_tree_packet(
increase_stat_node(st, tdata->virtual_name, st_node_virtbytedist, TRUE, pkt_len);
}
- return 1;
+ return TAP_PACKET_REDRAW;
} /* f5eth_virtdist_stats_tree_packet() */
@@ -1373,7 +1374,7 @@ static void render_analysis(
/*-----------------------------------------------------------------------------------------------*/
/** \brief Tap call back to retrieve information about the IP headers.
*/
-static gboolean ip_tap_pkt(
+static tap_packet_status ip_tap_pkt(
void *tapdata _U_,
packet_info *pinfo,
epan_dissect_t *edt _U_,
@@ -1384,11 +1385,11 @@ static gboolean ip_tap_pkt(
ad = (struct f5eth_analysis_data_t*)p_get_proto_data(wmem_file_scope(), pinfo,
proto_f5ethtrailer, 0);
- if(ad == NULL) return(FALSE); /* No F5 information */
- if(ad->ip_visited == 1) return(FALSE);
+ if(ad == NULL) return(TAP_PACKET_DONT_REDRAW); /* No F5 information */
+ if(ad->ip_visited == 1) return(TAP_PACKET_DONT_REDRAW);
ad->ip_visited = 1;
- if(data == NULL) return(FALSE);
+ if(data == NULL) return(TAP_PACKET_DONT_REDRAW);
iph = (const ws_ip4 *)data;
/* Only care about TCP at this time */
@@ -1398,19 +1399,19 @@ static gboolean ip_tap_pkt(
*/
if(iph->ip_proto != IP_PROTO_TCP) {
ad->ip_istcp = 0;
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
ad->ip_istcp = 1;
ad->ip_isfrag = ((iph->ip_off & IP_OFFSET_MASK) || (iph->ip_off & IP_MF)) ? 1 : 0;
- return(TRUE);
+ return(TAP_PACKET_REDRAW);
} /* ip_tap_pkt() */
/*-----------------------------------------------------------------------------------------------*/
/** \brief Tap call back to retrieve information about the IPv6 headers.
*/
-static gboolean ipv6_tap_pkt(
+static tap_packet_status ipv6_tap_pkt(
void *tapdata _U_,
packet_info *pinfo,
epan_dissect_t *edt _U_,
@@ -1421,11 +1422,11 @@ static gboolean ipv6_tap_pkt(
ad = (struct f5eth_analysis_data_t*)p_get_proto_data(wmem_file_scope(), pinfo,
proto_f5ethtrailer, 0);
- if(ad == NULL) return(FALSE); /* No F5 information */
- if(ad->ip_visited == 1) return(FALSE);
+ if(ad == NULL) return(TAP_PACKET_DONT_REDRAW); /* No F5 information */
+ if(ad->ip_visited == 1) return(TAP_PACKET_DONT_REDRAW);
ad->ip_visited = 1;
- if(data == NULL) return(FALSE);
+ if(data == NULL) return(TAP_PACKET_DONT_REDRAW);
ipv6h = (const struct ws_ip6_hdr *)data;
/* Only care about TCP at this time */
@@ -1439,18 +1440,18 @@ static gboolean ipv6_tap_pkt(
* fragment, we don't care anyways (too much effort). */
if(ipv6h->ip6h_nxt != IP_PROTO_TCP) {
ad->ip_istcp = 0;
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
ad->ip_istcp = 1;
- return(TRUE);
+ return(TAP_PACKET_REDRAW);
} /* ipv6_tap_pkt() */
/*-----------------------------------------------------------------------------------------------*/
/** \brief Tap call back to retrieve information about the TCP headers.
*/
-static gboolean tcp_tap_pkt(
+static tap_packet_status tcp_tap_pkt(
void *tapdata _U_,
packet_info *pinfo,
epan_dissect_t *edt _U_,
@@ -1461,11 +1462,11 @@ static gboolean tcp_tap_pkt(
ad = (struct f5eth_analysis_data_t*)p_get_proto_data(wmem_file_scope(), pinfo,
proto_f5ethtrailer, 0);
- if(ad == NULL) return(FALSE); /* No F5 information */
- if(ad->tcp_visited == 1) return(FALSE);
+ if(ad == NULL) return(TAP_PACKET_DONT_REDRAW); /* No F5 information */
+ if(ad->tcp_visited == 1) return(TAP_PACKET_DONT_REDRAW);
ad->tcp_visited = 1;
- if(data == NULL) return(FALSE);
+ if(data == NULL) return(TAP_PACKET_DONT_REDRAW);
tcph = (const tcp_info_t *)data;
ad->tcp_synset = (tcph->th_flags & TH_SYN) ? 1 : 0;
@@ -1491,7 +1492,7 @@ static gboolean tcp_tap_pkt(
}
}
- return(TRUE);
+ return(TAP_PACKET_REDRAW);
} /* tcp_tap_pkt() */
/* End of analysis functions */
diff --git a/epan/dissectors/packet-f5ethtrailer.h b/epan/dissectors/packet-f5ethtrailer.h
index 02dec0d4e0..b3b3e10de3 100644
--- a/epan/dissectors/packet-f5ethtrailer.h
+++ b/epan/dissectors/packet-f5ethtrailer.h
@@ -167,7 +167,7 @@ static void f5fileinfo_tap_reset(void *p)
# endif
} /* f5fileinfo_tap_reset() */
-static gboolean f5fileinfo_tap_pkt(
+static tap_packet_status f5fileinfo_tap_pkt(
void *tapdata,
packet_info *pinfo _U_,
epan_dissect_t *edt _U_,
@@ -181,7 +181,7 @@ static gboolean f5fileinfo_tap_pkt(
if(fromtap->magic != F5FILEINFO_TAP_MAGIC) {
/* Magic numbers do not match. f5ethtrailer plugin was compiled from
* different source than this plugin. */
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
if (s->ver[0] == fromtap->ver[0] &&
s->ver[1] == fromtap->ver[1] &&
@@ -190,7 +190,7 @@ static gboolean f5fileinfo_tap_pkt(
s->ver[4] == fromtap->ver[4] &&
s->ver[5] == fromtap->ver[5])
{
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
s->ver[0] = fromtap->ver[0];
s->ver[1] = fromtap->ver[1];
@@ -201,7 +201,7 @@ static gboolean f5fileinfo_tap_pkt(
# ifdef F5FILEINFO_TAP_POST_FUNC
F5FILEINFO_TAP_POST_FUNC(s);
# endif
- return(TRUE);
+ return(TAP_PACKET_REDRAW);
} /* f5fileinfo_tap_pkt() */
diff --git a/epan/dissectors/packet-fc.c b/epan/dissectors/packet-fc.c
index 20b2cc9d5b..95cea82d5a 100644
--- a/epan/dissectors/packet-fc.c
+++ b/epan/dissectors/packet-fc.c
@@ -195,7 +195,7 @@ static const char* fc_conv_get_filter_type(conv_item_t* conv, conv_filter_type_e
static ct_dissector_info_t fc_ct_dissector_info = {&fc_conv_get_filter_type};
-static int
+static tap_packet_status
fc_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -203,7 +203,7 @@ fc_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, c
add_conversation_table_data(hash, &fchdr->s_id, &fchdr->d_id, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &fc_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* fc_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -216,7 +216,7 @@ static const char* fc_host_get_filter_type(hostlist_talker_t* host, conv_filter_
static hostlist_dissector_info_t fc_host_dissector_info = {&fc_host_get_filter_type};
-static int
+static tap_packet_status
fc_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -228,7 +228,7 @@ fc_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const
add_hostlist_table_data(hash, &fchdr->s_id, 0, TRUE, 1, pinfo->fd->pkt_len, &fc_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &fchdr->d_id, 0, FALSE, 1, pinfo->fd->pkt_len, &fc_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
#define FC_NUM_PROCEDURES 256
@@ -248,7 +248,7 @@ fcstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
fcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -258,17 +258,17 @@ fcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void
/* we are only interested in reply packets */
if(!(fc->fctl&FC_FCTL_EXCHANGE_RESPONDER)){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we havnt seen the request, just ignore it */
if ( (!fc->fc_ex) || (fc->fc_ex->first_exchange_frame==0) ){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fc_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(fc_srt_table, fc->type, &fc->fc_ex->fc_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-fddi.c b/epan/dissectors/packet-fddi.c
index 2a52960f8e..fd79f479b3 100644
--- a/epan/dissectors/packet-fddi.c
+++ b/epan/dissectors/packet-fddi.c
@@ -154,7 +154,7 @@ static const char* fddi_conv_get_filter_type(conv_item_t* conv, conv_filter_type
static ct_dissector_info_t fddi_ct_dissector_info = {&fddi_conv_get_filter_type};
-static int
+static tap_packet_status
fddi_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -162,7 +162,7 @@ fddi_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &ehdr->src, &ehdr->dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &fddi_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* fddi_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -175,7 +175,7 @@ static const char* fddi_host_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t fddi_host_dissector_info = {&fddi_host_get_filter_type};
-static int
+static tap_packet_status
fddi_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -187,7 +187,7 @@ fddi_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con
add_hostlist_table_data(hash, &ehdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, &fddi_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &ehdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &fddi_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c
index 55de4126bb..966441692d 100644
--- a/epan/dissectors/packet-frame.c
+++ b/epan/dissectors/packet-frame.c
@@ -152,14 +152,14 @@ static dissector_table_t wtap_fts_rec_dissector_table;
/****************************************************************************/
/* whenever a frame packet is seen by the tap listener */
/* Add a new frame into the graph */
-static gboolean
+static tap_packet_status
frame_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *dummy _U_)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
if (!sai)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
sai->frame_number = pinfo->num;
@@ -176,7 +176,7 @@ frame_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U
g_queue_push_tail(sainfo->items, sai);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/*
diff --git a/epan/dissectors/packet-gsm_a_common.c b/epan/dissectors/packet-gsm_a_common.c
index 846b961fb7..e0beb6e3a2 100644
--- a/epan/dissectors/packet-gsm_a_common.c
+++ b/epan/dissectors/packet-gsm_a_common.c
@@ -3653,7 +3653,7 @@ static void gsm_a_sacch_rr_stat_init(stat_tap_table_ui* new_stat)
"GSM A-I/F SACCH Statistics", gsm_a_rr_short_pd_msg_strings);
}
-static gboolean
+static tap_packet_status
gsm_a_stat_packet(void *tapdata, const void *gatr_ptr, guint8 pdu_type, int protocol_disc)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -3662,73 +3662,73 @@ gsm_a_stat_packet(void *tapdata, const void *gatr_ptr, guint8 pdu_type, int prot
stat_tap_table_item_type* msg_data;
guint i = 0;
- if (gatr->pdu_type != pdu_type) return FALSE;
- if (pdu_type == BSSAP_PDU_TYPE_DTAP && (int)gatr->protocol_disc != protocol_disc) return FALSE;
- if (pdu_type == GSM_A_PDU_TYPE_SACCH && gatr->protocol_disc != 0) return FALSE;
+ if (gatr->pdu_type != pdu_type) return TAP_PACKET_DONT_REDRAW;
+ if (pdu_type == BSSAP_PDU_TYPE_DTAP && (int)gatr->protocol_disc != protocol_disc) return TAP_PACKET_DONT_REDRAW;
+ if (pdu_type == GSM_A_PDU_TYPE_SACCH && gatr->protocol_disc != 0) return TAP_PACKET_DONT_REDRAW;
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, i);
msg_data = stat_tap_get_field_data(table, gatr->message_type, COUNT_COLUMN);
msg_data->value.uint_value++;
stat_tap_set_field_data(table, gatr->message_type, COUNT_COLUMN, msg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
-static gboolean
+static tap_packet_status
gsm_a_bssmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_BSSMAP, 0);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_mm_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_MM);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_rr_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_RR);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_cc_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_CC);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_gmm_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_GMM);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_sms_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_SMS);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_sm_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_SM);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_ss_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_SS);
}
-static gboolean
+static tap_packet_status
gsm_a_dtap_tp_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, BSSAP_PDU_TYPE_DTAP, PD_TP);
}
-static gboolean
+static tap_packet_status
gsm_a_sacch_rr_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gatr_ptr)
{
return gsm_a_stat_packet(tapdata, gatr_ptr, GSM_A_PDU_TYPE_SACCH, 0);
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index a468c50312..8bea492d45 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -23700,7 +23700,7 @@ static void gsm_map_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gmtr_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -23755,7 +23755,7 @@ gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _
avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN);
avg_data->value.float_value += (float) (fwd_bytes + rev_bytes) / (invokes + results);
stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN, avg_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-gsm_osmux.c b/epan/dissectors/packet-gsm_osmux.c
index f291814085..c0f042c956 100644
--- a/epan/dissectors/packet-gsm_osmux.c
+++ b/epan/dissectors/packet-gsm_osmux.c
@@ -383,8 +383,8 @@ static void osmux_stats_tree_init(stats_tree *st)
st_osmux_stats_conn = stats_tree_create_node(st, st_str_conn, st_osmux_stats, STAT_DT_INT, TRUE);
}
-static int osmux_stats_tree_packet(stats_tree *st, packet_info *pinfo,
- epan_dissect_t *edt _U_, const void *p _U_)
+static tap_packet_status osmux_stats_tree_packet(stats_tree *st,
+ packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_)
{
gchar* stream_name;
gchar* ft_name;
@@ -463,7 +463,7 @@ static int osmux_stats_tree_packet(stats_tree *st, packet_info *pinfo,
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
void proto_register_osmux(void)
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
index bfe432e6e9..5a5c8cb8f3 100644
--- a/epan/dissectors/packet-gtp.c
+++ b/epan/dissectors/packet-gtp.c
@@ -2088,7 +2088,7 @@ gtpstat_init(struct register_srt* srt _U_, GArray* srt_array)
init_srt_table_row(gtp_srt_table, 3, "Delete PDP context");
}
-static int
+static tap_packet_status
gtpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -2099,11 +2099,11 @@ gtpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
/* we are only interested in reply packets */
if(gtp->is_request){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we have not seen the request, just ignore it */
if(!gtp->req_frame){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Only use the commands we know how to handle, this is not a comprehensive list */
@@ -2122,13 +2122,13 @@ gtpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
case GTP_MSG_DELETE_PDP_REQ: idx=3;
break;
default:
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
gtp_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(gtp_srt_table, idx, &gtp->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c
index 5d09e0acf6..63fbae7b00 100644
--- a/epan/dissectors/packet-h225.c
+++ b/epan/dissectors/packet-h225.c
@@ -1202,7 +1202,7 @@ typedef enum _ras_category {
#define NUM_RAS_STATS 7
-static gboolean
+static tap_packet_status
h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi)
{
rtd_data_t* rtd_data = (rtd_data_t*)phs;
@@ -1214,7 +1214,7 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
if (pi->msg_type != H225_RAS || pi->msg_tag == -1) {
/* No RAS Message or uninitialized msg_tag -> return */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
if (pi->msg_tag < 21) {
@@ -1224,7 +1224,7 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
}
else {
/* No SRT yet (ToDo) */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
switch(rasmsg_type) {
@@ -1256,9 +1256,9 @@ h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, co
break;
default:
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
@@ -8238,7 +8238,7 @@ static void h225_stat_init(stat_tap_table_ui* new_stat)
other_idx = row_idx;
}
-static gboolean
+static tap_packet_status
h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *hpi_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -8247,7 +8247,7 @@ h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
int reason_idx = -1;
if(hpi->msg_tag < 0) { /* uninitialized */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
switch (hpi->msg_type) {
@@ -8339,9 +8339,9 @@ h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
stat_tap_set_field_data(table, reason_idx, COUNT_COLUMN, msg_data);
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-hartip.c b/epan/dissectors/packet-hartip.c
index 7a4a598a07..c4839e23eb 100644
--- a/epan/dissectors/packet-hartip.c
+++ b/epan/dissectors/packet-hartip.c
@@ -329,7 +329,7 @@ hartip_stats_tree_init(stats_tree* st)
st_node_errors = stats_tree_create_node(st, st_str_errors, st_node_packets, STAT_DT_INT, TRUE);
}
-static int
+static tap_packet_status
hartip_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
epan_dissect_t* edt _U_, const void* p)
{
@@ -356,7 +356,7 @@ hartip_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
message_type_node = st_node_errors;
break;
default:
- return 0; /* Don't want to track invalid messages for now. */
+ return TAP_PACKET_DONT_REDRAW; /* Don't want to track invalid messages for now. */
}
message_id_node_str = val_to_str(tapinfo->message_id,
@@ -367,7 +367,7 @@ hartip_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
tick_stat_node(st, message_type_node_str, st_node_packets, FALSE);
tick_stat_node(st, message_id_node_str, message_type_node, FALSE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gint
diff --git a/epan/dissectors/packet-hpfeeds.c b/epan/dissectors/packet-hpfeeds.c
index 41fa3f9415..8ffb40ebb2 100644
--- a/epan/dissectors/packet-hpfeeds.c
+++ b/epan/dissectors/packet-hpfeeds.c
@@ -212,7 +212,7 @@ static void hpfeeds_stats_tree_init(stats_tree* st)
channels_list = wmem_list_new(wmem_epan_scope());
}
-static int hpfeeds_stats_tree_packet(stats_tree* st _U_, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
+static tap_packet_status hpfeeds_stats_tree_packet(stats_tree* st _U_, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const struct HpfeedsTap *pi = (const struct HpfeedsTap *)p;
wmem_list_frame_t* head = wmem_list_head(channels_list);
@@ -243,7 +243,7 @@ static int hpfeeds_stats_tree_packet(stats_tree* st _U_, packet_info* pinfo _U_,
stats_tree_tick_pivot(st, st_node_opcodes,
val_to_str(pi->opcode, opcode_vals, "Unknown opcode (%d)"));
- return 1;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c
index 8fd72e5aa2..4c0e5c9f1e 100644
--- a/epan/dissectors/packet-http.c
+++ b/epan/dissectors/packet-http.c
@@ -338,7 +338,7 @@ typedef struct _http_eo_t {
const guint8 *payload_data;
} http_eo_t;
-static gboolean
+static tap_packet_status
http_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
export_object_list_t *object_list = (export_object_list_t *)tapdata;
@@ -359,9 +359,9 @@ http_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const
object_list->add_entry(object_list->gui_data, entry);
- return TRUE; /* State changed - window should be redrawn */
+ return TAP_PACKET_REDRAW; /* State changed - window should be redrawn */
} else {
- return FALSE; /* State unchanged - no window updates needed */
+ return TAP_PACKET_DONT_REDRAW; /* State unchanged - no window updates needed */
}
}
@@ -463,7 +463,7 @@ http_reqs_stats_tree_init(stats_tree* st)
}
/* HTTP/Load Distribution stats packet function */
-static int
+static tap_packet_status
http_reqs_stats_tree_packet(stats_tree* st, packet_info* pinfo, epan_dissect_t* edt _U_, const void* p)
{
const http_info_value_t* v = (const http_info_value_t*)p;
@@ -491,7 +491,7 @@ http_reqs_stats_tree_packet(stats_tree* st, packet_info* pinfo, epan_dissect_t*
wmem_free(NULL, ip_str);
- return 1;
+ return TAP_PACKET_REDRAW;
} else if (i != 0) {
ip_str = address_to_str(NULL, &pinfo->src);
@@ -507,10 +507,10 @@ http_reqs_stats_tree_packet(stats_tree* st, packet_info* pinfo, epan_dissect_t*
wmem_free(NULL, ip_str);
- return 1;
+ return TAP_PACKET_REDRAW;
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
@@ -525,7 +525,7 @@ http_req_stats_tree_init(stats_tree* st)
}
/* HTTP/Requests stats packet function */
-static int
+static tap_packet_status
http_req_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const http_info_value_t* v = (const http_info_value_t*)p;
@@ -542,10 +542,10 @@ http_req_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_
}
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
static const gchar *st_str_packets = "Total HTTP Packets";
@@ -588,7 +588,7 @@ http_stats_tree_init(stats_tree* st)
}
/* HTTP/Packet Counter stats packet function */
-static int
+static tap_packet_status
http_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const http_info_value_t* v = (const http_info_value_t*)p;
@@ -633,7 +633,7 @@ http_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* e
tick_stat_node(st, st_str_other, st_node_packets, FALSE);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
@@ -859,7 +859,7 @@ determine_http_location_target(const gchar *base_url, const gchar * location_url
}
/* HTTP/Request Sequences stats packet function */
-static int
+static tap_packet_status
http_seq_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const http_info_value_t* v = (const http_info_value_t*)p;
@@ -915,7 +915,7 @@ http_seq_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_
current_node_id_p = parent_node_id_p;
}
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
diff --git a/epan/dissectors/packet-http2.c b/epan/dissectors/packet-http2.c
index 30d00f2513..1bcb7bb724 100644
--- a/epan/dissectors/packet-http2.c
+++ b/epan/dissectors/packet-http2.c
@@ -3369,14 +3369,14 @@ static void http2_stats_tree_init(stats_tree* st)
}
-static int http2_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
+static tap_packet_status http2_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const struct HTTP2Tap *pi = (const struct HTTP2Tap *)p;
tick_stat_node(st, st_str_http2, 0, FALSE);
stats_tree_tick_pivot(st, st_node_http2_type,
val_to_str(pi->type, http2_type_vals, "Unknown type (%d)"));
- return 1;
+ return TAP_PACKET_REDRAW;
}
void
diff --git a/epan/dissectors/packet-icmp.c b/epan/dissectors/packet-icmp.c
index 276a01be48..b0f1912f7e 100644
--- a/epan/dissectors/packet-icmp.c
+++ b/epan/dissectors/packet-icmp.c
@@ -437,14 +437,14 @@ static const value_string interface_role_str[] = {
/* whenever a ICMP packet is seen by the tap listener */
/* Add a new frame into the graph */
-static gboolean
+static tap_packet_status
icmp_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *dummy _U_)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
if (!sai)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
sai->frame_number = pinfo->num;
@@ -470,7 +470,7 @@ icmp_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_
g_queue_push_tail(sainfo->items, sai);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static conversation_t *_find_or_create_conversation(packet_info * pinfo)
diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c
index f7ac0290b9..55b6f22844 100644
--- a/epan/dissectors/packet-icmpv6.c
+++ b/epan/dissectors/packet-icmpv6.c
@@ -1339,14 +1339,14 @@ static const value_string ext_echo_reply_state_str[] = {
/* whenever a ICMPv6 packet is seen by the tap listener */
/* Add a new frame into the graph */
-static gboolean
+static tap_packet_status
icmpv6_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *dummy _U_)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
if (!sai)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
sai->frame_number = pinfo->num;
@@ -1372,7 +1372,7 @@ icmpv6_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _
g_queue_push_tail(sainfo->items, sai);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index 854847a5b4..c951bf0ba4 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -6288,7 +6288,7 @@ wlan_conv_get_filter_type(conv_item_t* conv, conv_filter_type_e filter)
static ct_dissector_info_t wlan_ct_dissector_info = {&wlan_conv_get_filter_type};
-static int
+static tap_packet_status
wlan_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -6296,7 +6296,7 @@ wlan_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &whdr->src, &whdr->dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &wlan_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char*
@@ -6310,7 +6310,7 @@ wlan_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
static hostlist_dissector_info_t wlan_host_dissector_info = {&wlan_host_get_filter_type};
-static int
+static tap_packet_status
wlan_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -6322,7 +6322,7 @@ wlan_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con
add_hostlist_table_data(hash, &whdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, &wlan_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &whdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &wlan_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char*
diff --git a/epan/dissectors/packet-imf.c b/epan/dissectors/packet-imf.c
index 3ed55dc8e7..c4fa78b13b 100644
--- a/epan/dissectors/packet-imf.c
+++ b/epan/dissectors/packet-imf.c
@@ -152,7 +152,7 @@ typedef struct _imf_eo_t {
gchar *payload_data;
} imf_eo_t;
-static gboolean
+static tap_packet_status
imf_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
export_object_list_t *object_list = (export_object_list_t *)tapdata;
@@ -182,9 +182,9 @@ imf_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const
object_list->add_entry(object_list->gui_data, entry);
- return TRUE; /* State changed - window should be redrawn */
+ return TAP_PACKET_REDRAW; /* State changed - window should be redrawn */
} else {
- return FALSE; /* State unchanged - no window updates needed */
+ return TAP_PACKET_DONT_REDRAW; /* State unchanged - no window updates needed */
}
}
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 3362284fdf..d8d5e37d27 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -506,7 +506,7 @@ static const char* ip_conv_get_filter_type(conv_item_t* conv, conv_filter_type_e
static ct_dissector_info_t ip_ct_dissector_info = {&ip_conv_get_filter_type};
-static int
+static tap_packet_status
ip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -514,7 +514,7 @@ ip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, c
add_conversation_table_data(hash, &iph->ip_src, &iph->ip_dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &ip_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* ip_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -527,7 +527,7 @@ static const char* ip_host_get_filter_type(hostlist_talker_t* host, conv_filter_
static hostlist_dissector_info_t ip_host_dissector_info = {&ip_host_get_filter_type};
-static int
+static tap_packet_status
ip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -538,7 +538,7 @@ ip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const
XXX - this could probably be done more efficiently inside hostlist_table */
add_hostlist_table_data(hash, &iph->ip_src, 0, TRUE, 1, pinfo->fd->pkt_len, &ip_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &iph->ip_dst, 0, FALSE, 1, pinfo->fd->pkt_len, &ip_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index e031ada19c..128955569f 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -426,7 +426,7 @@ static const char* ipv6_conv_get_filter_type(conv_item_t* conv, conv_filter_type
static ct_dissector_info_t ipv6_ct_dissector_info = {&ipv6_conv_get_filter_type};
-static int
+static tap_packet_status
ipv6_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -436,7 +436,7 @@ ipv6_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts,
&ipv6_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* ipv6_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -449,7 +449,7 @@ static const char* ipv6_host_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t ipv6_host_dissector_info = {&ipv6_host_get_filter_type};
-static int
+static tap_packet_status
ipv6_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -460,7 +460,7 @@ ipv6_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con
add_hostlist_table_data(hash, &ip6->ip6_dst, 0, FALSE, 1,
pinfo->fd->pkt_len, &ipv6_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c
index 13aee9abce..b352c1ca88 100644
--- a/epan/dissectors/packet-ipx.c
+++ b/epan/dissectors/packet-ipx.c
@@ -148,7 +148,7 @@ static const char* ipx_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t ipx_ct_dissector_info = {&ipx_conv_get_filter_type};
-static int
+static tap_packet_status
ipx_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -156,7 +156,7 @@ ipx_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &ipxh->ipx_src, &ipxh->ipx_dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &ipx_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* ipx_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -169,7 +169,7 @@ static const char* ipx_host_get_filter_type(hostlist_talker_t* host, conv_filter
static hostlist_dissector_info_t ipx_host_dissector_info = {&ipx_host_get_filter_type};
-static int
+static tap_packet_status
ipx_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -181,7 +181,7 @@ ipx_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_hostlist_table_data(hash, &ipxh->ipx_src, 0, TRUE, 1, pinfo->fd->pkt_len, &ipx_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &ipxh->ipx_dst, 0, FALSE, 1, pinfo->fd->pkt_len, &ipx_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* ================================================================= */
diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c
index 437e071745..d91c745e67 100644
--- a/epan/dissectors/packet-isup.c
+++ b/epan/dissectors/packet-isup.c
@@ -10424,7 +10424,7 @@ msg_stats_tree_init(stats_tree *st)
st_node_dir = stats_tree_create_node(st, "Messages by Direction", 0, STAT_DT_INT, TRUE);
}
-static int
+static tap_packet_status
msg_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p)
{
const gchar *msg = try_val_to_str_ext(((const isup_tap_rec_t*)p)->message_type, &isup_message_type_value_acro_ext);
@@ -10446,7 +10446,7 @@ msg_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U
wmem_free(NULL, dir);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*---------------------------------------------------------------------*/
diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c
index 0c39902ec7..67feda9a9b 100644
--- a/epan/dissectors/packet-jxta.c
+++ b/epan/dissectors/packet-jxta.c
@@ -183,7 +183,7 @@ static const char* jxta_conv_get_filter_type(conv_item_t* conv, conv_filter_type
static ct_dissector_info_t jxta_ct_dissector_info = {&jxta_conv_get_filter_type};
-static int
+static tap_packet_status
jxta_conversation_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -192,7 +192,7 @@ jxta_conversation_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt
add_conversation_table_data(hash, &jxtahdr->src_address, &jxtahdr->dest_address,
0, 0, 1, jxtahdr->size, NULL, NULL, &jxta_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* jxta_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -205,7 +205,7 @@ static const char* jxta_host_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t jxta_host_dissector_info = {&jxta_host_get_filter_type};
-static int
+static tap_packet_status
jxta_hostlist_packet(void *pit, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -216,7 +216,7 @@ jxta_hostlist_packet(void *pit, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
XXX - this could probably be done more efficiently inside hostlist_table */
add_hostlist_table_data(hash, &jxtahdr->src_address, 0, TRUE, 1, jxtahdr->size, &jxta_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &jxtahdr->dest_address, 0, FALSE, 1, jxtahdr->size, &jxta_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static int uri_to_str(const address* addr, gchar *buf, int buf_len)
diff --git a/epan/dissectors/packet-lbmc.c b/epan/dissectors/packet-lbmc.c
index 654b94369f..208a117dca 100644
--- a/epan/dissectors/packet-lbmc.c
+++ b/epan/dissectors/packet-lbmc.c
@@ -6062,7 +6062,7 @@ typedef struct
const gchar * description;
} lbm_uim_stream_info_t;
-static gboolean
+static tap_packet_status
lbm_uim_seq_analysis_packet(void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *uim_info)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
@@ -6078,7 +6078,7 @@ lbm_uim_seq_analysis_packet(void *ptr, packet_info *pinfo, epan_dissect_t *edt _
if (stream_info->endpoint_a.type != stream_info->endpoint_b.type)
{
- return TRUE;
+ return TAP_PACKET_DONT_REDRAW;
}
if (stream_info->endpoint_a.type == lbm_uim_instance_stream)
{
@@ -6187,7 +6187,7 @@ lbm_uim_seq_analysis_packet(void *ptr, packet_info *pinfo, epan_dissect_t *edt _
g_queue_push_tail(sainfo->items, sai);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-lbmr.c b/epan/dissectors/packet-lbmr.c
index 2898610a6d..f71b4183e0 100644
--- a/epan/dissectors/packet-lbmr.c
+++ b/epan/dissectors/packet-lbmr.c
@@ -2015,14 +2015,14 @@ static void lbmr_tag_free_cb(void * record)
}
}
-static gboolean lbmr_match_packet(packet_info * pinfo, const lbmr_tag_entry_t * entry)
+static tap_packet_status lbmr_match_packet(packet_info * pinfo, const lbmr_tag_entry_t * entry)
{
guint32 dest_addr_h;
guint32 src_addr_h;
if ((pinfo->dst.type != AT_IPv4) || (pinfo->dst.len != 4) ||
(pinfo->src.type != AT_IPv4) || (pinfo->src.len != 4))
- return (FALSE);
+ return (TAP_PACKET_DONT_REDRAW);
dest_addr_h = pntoh32(pinfo->dst.data);
src_addr_h = pntoh32(pinfo->src.data);
@@ -2032,21 +2032,21 @@ static gboolean lbmr_match_packet(packet_info * pinfo, const lbmr_tag_entry_t *
if ((dest_addr_h != entry->mc_incoming_address_val_h) && (dest_addr_h != entry->mc_outgoing_address_val_h))
{
/* No match. */
- return (FALSE);
+ return (TAP_PACKET_DONT_REDRAW);
}
/* Check for the correct port. */
if ((dest_addr_h == entry->mc_incoming_address_val_h) && (pinfo->destport != entry->mc_incoming_udp_port))
{
/* Wrong incoming port. */
- return (FALSE);
+ return (TAP_PACKET_DONT_REDRAW);
}
if ((dest_addr_h == entry->mc_outgoing_address_val_h) && (pinfo->destport != entry->mc_outgoing_udp_port))
{
/* Wrong outgoing port. */
- return (FALSE);
+ return (TAP_PACKET_DONT_REDRAW);
}
/* Must be one of ours. */
- return (TRUE);
+ return (TAP_PACKET_REDRAW);
}
else
{
@@ -2059,11 +2059,11 @@ static gboolean lbmr_match_packet(packet_info * pinfo, const lbmr_tag_entry_t *
|| ((pinfo->srcport <= entry->uc_port_high) && (pinfo->srcport >= entry->uc_port_low))))
{
/* One of ours, so handle it. */
- return (TRUE);
+ return (TAP_PACKET_REDRAW);
}
}
}
- return (FALSE);
+ return (TAP_PACKET_DONT_REDRAW);
}
static char * lbmr_tag_find(packet_info * pinfo)
@@ -2843,7 +2843,7 @@ static void lbmr_topic_ads_topic_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_ads_topic = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_ads_topic, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_ads_topic_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_ads_topic_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_topic_advertisement_tap_info_t * info = (const lbm_lbmr_topic_advertisement_tap_info_t *) data;
int topic_node;
@@ -2855,7 +2855,7 @@ static int lbmr_topic_ads_topic_stats_tree_packet(stats_tree * tree, packet_info
source_node = tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), topic_node, TRUE);
full_source_string = wmem_strdup_printf(wmem_packet_scope(), "%s[%" G_GUINT32_FORMAT "]", info->source, info->topic_index);
tick_stat_node(tree, full_source_string, source_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2870,7 +2870,7 @@ static void lbmr_topic_ads_source_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_ads_source = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_ads_source, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_ads_source_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_ads_source_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_topic_advertisement_tap_info_t * info = (const lbm_lbmr_topic_advertisement_tap_info_t *) data;
int source_node;
@@ -2882,7 +2882,7 @@ static int lbmr_topic_ads_source_stats_tree_packet(stats_tree * tree, packet_inf
topic_node = tick_stat_node(tree, info->topic, source_node, TRUE);
full_source_string = wmem_strdup_printf(wmem_packet_scope(), "%s[%" G_GUINT32_FORMAT "]", info->source, info->topic_index);
tick_stat_node(tree, full_source_string, topic_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2896,7 +2896,7 @@ static void lbmr_topic_ads_transport_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_ads_transport = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_ads_transport, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_ads_transport_stats_tree_packet(stats_tree * tree, packet_info * pinfo _U_, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_ads_transport_stats_tree_packet(stats_tree * tree, packet_info * pinfo _U_, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_topic_advertisement_tap_info_t * info = (const lbm_lbmr_topic_advertisement_tap_info_t *) data;
int transport_node;
@@ -2906,7 +2906,7 @@ static int lbmr_topic_ads_transport_stats_tree_packet(stats_tree * tree, packet_
transport_node = tick_stat_node(tree, info->source, lbmr_stats_tree_handle_topic_ads_transport, TRUE);
full_source_string = wmem_strdup_printf(wmem_packet_scope(), "%s [%" G_GUINT32_FORMAT "]", info->topic, info->topic_index);
tick_stat_node(tree, full_source_string, transport_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2920,7 +2920,7 @@ static void lbmr_topic_queries_topic_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_queries_topic = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_queries_topic, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_queries_topic_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_queries_topic_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_topic_query_tap_info_t * info = (const lbm_lbmr_topic_query_tap_info_t *) data;
int topic_node;
@@ -2928,7 +2928,7 @@ static int lbmr_topic_queries_topic_stats_tree_packet(stats_tree * tree, packet_
tick_stat_node(tree, lbmr_stat_tree_name_topic_queries_topic, 0, FALSE);
topic_node = tick_stat_node(tree, info->topic, lbmr_stats_tree_handle_topic_queries_topic, TRUE);
tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), topic_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2942,7 +2942,7 @@ static void lbmr_topic_queries_receiver_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_queries_receiver = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_queries_receiver, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_queries_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_queries_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_topic_query_tap_info_t * info = (const lbm_lbmr_topic_query_tap_info_t *) data;
int receiver_node;
@@ -2950,7 +2950,7 @@ static int lbmr_topic_queries_receiver_stats_tree_packet(stats_tree * tree, pack
tick_stat_node(tree, lbmr_stat_tree_name_topic_queries_receiver, 0, FALSE);
receiver_node = tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), lbmr_stats_tree_handle_topic_queries_receiver, TRUE);
tick_stat_node(tree, info->topic, receiver_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2964,7 +2964,7 @@ static void lbmr_topic_queries_pattern_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_topic_queries_pattern = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_queries_pattern, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_queries_pattern_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_queries_pattern_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_pattern_query_tap_info_t * info = (const lbm_lbmr_pattern_query_tap_info_t *) data;
int pattern_node;
@@ -2976,7 +2976,7 @@ static int lbmr_topic_queries_pattern_stats_tree_packet(stats_tree * tree, packe
val_to_str(info->type, lbm_wildcard_pattern_type_short, "UNKN[0x%02x]"));
pattern_node = tick_stat_node(tree, pattern_str, lbmr_stats_tree_handle_topic_queries_pattern, TRUE);
tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), pattern_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -2990,7 +2990,7 @@ static void lbmr_topic_queries_pattern_receiver_stats_tree_init(stats_tree * tre
lbmr_stats_tree_handle_topic_queries_pattern_receiver = stats_tree_create_node(tree, lbmr_stat_tree_name_topic_queries_pattern_receiver, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_topic_queries_pattern_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_topic_queries_pattern_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_pattern_query_tap_info_t * info = (const lbm_lbmr_pattern_query_tap_info_t *) data;
int receiver_node;
@@ -3002,7 +3002,7 @@ static int lbmr_topic_queries_pattern_receiver_stats_tree_packet(stats_tree * tr
info->pattern,
val_to_str(info->type, lbm_wildcard_pattern_type_short, "UNKN[0x%02x]"));
tick_stat_node(tree, pattern_str, receiver_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -3016,7 +3016,7 @@ static void lbmr_queue_ads_queue_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_queue_ads_queue = stats_tree_create_node(tree, lbmr_stat_tree_name_queue_ads_queue, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_queue_ads_queue_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_queue_ads_queue_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_queue_advertisement_tap_info_t * info = (const lbm_lbmr_queue_advertisement_tap_info_t *) data;
int queue_node;
@@ -3026,7 +3026,7 @@ static int lbmr_queue_ads_queue_stats_tree_packet(stats_tree * tree, packet_info
queue_node = tick_stat_node(tree, info->queue, lbmr_stats_tree_handle_queue_ads_queue, TRUE);
str = wmem_strdup_printf(wmem_packet_scope(), "%s:%" G_GUINT16_FORMAT, address_to_str(wmem_packet_scope(), &pinfo->net_src), info->port);
tick_stat_node(tree, str, queue_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -3040,7 +3040,7 @@ static void lbmr_queue_ads_source_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_queue_ads_source = stats_tree_create_node(tree, lbmr_stat_tree_name_queue_ads_source, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_queue_ads_source_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_queue_ads_source_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_queue_advertisement_tap_info_t * info = (const lbm_lbmr_queue_advertisement_tap_info_t *) data;
int source_node;
@@ -3050,7 +3050,7 @@ static int lbmr_queue_ads_source_stats_tree_packet(stats_tree * tree, packet_inf
source_node = tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), lbmr_stats_tree_handle_queue_ads_source, TRUE);
str = wmem_strdup_printf(wmem_packet_scope(), "%s:%" G_GUINT16_FORMAT, info->queue, info->port);
tick_stat_node(tree, str, source_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -3064,7 +3064,7 @@ static void lbmr_queue_queries_queue_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_queue_queries_queue = stats_tree_create_node(tree, lbmr_stat_tree_name_queue_queries_queue, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_queue_queries_queue_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_queue_queries_queue_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_queue_query_tap_info_t * info = (const lbm_lbmr_queue_query_tap_info_t *) data;
int queue_node = 0;
@@ -3072,7 +3072,7 @@ static int lbmr_queue_queries_queue_stats_tree_packet(stats_tree * tree, packet_
tick_stat_node(tree, lbmr_stat_tree_name_queue_queries_queue, 0, FALSE);
queue_node = tick_stat_node(tree, info->queue, lbmr_stats_tree_handle_queue_queries_queue, TRUE);
tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), queue_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
@@ -3086,7 +3086,7 @@ static void lbmr_queue_queries_receiver_stats_tree_init(stats_tree * tree)
lbmr_stats_tree_handle_queue_queries_receiver = stats_tree_create_node(tree, lbmr_stat_tree_name_queue_queries_receiver, 0, STAT_DT_INT, TRUE);
}
-static int lbmr_queue_queries_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
+static tap_packet_status lbmr_queue_queries_receiver_stats_tree_packet(stats_tree * tree, packet_info * pinfo, epan_dissect_t * edt _U_, const void * data)
{
const lbm_lbmr_queue_query_tap_info_t * info = (const lbm_lbmr_queue_query_tap_info_t *) data;
int receiver_node;
@@ -3094,7 +3094,7 @@ static int lbmr_queue_queries_receiver_stats_tree_packet(stats_tree * tree, pack
tick_stat_node(tree, lbmr_stat_tree_name_queue_queries_receiver, 0, FALSE);
receiver_node = tick_stat_node(tree, address_to_str(wmem_packet_scope(), &pinfo->net_src), lbmr_stats_tree_handle_queue_queries_receiver, TRUE);
tick_stat_node(tree, info->queue, receiver_node, TRUE);
- return (1);
+ return (TAP_PACKET_REDRAW);
}
/*----------------------------------------------------------------------------*/
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c
index d7105914a9..5ae1b937a4 100644
--- a/epan/dissectors/packet-ldap.c
+++ b/epan/dissectors/packet-ldap.c
@@ -516,7 +516,7 @@ ldapstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi)
{
guint i = 0;
@@ -526,11 +526,11 @@ ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const
/* we are only interested in reply packets */
if(ldap->is_request){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we havnt seen the request, just ignore it */
if(!ldap->req_frame){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* only use the commands we know how to handle */
@@ -545,13 +545,13 @@ ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const
case LDAP_REQ_EXTENDED:
break;
default:
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
ldap_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(ldap_srt_table, ldap->protocolOpTag, &ldap->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
diff --git a/epan/dissectors/packet-megaco.c b/epan/dissectors/packet-megaco.c
index 521660dbaa..7cfaf6bf75 100644
--- a/epan/dissectors/packet-megaco.c
+++ b/epan/dissectors/packet-megaco.c
@@ -329,14 +329,14 @@ megacostat_filtercheck(const char *opt_arg _U_, const char **filter _U_, char**
}
}
-static int
+static tap_packet_status
megacostat_packet(void *pms, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pmi)
{
rtd_data_t* rtd_data = (rtd_data_t*)pms;
rtd_stat_table* ms = &rtd_data->stat_table;
const gcp_cmd_t *mi=(const gcp_cmd_t*)pmi;
nstime_t delta;
- int ret = 0;
+ tap_packet_status ret = TAP_PACKET_DONT_REDRAW;
switch (mi->type) {
@@ -344,7 +344,7 @@ megacostat_packet(void *pms, packet_info *pinfo, epan_dissect_t *edt _U_, const
if(!mi->trx->initial) {
/* Track Context is probably disabled, we cannot
* measure service response time */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
else if(mi->trx->initial->framenum != mi->msg->framenum){
@@ -407,7 +407,7 @@ megacostat_packet(void *pms, packet_info *pinfo, epan_dissect_t *edt _U_, const
}
time_stat_update(&(ms->time_stats[0].rtd[10]),&delta, pinfo);
- ret = 1;
+ ret = TAP_PACKET_REDRAW;
}
break;
diff --git a/epan/dissectors/packet-mgcp.c b/epan/dissectors/packet-mgcp.c
index 2d7b601120..77ecd0188a 100644
--- a/epan/dissectors/packet-mgcp.c
+++ b/epan/dissectors/packet-mgcp.c
@@ -321,14 +321,14 @@ static const value_string mgcp_mesage_type[] = {
{ 0, NULL}
};
-static int
+static tap_packet_status
mgcpstat_packet(void *pms, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pmi)
{
rtd_data_t* rtd_data = (rtd_data_t*)pms;
rtd_stat_table* ms = &rtd_data->stat_table;
const mgcp_info_t *mi = (const mgcp_info_t *)pmi;
nstime_t delta;
- int ret = 0;
+ tap_packet_status ret = TAP_PACKET_DONT_REDRAW;
switch (mi->mgcp_type) {
@@ -389,7 +389,7 @@ mgcpstat_packet(void *pms, packet_info *pinfo, epan_dissect_t *edt _U_, const vo
time_stat_update(&(ms->time_stats[0].rtd[10]), &delta, pinfo);
}
- ret = 1;
+ ret = TAP_PACKET_REDRAW;
}
break;
diff --git a/epan/dissectors/packet-mtp3.c b/epan/dissectors/packet-mtp3.c
index 390aa12ae1..8f69a98d6d 100644
--- a/epan/dissectors/packet-mtp3.c
+++ b/epan/dissectors/packet-mtp3.c
@@ -833,7 +833,7 @@ static void mtp3_stat_init(stat_tap_table_ui* new_stat)
stat_tap_add_table(new_stat, table);
}
-static gboolean
+static tap_packet_status
mtp3_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *m3tr_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -852,7 +852,7 @@ mtp3_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
* we thought this si_code was not used ?
* is MTP3_NUM_SI_CODE out of date ?
*/
- return(FALSE);
+ return TAP_PACKET_DONT_REDRAW;
}
/*
@@ -941,7 +941,7 @@ mtp3_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
item_data->value.float_value = avg_bytes;
stat_tap_set_field_data(table, element, AVG_BYTES_COLUMN, item_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-ncp.c b/epan/dissectors/packet-ncp.c
index 9f34b6562d..ff7789ba23 100644
--- a/epan/dissectors/packet-ncp.c
+++ b/epan/dissectors/packet-ncp.c
@@ -439,7 +439,7 @@ ncpstat_init(struct register_srt* srt _U_, GArray* srt_array)
init_srt_table("Subfunctions for NCP 131", "131", srt_array, NCP_NUM_PROCEDURES, NULL, "ncp.func==131 && ncp.subfunc", NULL);
}
-static int
+static tap_packet_status
ncpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -450,7 +450,7 @@ ncpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
/* if we haven't seen the request, just ignore it */
if(!request_val || request_val->ncp_rec==0){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* By Group */
@@ -609,7 +609,7 @@ ncpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
add_srt_table_data(ncp_srt_table, (request_val->req_nds_flags), &request_val->req_frame_time, pinfo);
wmem_free(NULL, tmp_str);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
@@ -717,7 +717,7 @@ static const char* ncp_conv_get_filter_type(conv_item_t* conv _U_, conv_filter_t
static ct_dissector_info_t ncp_ct_dissector_info = {&ncp_conv_get_filter_type};
-static int
+static tap_packet_status
ncp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -729,7 +729,7 @@ ncp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &pinfo->src, &pinfo->dst, connection, connection, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &ncp_ct_dissector_info, ENDPOINT_NCP);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* ncp_host_get_filter_type(hostlist_talker_t* host _U_, conv_filter_type_e filter)
@@ -739,7 +739,7 @@ static const char* ncp_host_get_filter_type(hostlist_talker_t* host _U_, conv_fi
static hostlist_dissector_info_t ncp_host_dissector_info = {&ncp_host_get_filter_type};
-static int
+static tap_packet_status
ncp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip _U_)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -751,7 +751,7 @@ ncp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_hostlist_table_data(hash, &pinfo->src, 0, TRUE, 1, pinfo->fd->pkt_len, &ncp_host_dissector_info, ENDPOINT_NCP);
add_hostlist_table_data(hash, &pinfo->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &ncp_host_dissector_info, ENDPOINT_NCP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c
index 5f11f14d31..432c513096 100644
--- a/epan/dissectors/packet-radius.c
+++ b/epan/dissectors/packet-radius.c
@@ -305,7 +305,7 @@ static const value_string radius_message_code[] = {
{ 0, NULL}
};
-static int
+static tap_packet_status
radiusstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pri)
{
rtd_data_t *rtd_data = (rtd_data_t *)prs;
@@ -313,7 +313,7 @@ radiusstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt _U_, const
const radius_info_t *ri = (const radius_info_t *)pri;
nstime_t delta;
radius_category radius_cat = RADIUS_CAT_OTHERS;
- int ret = 0;
+ tap_packet_status ret = TAP_PACKET_DONT_REDRAW;
switch (ri->code) {
case RADIUS_PKT_TYPE_ACCESS_REQUEST:
@@ -403,7 +403,7 @@ radiusstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt _U_, const
time_stat_update(&(rs->time_stats[RADIUS_CAT_OVERALL].rtd[0]),&delta, pinfo);
time_stat_update(&(rs->time_stats[radius_cat].rtd[0]),&delta, pinfo);
- ret = 1;
+ ret = TAP_PACKET_REDRAW;
}
break;
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index fcdf530ec8..bcb62a4327 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -365,7 +365,7 @@ rpcstat_init(struct register_srt* srt, GArray* srt_array)
}
}
-static int
+static tap_packet_status
rpcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -379,19 +379,19 @@ rpcstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
if ((int)ri->proc >= rpc_srt_table->num_procs) {
/* don't handle this since its outside of known table */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* we are only interested in reply packets */
if (ri->request) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* we are only interested in certain program/versions */
if ( (ri->prog != tap_data->program) || (ri->vers != tap_data->version) ) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
add_srt_table_data(rpc_srt_table, ri->proc, &ri->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
@@ -3922,7 +3922,7 @@ static void rpc_prog_stat_init(stat_tap_table_ui* new_stat)
}
-static gboolean
+static tap_packet_status
rpc_prog_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *rciv_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -3971,7 +3971,7 @@ rpc_prog_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
/* we are only interested in reply packets */
if (ri->request) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
item_data = stat_tap_get_field_data(table, element, CALLS_COLUMN);
@@ -4000,7 +4000,7 @@ rpc_prog_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt
item_data->value.float_value = item_data->user_data.float_value / call_count;
stat_tap_set_field_data(table, element, AVG_SRT_COLUMN, item_data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c
index bb5c899f09..754936d044 100644
--- a/epan/dissectors/packet-rsvp.c
+++ b/epan/dissectors/packet-rsvp.c
@@ -2111,7 +2111,7 @@ static const char* rsvp_conv_get_filter_type(conv_item_t* conv, conv_filter_type
static ct_dissector_info_t rsvp_ct_dissector_info = {&rsvp_conv_get_filter_type};
-static int
+static tap_packet_status
rsvp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -2120,7 +2120,7 @@ rsvp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &rsvph->source, &rsvph->destination,
0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &rsvp_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* rsvp_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -2133,7 +2133,7 @@ static const char* rsvp_host_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t rsvp_host_dissector_info = {&rsvp_host_get_filter_type};
-static int
+static tap_packet_status
rsvp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -2146,7 +2146,7 @@ rsvp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con
*/
add_hostlist_table_data(hash, &rsvph->source, 0, TRUE, 1, pinfo->fd->pkt_len, &rsvp_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &rsvph->destination, 0, FALSE, 1, pinfo->fd->pkt_len, &rsvp_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static inline int
diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c
index eb91ae9f66..dc16c3c3fd 100644
--- a/epan/dissectors/packet-rtsp.c
+++ b/epan/dissectors/packet-rtsp.c
@@ -181,7 +181,7 @@ rtsp_stats_tree_init(stats_tree* st)
}
/* RTSP/Packet Counter stats packet function */
-static int
+static tap_packet_status
rtsp_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const rtsp_info_value_t *v = (const rtsp_info_value_t *)p;
@@ -225,7 +225,7 @@ rtsp_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* e
tick_stat_node(st, st_str_other, st_node_packets, FALSE);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
void proto_reg_handoff_rtsp(void);
diff --git a/epan/dissectors/packet-sametime.c b/epan/dissectors/packet-sametime.c
index 39e93edd12..0cd20ca01b 100644
--- a/epan/dissectors/packet-sametime.c
+++ b/epan/dissectors/packet-sametime.c
@@ -615,7 +615,7 @@ dissect_sametime_content(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
/*
tick statistics
*/
-static int
+static tap_packet_status
sametime_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
{
const struct SametimeTap *pi = (const struct SametimeTap *)p;
@@ -630,7 +630,7 @@ sametime_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_
if (pi->user_status != -1)
stats_tree_tick_pivot(st, st_node_user_status, val_to_str(pi->user_status, userstatusnames, "Unknown (0x%04x)"));
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/epan/dissectors/packet-scsi.c b/epan/dissectors/packet-scsi.c
index f7b793cf13..910d80fd9b 100644
--- a/epan/dissectors/packet-scsi.c
+++ b/epan/dissectors/packet-scsi.c
@@ -964,7 +964,7 @@ scsistat_init(struct register_srt* srt, GArray* srt_array)
}
}
-static int
+static tap_packet_status
scsistat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -978,19 +978,19 @@ scsistat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const vo
/* we are only interested in response packets */
if (ri->type != SCSI_PDU_TYPE_RSP) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* we are only interested in a specific commandset */
if ( (!ri->itl) || ((ri->itl->cmdset&SCSI_CMDSET_MASK) != tap_data->cmdset) ) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* check that the opcode looks sane */
if ( (!ri->itlq) || (ri->itlq->scsi_opcode > 255) ) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
add_srt_table_data(scsi_srt_table, ri->itlq->scsi_opcode, &ri->itlq->fc_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
guint
diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c
index fbf9b00629..e09e04304b 100644
--- a/epan/dissectors/packet-sctp.c
+++ b/epan/dissectors/packet-sctp.c
@@ -843,7 +843,7 @@ static const char* sctp_conv_get_filter_type(conv_item_t* conv, conv_filter_type
static ct_dissector_info_t sctp_ct_dissector_info = {&sctp_conv_get_filter_type};
-static int
+static tap_packet_status
sctp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -853,7 +853,7 @@ sctp_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
sctphdr->sport, sctphdr->dport, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &sctp_ct_dissector_info, ENDPOINT_SCTP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* sctp_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -897,7 +897,7 @@ static const char* sctp_host_get_filter_type(hostlist_talker_t* host, conv_filte
static hostlist_dissector_info_t sctp_host_dissector_info = {&sctp_host_get_filter_type};
-static int
+static tap_packet_status
sctp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -909,7 +909,7 @@ sctp_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con
add_hostlist_table_data(hash, &sctphdr->ip_src, sctphdr->sport, TRUE, 1, pinfo->fd->pkt_len, &sctp_host_dissector_info, ENDPOINT_SCTP);
add_hostlist_table_data(hash, &sctphdr->ip_dst, sctphdr->dport, FALSE, 1, pinfo->fd->pkt_len, &sctp_host_dissector_info, ENDPOINT_SCTP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static unsigned int
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index 7d1ec19f53..7276b09f05 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -5774,7 +5774,7 @@ static void sip_stat_init(stat_tap_table_ui* new_stat)
}
}
-static gboolean
+static tap_packet_status
sip_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *siv_ptr)
{
stat_data_t* stat_data = (stat_data_t*) tapdata;
@@ -5820,7 +5820,7 @@ sip_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
}
} else {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
if (cur_table) {
@@ -5867,7 +5867,7 @@ sip_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
}
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/epan/dissectors/packet-sll.c b/epan/dissectors/packet-sll.c
index d4f0feb206..4140e1ec95 100644
--- a/epan/dissectors/packet-sll.c
+++ b/epan/dissectors/packet-sll.c
@@ -175,7 +175,7 @@ static const char* sll_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t sll_ct_dissector_info = {&sll_conv_get_filter_type};
static address no_dst = {AT_NONE, 0, NULL, NULL};
-static int
+static tap_packet_status
sll_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -183,7 +183,7 @@ sll_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_,
add_conversation_table_data(hash, &tap_data->src_address, &no_dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &sll_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* sll_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -205,7 +205,7 @@ static const char* sll_host_get_filter_type(hostlist_talker_t* host, conv_filter
static hostlist_dissector_info_t sll_host_dissector_info = {&sll_host_get_filter_type};
-static int
+static tap_packet_status
sll_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -213,7 +213,7 @@ sll_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_hostlist_table_data(hash, &tap_data->src_address, 0, TRUE, 1, pinfo->fd->pkt_len, &sll_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-smb-sidsnooping.c b/epan/dissectors/packet-smb-sidsnooping.c
index a052d1bd77..99e4af1bbe 100644
--- a/epan/dissectors/packet-smb-sidsnooping.c
+++ b/epan/dissectors/packet-smb-sidsnooping.c
@@ -67,7 +67,7 @@ add_sid_name_mapping(const char *sid, const char *name)
* QueryDispInfo :
* level 1 : user displayinfo 1
*/
-static int
+static tap_packet_status
samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, const void *pri)
{
const dcerpc_info *ri=(const dcerpc_info *)pri;
@@ -88,25 +88,25 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
gp=proto_get_finfo_ptr_array(edt->tree, hf_samr_level);
if(!gp || gp->len!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fi=(field_info *)gp->pdata[0];
info_level=fi->value.value.sinteger;
if(info_level!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(!ri){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(!ri->call_data){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(ri->ptype == PDU_REQ){
gp=proto_get_finfo_ptr_array(edt->tree, hf_samr_hnd);
if(!gp || gp->len!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fi=(field_info *)gp->pdata[0];
@@ -119,28 +119,28 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
}
g_hash_table_insert(ctx_handle_table, GINT_TO_POINTER(pinfo->num), old_ctx);
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if(!ri->call_data->req_frame){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
old_ctx=g_hash_table_lookup(ctx_handle_table, GINT_TO_POINTER(ri->call_data->req_frame));
if(!old_ctx){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if (!dcerpc_fetch_polhnd_data((e_ctx_hnd *)old_ctx, &pol_name, NULL, NULL, NULL, ri->call_data->req_frame)) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if (!pol_name)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
sid=strstr(pol_name,"S-1-5");
if(!sid){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
for(sid_len=4;1;sid_len++){
@@ -155,12 +155,12 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
gp_rids=proto_get_finfo_ptr_array(edt->tree, hf_samr_rid);
if(!gp_rids || gp_rids->len<1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
num_rids=gp_rids->len;
gp_names=proto_get_finfo_ptr_array(edt->tree, hf_samr_acct_name);
if(!gp_names || gp_names->len<1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
num_names=gp_names->len;
@@ -180,7 +180,7 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
g_snprintf(sid_name_str+len, 256-len, "%d",fi_rid->value.value.sinteger);
add_sid_name_mapping(sid_name_str, fi_name->value.value.string);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
@@ -189,7 +189,7 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
* level 5 : ACCOUNT_DOMAIN_INFO lsa.domain_sid -> lsa.domain
* level 12 : DNS_DOMAIN_INFO lsa.domain_sid -> lsa.domain
*/
-static int
+static tap_packet_status
lsa_policy_information(void *dummy _U_, packet_info *pinfo _U_, epan_dissect_t *edt, const void *pri _U_)
{
GPtrArray *gp;
@@ -200,7 +200,7 @@ lsa_policy_information(void *dummy _U_, packet_info *pinfo _U_, epan_dissect_t *
gp=proto_get_finfo_ptr_array(edt->tree, hf_lsa_info_level);
if(!gp || gp->len!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fi=(field_info *)gp->pdata[0];
info_level=fi->value.value.sinteger;
@@ -211,14 +211,14 @@ lsa_policy_information(void *dummy _U_, packet_info *pinfo _U_, epan_dissect_t *
case 12:
gp=proto_get_finfo_ptr_array(edt->tree, hf_lsa_domain);
if(!gp || gp->len!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fi=(field_info *)gp->pdata[0];
domain=fi->value.value.string;
gp=proto_get_finfo_ptr_array(edt->tree, hf_nt_domain_sid);
if(!gp || gp->len!=1){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
fi=(field_info *)gp->pdata[0];
sid=fi->value.value.string;
@@ -226,7 +226,7 @@ lsa_policy_information(void *dummy _U_, packet_info *pinfo _U_, epan_dissect_t *
add_sid_name_mapping(sid, domain);
break;
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c
index b86f90229e..523f83b8ca 100644
--- a/epan/dissectors/packet-smb.c
+++ b/epan/dissectors/packet-smb.c
@@ -923,7 +923,7 @@ smbstat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
smbstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -933,11 +933,11 @@ smbstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
/* we are only interested in reply packets */
if (si->request) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we havnt seen the request, just ignore it */
if (!si->sip) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if (si->cmd == 0xA0 && si->sip->extra_info_type == SMB_EI_NTI) {
@@ -964,7 +964,7 @@ smbstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
add_srt_table_data(smb_srt_table, si->cmd, &si->sip->req_time, pinfo);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
@@ -1216,7 +1216,7 @@ find_incoming_file(GSList *GSL_active_files_p, active_file *incoming_file)
return row;
}
-static gboolean
+static tap_packet_status
smb_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
export_object_list_t *object_list = (export_object_list_t *)tapdata;
@@ -1357,7 +1357,7 @@ smb_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const
}
}
- return TRUE; /* State changed - window should be redrawn */
+ return TAP_PACKET_REDRAW; /* State changed - window should be redrawn */
}
/* This is the eo_reset_cb function that is used in the export_object module
diff --git a/epan/dissectors/packet-smb2.c b/epan/dissectors/packet-smb2.c
index b4e0c6453d..f3c1747c84 100644
--- a/epan/dissectors/packet-smb2.c
+++ b/epan/dissectors/packet-smb2.c
@@ -831,7 +831,7 @@ smb2stat_init(struct register_srt* srt _U_, GArray* srt_array)
}
}
-static int
+static tap_packet_status
smb2stat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
{
guint i = 0;
@@ -841,16 +841,16 @@ smb2stat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const vo
/* we are only interested in response packets */
if(!(si->flags&SMB2_FLAGS_RESPONSE)){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* We should not include cancel and oplock break requests either */
if (si->opcode == SMB2_COM_CANCEL || si->opcode == SMB2_COM_BREAK) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* if we haven't seen the request, just ignore it */
if(!si->saved){
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* SMB2 SRT can be very inaccurate in the presence of retransmissions. Retransmitted responses
@@ -860,11 +860,11 @@ smb2stat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const vo
* for the last received response accomplishes this goal without requiring the TCP pref
* "Do not call subdissectors for error packets" to be set. */
if ((si->saved->frame_req == 0) || (si->saved->frame_res != pinfo->num))
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
smb2_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
add_srt_table_data(smb2_srt_table, si->opcode, &si->saved->req_time, pinfo);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Structure for SessionID <=> SessionKey mapping for decryption. */
diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c
index 90697c8b18..c73a6396e2 100644
--- a/epan/dissectors/packet-smpp.c
+++ b/epan/dissectors/packet-smpp.c
@@ -1120,7 +1120,7 @@ smpp_stats_tree_init(stats_tree* st)
}
-static int
+static tap_packet_status
smpp_stats_tree_per_packet(stats_tree *st, /* st as it was passed to us */
packet_info *pinfo _U_,
epan_dissect_t *edt _U_,
@@ -1145,7 +1145,7 @@ smpp_stats_tree_per_packet(stats_tree *st, /* st as it was passed to us */
tick_stat_node(st, val_to_str(tap_rec->command_id, vals_command_id, "Unknown 0x%08x"), st_smpp_req, FALSE);
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*!
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
index 6c08f7e8d3..36e2cce2e2 100644
--- a/epan/dissectors/packet-tcp.c
+++ b/epan/dissectors/packet-tcp.c
@@ -745,7 +745,7 @@ static const char* tcp_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t tcp_ct_dissector_info = {&tcp_conv_get_filter_type};
-static int
+static tap_packet_status
tcpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -754,10 +754,10 @@ tcpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_
add_conversation_table_data_with_conv_id(hash, &tcphdr->ip_src, &tcphdr->ip_dst, tcphdr->th_sport, tcphdr->th_dport, (conv_id_t) tcphdr->th_stream, 1, pinfo->fd->pkt_len,
&pinfo->rel_ts, &pinfo->abs_ts, &tcp_ct_dissector_info, ENDPOINT_TCP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int
+static tap_packet_status
mptcpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -768,7 +768,7 @@ mptcpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _
meta->sport, meta->dport, (conv_id_t) tcpd->mptcp_analysis->stream, 1, pinfo->fd->pkt_len,
&pinfo->rel_ts, &pinfo->abs_ts, &tcp_ct_dissector_info, ENDPOINT_TCP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* tcp_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -812,7 +812,7 @@ static const char* tcp_host_get_filter_type(hostlist_talker_t* host, conv_filter
static hostlist_dissector_info_t tcp_host_dissector_info = {&tcp_host_get_filter_type};
-static int
+static tap_packet_status
tcpip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -824,7 +824,7 @@ tcpip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, co
add_hostlist_table_data(hash, &tcphdr->ip_src, tcphdr->th_sport, TRUE, 1, pinfo->fd->pkt_len, &tcp_host_dissector_info, ENDPOINT_TCP);
add_hostlist_table_data(hash, &tcphdr->ip_dst, tcphdr->th_dport, FALSE, 1, pinfo->fd->pkt_len, &tcp_host_dissector_info, ENDPOINT_TCP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
@@ -858,7 +858,7 @@ tcp_build_filter(packet_info *pinfo)
/****************************************************************************/
/* whenever a TCP packet is seen by the tap listener */
/* Add a new tcp frame into the graph */
-static gboolean
+static tap_packet_status
tcp_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *tcp_info)
{
seq_analysis_info_t *sainfo = (seq_analysis_info_t *) ptr;
@@ -867,7 +867,7 @@ tcp_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_,
seq_analysis_item_t *sai = sequence_analysis_create_sai_with_addresses(pinfo, sainfo);
if (!sai)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
sai->frame_number = pinfo->num;
@@ -896,7 +896,7 @@ tcp_seq_analysis_packet( void *ptr, packet_info *pinfo, epan_dissect_t *edt _U_,
g_queue_push_tail(sainfo->items, sai);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
@@ -1071,7 +1071,7 @@ check_follow_fragments(follow_info_t *follow_info, gboolean is_server, guint32 a
return FALSE;
}
-static gboolean
+static tap_packet_status
follow_tcp_tap_listener(void *tapdata, packet_info *pinfo,
epan_dissect_t *edt _U_, const void *data)
{
@@ -1138,7 +1138,7 @@ follow_tcp_tap_listener(void *tapdata, packet_info *pinfo,
* because it was fully overlapping with previously received data).
*/
if (data_length == 0 || LT_SEQ(sequence, follow_info->seq[is_server])) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
follow_record = g_new0(follow_record_t, 1);
@@ -1161,7 +1161,7 @@ follow_tcp_tap_listener(void *tapdata, packet_info *pinfo,
/* Out of order packet (more preceding segments are expected). */
follow_info->fragments[is_server] = g_list_append(follow_info->fragments[is_server], follow_record);
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
#define EXP_PDU_TCP_INFO_DATA_LEN 19
diff --git a/epan/dissectors/packet-tftp.c b/epan/dissectors/packet-tftp.c
index 852d33653e..61388fd643 100644
--- a/epan/dissectors/packet-tftp.c
+++ b/epan/dissectors/packet-tftp.c
@@ -157,7 +157,7 @@ typedef struct _tftp_eo_t {
} tftp_eo_t;
/* Tap function */
-static gboolean
+static tap_packet_status
tftp_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
export_object_list_t *object_list = (export_object_list_t *)tapdata;
@@ -202,7 +202,7 @@ tftp_eo_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const
/* Pass out entry to the GUI */
object_list->add_entry(object_list->gui_data, entry);
- return TRUE; /* State changed - window should be redrawn */
+ return TAP_PACKET_REDRAW; /* State changed - window should be redrawn */
}
/* Clean up the stored parts of a single tapped entry */
diff --git a/epan/dissectors/packet-tls.c b/epan/dissectors/packet-tls.c
index b457c361f9..ae71fac802 100644
--- a/epan/dissectors/packet-tls.c
+++ b/epan/dissectors/packet-tls.c
@@ -393,7 +393,7 @@ ssl_parse_old_keys(void)
#endif /* HAVE_LIBGNUTLS */
-static gboolean
+static tap_packet_status
ssl_follow_tap_listener(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *ssl)
{
follow_info_t * follow_info = (follow_info_t*) tapdata;
@@ -403,7 +403,7 @@ ssl_follow_tap_listener(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _
show_stream_t from = FROM_CLIENT;
/* Skip packets without decrypted payload data. */
- if (!pi || !pi->records) return FALSE;
+ if (!pi || !pi->records) return TAP_PACKET_DONT_REDRAW;
/* Compute the packet's sender. */
if (follow_info->client_port == 0) {
@@ -455,7 +455,7 @@ ssl_follow_tap_listener(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _
follow_info->bytes_written[from] += appl_data->data_len;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/*********************************************************************
diff --git a/epan/dissectors/packet-tr.c b/epan/dissectors/packet-tr.c
index ff758bda81..72cd30d086 100644
--- a/epan/dissectors/packet-tr.c
+++ b/epan/dissectors/packet-tr.c
@@ -136,7 +136,7 @@ static const char* tr_conv_get_filter_type(conv_item_t* conv, conv_filter_type_e
static ct_dissector_info_t tr_ct_dissector_info = {&tr_conv_get_filter_type};
-static int
+static tap_packet_status
tr_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -144,7 +144,7 @@ tr_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, c
add_conversation_table_data(hash, &trhdr->src, &trhdr->dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &tr_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* tr_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -157,7 +157,7 @@ static const char* tr_host_get_filter_type(hostlist_talker_t* host, conv_filter_
static hostlist_dissector_info_t tr_host_dissector_info = {&tr_host_get_filter_type};
-static int
+static tap_packet_status
tr_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -169,7 +169,7 @@ tr_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const
add_hostlist_table_data(hash, &trhdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, &tr_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &trhdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &tr_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*
diff --git a/epan/dissectors/packet-ucp.c b/epan/dissectors/packet-ucp.c
index 752e6ee468..38b22606f8 100644
--- a/epan/dissectors/packet-ucp.c
+++ b/epan/dissectors/packet-ucp.c
@@ -665,7 +665,7 @@ ucp_stats_tree_init(stats_tree* st)
st_ucp_results_neg = stats_tree_create_node(st, st_str_neg, st_ucp_results, STAT_DT_INT, TRUE);
}
-static int
+static tap_packet_status
ucp_stats_tree_per_packet(stats_tree *st, /* st as it was passed to us */
packet_info *pinfo _U_,
epan_dissect_t *edt _U_,
@@ -701,7 +701,7 @@ ucp_stats_tree_per_packet(stats_tree *st, /* st as it was passed to us */
}
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
/*!
diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c
index a475865530..bc7bb111f5 100644
--- a/epan/dissectors/packet-udp.c
+++ b/epan/dissectors/packet-udp.c
@@ -328,7 +328,7 @@ static const char* udp_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t udp_ct_dissector_info = {&udp_conv_get_filter_type};
-static int
+static tap_packet_status
udpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pct;
@@ -336,7 +336,7 @@ udpip_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_
add_conversation_table_data_with_conv_id(hash, &udphdr->ip_src, &udphdr->ip_dst, udphdr->uh_sport, udphdr->uh_dport, (conv_id_t) udphdr->uh_stream, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &udp_ct_dissector_info, ENDPOINT_UDP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* udp_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -382,7 +382,7 @@ static const char* udp_host_get_filter_type(hostlist_talker_t* host, conv_filter
static hostlist_dissector_info_t udp_host_dissector_info = {&udp_host_get_filter_type};
-static int
+static tap_packet_status
udpip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -394,7 +394,7 @@ udpip_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, co
add_hostlist_table_data(hash, &udphdr->ip_src, udphdr->uh_sport, TRUE, 1, pinfo->fd->pkt_len, &udp_host_dissector_info, ENDPOINT_UDP);
add_hostlist_table_data(hash, &udphdr->ip_dst, udphdr->uh_dport, FALSE, 1, pinfo->fd->pkt_len, &udp_host_dissector_info, ENDPOINT_UDP);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static gboolean
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index 4a8cb4a5e0..dcd82a09e9 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -1769,13 +1769,13 @@ static const char* usb_conv_get_filter_type(conv_item_t* conv, conv_filter_type_
static ct_dissector_info_t usb_ct_dissector_info = {&usb_conv_get_filter_type};
-static int
+static tap_packet_status
usb_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip _U_)
{
conv_hash_t *hash = (conv_hash_t*) pct;
add_conversation_table_data(hash, &pinfo->src, &pinfo->dst, 0, 0, 1, pinfo->fd->pkt_len, &pinfo->rel_ts, &pinfo->abs_ts, &usb_ct_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
static const char* usb_host_get_filter_type(hostlist_talker_t* host, conv_filter_type_e filter)
@@ -1794,7 +1794,7 @@ usb_col_filter_str(const address* addr _U_, gboolean is_src)
static hostlist_dissector_info_t usb_host_dissector_info = {&usb_host_get_filter_type};
-static int
+static tap_packet_status
usb_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip _U_)
{
conv_hash_t *hash = (conv_hash_t*) pit;
@@ -1805,7 +1805,7 @@ usb_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, cons
add_hostlist_table_data(hash, &pinfo->src, 0, TRUE, 1, pinfo->fd->pkt_len, &usb_host_dissector_info, ENDPOINT_NONE);
add_hostlist_table_data(hash, &pinfo->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &usb_host_dissector_info, ENDPOINT_NONE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* SETUP dissectors */
diff --git a/epan/dissectors/packet-wsp.c b/epan/dissectors/packet-wsp.c
index 488b1c975f..a162b0d4bc 100644
--- a/epan/dissectors/packet-wsp.c
+++ b/epan/dissectors/packet-wsp.c
@@ -5619,7 +5619,7 @@ static void wsp_stat_init(stat_tap_table_ui* new_stat)
unknown_sc_idx = table_idx;
}
-static gboolean
+static tap_packet_status
wsp_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *wiv_ptr)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
@@ -5664,7 +5664,7 @@ wsp_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
stat_tap_set_field_data(sc_table, element, PACKET_COLUMN, item_data);
}
- return TRUE;
+ return found? TAP_PACKET_REDRAW : TAP_PACKET_DONT_REDRAW;
}
static void
diff --git a/epan/follow.c b/epan/follow.c
index cf3d12cb6d..7617e01bf4 100644
--- a/epan/follow.c
+++ b/epan/follow.c
@@ -27,14 +27,14 @@ struct register_follow {
follow_index_filter_func index_filter; /* generate stream/index filter to follow */
follow_address_filter_func address_filter; /* generate address filter to follow */
follow_port_to_display_func port_to_display; /* port to name resolution for follow type */
- follow_tap_func tap_handler; /* tap listener handler */
+ tap_packet_cb tap_handler; /* tap listener handler */
};
static wmem_tree_t *registered_followers = NULL;
void register_follow_stream(const int proto_id, const char* tap_listener,
follow_conv_filter_func conv_filter, follow_index_filter_func index_filter, follow_address_filter_func address_filter,
- follow_port_to_display_func port_to_display, follow_tap_func tap_handler)
+ follow_port_to_display_func port_to_display, tap_packet_cb tap_handler)
{
register_follow_t *follower;
DISSECTOR_ASSERT(tap_listener);
@@ -96,7 +96,7 @@ follow_port_to_display_func get_follow_port_to_display(register_follow_t* follow
return follower->port_to_display;
}
-follow_tap_func get_follow_tap_handler(register_follow_t* follower)
+tap_packet_cb get_follow_tap_handler(register_follow_t* follower)
{
return follower->tap_handler;
}
@@ -175,7 +175,7 @@ follow_info_free(follow_info_t* follow_info)
g_free(follow_info);
}
-gboolean
+tap_packet_status
follow_tvb_tap_listener(void *tapdata, packet_info *pinfo,
epan_dissect_t *edt _U_, const void *data)
{
@@ -207,7 +207,7 @@ follow_tvb_tap_listener(void *tapdata, packet_info *pinfo,
follow_info->bytes_written[follow_record->is_server] += follow_record->data->len;
follow_info->payload = g_list_prepend(follow_info->payload, follow_record);
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/*
diff --git a/epan/follow.h b/epan/follow.h
index 81ce435a8b..a841273825 100644
--- a/epan/follow.h
+++ b/epan/follow.h
@@ -20,6 +20,7 @@ extern "C" {
#include <epan/epan.h>
#include <epan/packet.h>
#include <epan/ipv6.h>
+#include <epan/tap.h>
#include <epan/wmem/wmem.h>
#include "ws_symbol_export.h"
@@ -102,12 +103,11 @@ typedef gchar* (*follow_conv_filter_func)(packet_info* pinfo, int* stream);
typedef gchar* (*follow_index_filter_func)(int stream);
typedef gchar* (*follow_address_filter_func)(address* src_addr, address* dst_addr, int src_port, int dst_port);
typedef gchar* (*follow_port_to_display_func)(wmem_allocator_t *allocator, guint port);
-typedef gboolean (*follow_tap_func)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data);
WS_DLL_PUBLIC
void register_follow_stream(const int proto_id, const char* tap_listener,
follow_conv_filter_func conv_filter, follow_index_filter_func index_filter, follow_address_filter_func address_filter,
- follow_port_to_display_func port_to_display, follow_tap_func tap_handler);
+ follow_port_to_display_func port_to_display, tap_packet_cb tap_handler);
/** Get protocol ID from registered follower
*
@@ -161,15 +161,15 @@ WS_DLL_PUBLIC follow_port_to_display_func get_follow_port_to_display(register_fo
/** Provide function that handles tap data (tap_packet_cb parameter of register_tap_listener)
*
* @param follower [in] Registered follower
- * @return A tap data handler
+ * @return A tap packet handler
*/
-WS_DLL_PUBLIC follow_tap_func get_follow_tap_handler(register_follow_t* follower);
+WS_DLL_PUBLIC tap_packet_cb get_follow_tap_handler(register_follow_t* follower);
/** Tap function handler when dissector's tap provides follow data as a tvb.
* Used by TCP, UDP and HTTP followers
*/
-WS_DLL_PUBLIC gboolean
+WS_DLL_PUBLIC tap_packet_status
follow_tvb_tap_listener(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data);
/** Interator to walk all registered followers and execute func
diff --git a/epan/stats_tree.c b/epan/stats_tree.c
index f46527f69b..ad0b7eb040 100644
--- a/epan/stats_tree.c
+++ b/epan/stats_tree.c
@@ -374,7 +374,7 @@ stats_tree_new(stats_tree_cfg *cfg, tree_pres *pr, const char *filter)
}
/* will be the tap packet cb */
-extern int
+extern tap_packet_status
stats_tree_packet(void *p, packet_info *pinfo, epan_dissect_t *edt, const void *pri)
{
stats_tree *st = (stats_tree *)p;
@@ -387,7 +387,7 @@ stats_tree_packet(void *p, packet_info *pinfo, epan_dissect_t *edt, const void *
if (st->cfg->packet)
return st->cfg->packet(st,pinfo,edt,pri);
else
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
extern stats_tree_cfg*
diff --git a/epan/stats_tree.h b/epan/stats_tree.h
index 5587d2f41b..8adf193279 100644
--- a/epan/stats_tree.h
+++ b/epan/stats_tree.h
@@ -46,10 +46,10 @@ extern "C" {
typedef struct _stats_tree stats_tree;
/* tap packet callback for stats_tree */
-typedef int (*stat_tree_packet_cb)(stats_tree*,
- packet_info *,
- epan_dissect_t *,
- const void *);
+typedef tap_packet_status (*stat_tree_packet_cb)(stats_tree*,
+ packet_info *,
+ epan_dissect_t *,
+ const void *);
/* stats_tree initialization callback */
typedef void (*stat_tree_init_cb)(stats_tree *);
diff --git a/epan/stats_tree_priv.h b/epan/stats_tree_priv.h
index ec4b4de54d..4fe77293b4 100644
--- a/epan/stats_tree_priv.h
+++ b/epan/stats_tree_priv.h
@@ -178,7 +178,7 @@ WS_DLL_PUBLIC void stats_tree_presentation(void (*registry_iterator)(gpointer,gp
WS_DLL_PUBLIC stats_tree *stats_tree_new(stats_tree_cfg *cfg, tree_pres *pr, const char *filter);
/** callback for taps */
-WS_DLL_PUBLIC int stats_tree_packet(void*, packet_info*, epan_dissect_t*, const void *);
+WS_DLL_PUBLIC tap_packet_status stats_tree_packet(void*, packet_info*, epan_dissect_t*, const void *);
/** callback for reset */
WS_DLL_PUBLIC void stats_tree_reset(void *p_st);
diff --git a/epan/tap.c b/epan/tap.c
index 9355c86315..e0e3a22beb 100644
--- a/epan/tap.c
+++ b/epan/tap.c
@@ -80,6 +80,7 @@ typedef struct _tap_listener_t {
struct _tap_listener_t *next;
int tap_id;
gboolean needs_redraw;
+ gboolean failed;
guint flags;
gchar *fstring;
dfilter_t *code;
@@ -310,12 +311,49 @@ tap_push_tapped_queue(epan_dissect_t *edt)
if (!(tp->flags & TAP_PACKET_IS_ERROR_PACKET) || (tl->flags & TL_REQUIRES_ERROR_PACKETS))
{
if(tp->tap_id==tl->tap_id){
- gboolean passed=TRUE;
+ if(!tl->packet){
+ /* There isn't a per-packet
+ * routine for this tap.
+ */
+ continue;
+ }
+ if(tl->failed){
+ /* A previous call failed,
+ * meaning "stop running this
+ * tap", so don't call the
+ * packet routine.
+ */
+ continue;
+ }
+
+ /* If we have a filter, see if the
+ * packet passes.
+ */
if(tl->code){
- passed=dfilter_apply_edt(tl->code, edt);
+ if (!dfilter_apply_edt(tl->code, edt)){
+ /* The packet didn't
+ * pass the filter. */
+ continue;
+ }
}
- if(passed && tl->packet){
- tl->needs_redraw|=tl->packet(tl->tapdata, tp->pinfo, edt, tp->tap_specific_data);
+
+ /* So call the per-packet routine. */
+ tap_packet_status status;
+
+ status = tl->packet(tl->tapdata, tp->pinfo, edt, tp->tap_specific_data);
+
+ switch (status) {
+
+ case TAP_PACKET_DONT_REDRAW:
+ break;
+
+ case TAP_PACKET_REDRAW:
+ tl->needs_redraw=TRUE;
+ break;
+
+ case TAP_PACKET_FAILED:
+ tl->failed=TRUE;
+ break;
}
}
}
@@ -380,6 +418,7 @@ reset_tap_listeners(void)
tl->reset(tl->tapdata);
}
tl->needs_redraw=TRUE;
+ tl->failed=FALSE;
}
}
@@ -490,6 +529,7 @@ register_tap_listener(const char *tapname, void *tapdata, const char *fstring,
tl=(tap_listener_t *)g_malloc0(sizeof(tap_listener_t));
tl->needs_redraw=TRUE;
+ tl->failed=FALSE;
tl->flags=flags;
if(fstring){
if(!dfilter_compile(fstring, &code, &err_msg)){
diff --git a/epan/tap.h b/epan/tap.h
index 986bfe8194..d45a45e412 100644
--- a/epan/tap.h
+++ b/epan/tap.h
@@ -22,8 +22,17 @@
extern "C" {
#endif /* __cplusplus */
+/**
+ * Status returned by the per-packet callback.
+ */
+typedef enum {
+ TAP_PACKET_DONT_REDRAW, /**< Packet processing succeeded, no need to redraw */
+ TAP_PACKET_REDRAW, /**< Packet processing succeeded, must redraw */
+ TAP_PACKET_FAILED /**< Packet processing failed, stop calling this tap */
+} tap_packet_status;
+
typedef void (*tap_reset_cb)(void *tapdata);
-typedef gboolean (*tap_packet_cb)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data);
+typedef tap_packet_status (*tap_packet_cb)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data);
typedef void (*tap_draw_cb)(void *tapdata);
typedef void (*tap_finish_cb)(void *tapdata);
diff --git a/epan/wslua/wslua_listener.c b/epan/wslua/wslua_listener.c
index 3159719806..094d9f2134 100644
--- a/epan/wslua/wslua_listener.c
+++ b/epan/wslua/wslua_listener.c
@@ -68,11 +68,11 @@ static int tap_packet_cb_error_handler(lua_State* L) {
}
-static gboolean lua_tap_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data) {
+static tap_packet_status lua_tap_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data) {
Listener tap = (Listener)tapdata;
- gboolean retval = FALSE;
+ tap_packet_status retval = TAP_PACKET_DONT_REDRAW;
- if (tap->packet_ref == LUA_NOREF) return FALSE;
+ if (tap->packet_ref == LUA_NOREF) return TAP_PACKET_DONT_REDRAW; /* XXX - report error and return TAP_PACKET_FAILED? */
lua_settop(tap->L,0);
@@ -94,12 +94,15 @@ static gboolean lua_tap_packet(void *tapdata, packet_info *pinfo, epan_dissect_t
switch ( lua_pcall(tap->L,3,1,1) ) {
case 0:
- retval = luaL_optinteger(tap->L,-1,1) == 0 ? FALSE : TRUE;
+ /* XXX - treat 2 as TAP_PACKET_FAILED? */
+ retval = luaL_optinteger(tap->L,-1,1) == 0 ? TAP_PACKET_DONT_REDRAW : TAP_PACKET_REDRAW;
break;
case LUA_ERRRUN:
+ /* XXX - TAP_PACKET_FAILED? */
break;
case LUA_ERRMEM:
g_warning("Memory alloc error while calling listener tap callback packet");
+ /* XXX - TAP_PACKET_FAILED? */
break;
default:
g_assert_not_reached();
diff --git a/plugins/epan/stats_tree/pinfo_stats_tree.c b/plugins/epan/stats_tree/pinfo_stats_tree.c
index 710fb0beea..c45130abf1 100644
--- a/plugins/epan/stats_tree/pinfo_stats_tree.c
+++ b/plugins/epan/stats_tree/pinfo_stats_tree.c
@@ -106,18 +106,18 @@ static void ipv6_hosts_stats_tree_init(stats_tree *st) {
st_node_ipv6 = stats_tree_create_node(st, st_str_ipv6, 0, STAT_DT_INT, TRUE);
}
-static int ip_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, int st_node, const gchar *st_str) {
+static tap_packet_status ip_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, int st_node, const gchar *st_str) {
tick_stat_node(st, st_str, 0, FALSE);
tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_src), st_node, FALSE);
tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_dst), st_node, FALSE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int ipv4_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv4_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return ip_hosts_stats_tree_packet(st, pinfo, st_node_ipv4, st_str_ipv4);
}
-static int ipv6_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv6_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return ip_hosts_stats_tree_packet(st, pinfo, st_node_ipv6, st_str_ipv6);
}
@@ -154,23 +154,26 @@ static void ipv6_srcdst_stats_tree_init(stats_tree *st) {
ip_srcdst_stats_tree_init(st, st_str_ipv6_src, &st_node_ipv6_src, st_str_ipv6_dst, &st_node_ipv6_dst);
}
-static int ip_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo,
- int st_node_src, const gchar *st_str_src,
- int st_node_dst, const gchar *st_str_dst) {
+static tap_packet_status ip_srcdst_stats_tree_packet(stats_tree *st,
+ packet_info *pinfo,
+ int st_node_src,
+ const gchar *st_str_src,
+ int st_node_dst,
+ const gchar *st_str_dst) {
/* update source branch */
tick_stat_node(st, st_str_src, 0, FALSE);
tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_src), st_node_src, FALSE);
/* update destination branch */
tick_stat_node(st, st_str_dst, 0, FALSE);
tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_dst), st_node_dst, FALSE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int ipv4_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv4_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return ip_srcdst_stats_tree_packet(st, pinfo, st_node_ipv4_src, st_str_ipv4_src, st_node_ipv4_dst, st_str_ipv4_dst);
}
-static int ipv6_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv6_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return ip_srcdst_stats_tree_packet(st, pinfo, st_node_ipv6_src, st_str_ipv6_src, st_node_ipv6_dst, st_str_ipv6_dst);
}
@@ -188,14 +191,14 @@ static void ipv6_ptype_stats_tree_init(stats_tree *st) {
st_node_ipv6_ptype = stats_tree_create_pivot(st, st_str_ipv6_ptype, 0);
}
-static int ipv4_ptype_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv4_ptype_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
stats_tree_tick_pivot(st, st_node_ipv4_ptype, port_type_to_str(pinfo->ptype));
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int ipv6_ptype_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv6_ptype_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
stats_tree_tick_pivot(st, st_node_ipv6_ptype, port_type_to_str(pinfo->ptype));
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* a tree example
@@ -217,7 +220,7 @@ static void ipv6_dsts_stats_tree_init(stats_tree *st) {
st_node_ipv6_dsts = stats_tree_create_node(st, st_str_ipv6_dsts, 0, STAT_DT_INT, TRUE);
}
-static int dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, int st_node, const gchar *st_str) {
+static tap_packet_status dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, int st_node, const gchar *st_str) {
static gchar str[128];
int ip_dst_node;
int protocol_node;
@@ -227,14 +230,14 @@ static int dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, int st_nod
protocol_node = tick_stat_node(st, port_type_to_str(pinfo->ptype), ip_dst_node, TRUE);
g_snprintf(str, sizeof(str) - 1, "%u", pinfo->destport);
tick_stat_node(st, str, protocol_node, TRUE);
- return 1;
+ return TAP_PACKET_REDRAW;
}
-static int ipv4_dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv4_dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return dsts_stats_tree_packet(st, pinfo, st_node_ipv4_dsts, st_str_ipv4_dsts);
}
-static int ipv6_dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status ipv6_dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
return dsts_stats_tree_packet(st, pinfo, st_node_ipv6_dsts, st_str_ipv6_dsts);
}
@@ -259,12 +262,12 @@ static void plen_stats_tree_init(stats_tree *st) {
}
}
-static int plen_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static tap_packet_status plen_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
tick_stat_node(st, st_str_plen, 0, FALSE);
stats_tree_tick_range(st, st_str_plen, 0, pinfo->fd->pkt_len);
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* register all pinfo trees */
diff --git a/rawshark.c b/rawshark.c
index 738b521e89..c23d8020ac 100644
--- a/rawshark.c
+++ b/rawshark.c
@@ -1247,7 +1247,7 @@ static gboolean print_field_value(field_info *finfo, int cmd_line_index)
return TRUE;
}
-static int
+static tap_packet_status
protocolinfo_packet(void *prs, packet_info *pinfo _U_, epan_dissect_t *edt, const void *dummy _U_)
{
pci_t *rs=(pci_t *)prs;
@@ -1257,7 +1257,7 @@ protocolinfo_packet(void *prs, packet_info *pinfo _U_, epan_dissect_t *edt, cons
gp=proto_get_finfo_ptr_array(edt->tree, rs->hf_index);
if(!gp){
printf(" n.a.");
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/*
@@ -1267,7 +1267,7 @@ protocolinfo_packet(void *prs, packet_info *pinfo _U_, epan_dissect_t *edt, cons
print_field_value((field_info *)gp->pdata[i], rs->cmd_line_index);
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
int g_cmd_line_index = 0;
diff --git a/sharkd_session.c b/sharkd_session.c
index b1aff99a89..af4f9bdd52 100644
--- a/sharkd_session.c
+++ b/sharkd_session.c
@@ -1207,7 +1207,7 @@ sharkd_session_process_tap_expert_cb(void *tapdata)
putchar(',');
}
-static gboolean
+static tap_packet_status
sharkd_session_packet_tap_expert_cb(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *pointer)
{
struct sharkd_expert_tap *etd = (struct sharkd_expert_tap *) tapdata;
@@ -1215,7 +1215,7 @@ sharkd_session_packet_tap_expert_cb(void *tapdata, packet_info *pinfo _U_, epan_
expert_info_t *ei_copy;
if (ei == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
ei_copy = g_new(expert_info_t, 1);
/* Note: this is a shallow copy */
@@ -1227,7 +1227,7 @@ sharkd_session_packet_tap_expert_cb(void *tapdata, packet_info *pinfo _U_, epan_
etd->details = g_slist_prepend(etd->details, ei_copy);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
@@ -1437,7 +1437,7 @@ sharkd_session_process_tap_rtp_free_cb(void *tapdata)
g_free(rtp_req);
}
-static gboolean
+static tap_packet_status
sharkd_session_packet_tap_rtp_analyse_cb(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pointer)
{
struct sharkd_analyse_rtp *rtp_req = (struct sharkd_analyse_rtp *) tapdata;
@@ -1471,7 +1471,7 @@ sharkd_session_packet_tap_rtp_analyse_cb(void *tapdata, packet_info *pinfo, epan
rtp_req->packets = g_slist_append(rtp_req->packets, item);
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/**
@@ -3072,15 +3072,16 @@ struct sharkd_iograph
GString *error;
};
-static gboolean
+static tap_packet_status
sharkd_iograph_packet(void *g, packet_info *pinfo, epan_dissect_t *edt, const void *dummy _U_)
{
struct sharkd_iograph *graph = (struct sharkd_iograph *) g;
int idx;
+ gboolean update_succeeded;
idx = get_io_graph_index(pinfo, graph->interval);
if (idx < 0 || idx >= SHARKD_IOGRAPH_MAX_ITEMS)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (idx + 1 > graph->num_items)
{
@@ -3102,7 +3103,9 @@ sharkd_iograph_packet(void *g, packet_info *pinfo, epan_dissect_t *edt, const vo
graph->num_items = idx + 1;
}
- return update_io_graph_item(graph->items, idx, pinfo, edt, graph->hf_index, graph->calc_type, graph->interval);
+ update_succeeded = update_io_graph_item(graph->items, idx, pinfo, edt, graph->hf_index, graph->calc_type, graph->interval);
+ /* XXX - TAP_PACKET_FAILED if the item couldn't be updated, with an error message? */
+ return update_succeeded ? TAP_PACKET_REDRAW : TAP_PACKET_DONT_REDRAW;
}
/**
@@ -4147,7 +4150,7 @@ sharkd_rtp_download_decode(struct sharkd_download_rtp *req)
g_hash_table_destroy(decoders_hash_);
}
-static gboolean
+static tap_packet_status
sharkd_session_packet_download_tap_rtp_cb(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
const struct _rtp_info *rtp_info = (const struct _rtp_info *) data;
@@ -4155,7 +4158,7 @@ sharkd_session_packet_download_tap_rtp_cb(void *tapdata, packet_info *pinfo, epa
/* do not consider RTP packets without a setup frame */
if (rtp_info->info_setup_frame_num == 0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (rtpstream_id_equal_pinfo_rtp_info(&req_rtp->id, pinfo, rtp_info))
{
@@ -4177,7 +4180,7 @@ sharkd_session_packet_download_tap_rtp_cb(void *tapdata, packet_info *pinfo, epa
req_rtp->packets = g_slist_append(req_rtp->packets, rtp_packet);
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/**
diff --git a/ui/cli/tap-camelsrt.c b/ui/cli/tap-camelsrt.c
index f3d81269e6..13b213e63d 100644
--- a/ui/cli/tap-camelsrt.c
+++ b/ui/cli/tap-camelsrt.c
@@ -50,10 +50,10 @@ static void camelsrt_reset(void *phs)
}
-static int camelsrt_packet(void *phs,
- packet_info *pinfo _U_,
- epan_dissect_t *edt _U_,
- const void *phi)
+static tap_packet_status camelsrt_packet(void *phs,
+ packet_info *pinfo _U_,
+ epan_dissect_t *edt _U_,
+ const void *phi)
{
struct camelsrt_t *hs = (struct camelsrt_t *)phs;
const struct camelsrt_info_t * pi = (const struct camelsrt_info_t *)phi;
@@ -75,7 +75,7 @@ static int camelsrt_packet(void *phs,
}
}
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-diameter-avp.c b/ui/cli/tap-diameter-avp.c
index f607ae2369..6815430dbc 100644
--- a/ui/cli/tap-diameter-avp.c
+++ b/ui/cli/tap-diameter-avp.c
@@ -112,10 +112,10 @@ diam_tree_to_csv(proto_node *node, gpointer data)
return FALSE;
}
-static int
+static tap_packet_status
diameteravp_packet(void *pds, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pdi)
{
- int ret = 0;
+ tap_packet_status ret = TAP_PACKET_DONT_REDRAW;
double resp_time = 0.;
gboolean is_request = TRUE;
guint32 cmd_code = 0;
@@ -140,7 +140,7 @@ diameteravp_packet(void *pds, packet_info *pinfo, epan_dissect_t *edt _U_, const
ds->frame = pinfo->num;
ds->diammsg_toprocess = 0;
} else {
- ds->diammsg_toprocess += 1;
+ ds->diammsg_toprocess += 1;
}
/* Extract data from request/answer pair provided by diameter dissector.*/
diff --git a/ui/cli/tap-expert.c b/ui/cli/tap-expert.c
index 3dc33aae2c..0d6bb99cbb 100644
--- a/ui/cli/tap-expert.c
+++ b/ui/cli/tap-expert.c
@@ -70,7 +70,7 @@ expert_stat_reset(void *tapdata)
}
/* Process stat struct for an expert frame */
-static gboolean
+static tap_packet_status
expert_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
const void *pointer)
{
@@ -99,12 +99,12 @@ expert_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U
break;
default:
g_assert_not_reached();
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Don't store details at a lesser severity than we are interested in */
if (severity_level < lowest_report_level) {
- return TRUE;
+ return TAP_PACKET_REDRAW; /* XXX - TAP_PACKET_DONT_REDRAW? */
}
/* If a duplicate just bump up frequency.
@@ -114,7 +114,7 @@ expert_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U
if ((strcmp(ei->protocol, entry->protocol) == 0) &&
(strcmp(ei->summary, entry->summary) == 0)) {
entry->frequency++;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
}
@@ -128,7 +128,7 @@ expert_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U
/* Store a copy of the expert entry */
g_array_append_val(data->ei_array[severity_level], tmp_entry);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/* Output for all of the items of one severity */
diff --git a/ui/cli/tap-gsm_astat.c b/ui/cli/tap-gsm_astat.c
index ddd805c584..e56139b3bd 100644
--- a/ui/cli/tap-gsm_astat.c
+++ b/ui/cli/tap-gsm_astat.c
@@ -45,7 +45,7 @@ typedef struct _gsm_a_stat_t {
} gsm_a_stat_t;
-static int
+static tap_packet_status
gsm_a_stat_packet(
void *tapdata,
packet_info *pinfo _U_,
@@ -92,7 +92,7 @@ gsm_a_stat_packet(
/*
* unsupported PD
*/
- return(0);
+ return(TAP_PACKET_DONT_REDRAW);
}
break;
@@ -112,10 +112,10 @@ gsm_a_stat_packet(
/*
* unknown PDU type !!!
*/
- return(0);
+ return(TAP_PACKET_DONT_REDRAW);
}
- return(1);
+ return(TAP_PACKET_REDRAW);
}
diff --git a/ui/cli/tap-httpstat.c b/ui/cli/tap-httpstat.c
index 184c0d98f2..dba569cf5b 100644
--- a/ui/cli/tap-httpstat.c
+++ b/ui/cli/tap-httpstat.c
@@ -197,7 +197,7 @@ httpstat_reset(void *psp )
}
-static int
+static tap_packet_status
httpstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *pri)
{
const http_info_value_t *value = (const http_info_value_t *)pri;
@@ -218,7 +218,7 @@ httpstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
*/
int i = value->response_code;
if ((i < 100) || (i >= 600)) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
else if (i < 200) {
key = 199; /* Hopefully, this status code will never be used */
@@ -239,7 +239,7 @@ httpstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
sp->hash_responses,
GUINT_TO_POINTER(key));
if (sc == NULL)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
sc->packets++;
}
@@ -259,9 +259,9 @@ httpstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
sc->packets++;
}
} else {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-icmpstat.c b/ui/cli/tap-icmpstat.c
index d1dfebb77f..628e567350 100644
--- a/ui/cli/tap-icmpstat.c
+++ b/ui/cli/tap-icmpstat.c
@@ -102,10 +102,10 @@ static gint compare_doubles(gconstpointer a, gconstpointer b)
* "icmp" tap, the third parameter type is icmp_transaction_t.
*
* function returns :
- * FALSE: no updates, no need to call (*draw) later
- * TRUE: state has changed, call (*draw) sometime later
+ * TAP_PACKET_DONT_REDRAW: no updates, no need to call (*draw) later
+ * TAP_PACKET_REDRAW: state has changed, call (*draw) sometime later
*/
-static gboolean
+static tap_packet_status
icmpstat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
icmpstat_t *icmpstat = (icmpstat_t *)tapdata;
@@ -113,13 +113,13 @@ icmpstat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
double resp_time, *rt;
if (trans == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (trans->resp_frame) {
resp_time = nstime_to_msec(&trans->resp_time);
rt = g_new(double, 1);
if (rt == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
*rt = resp_time;
icmpstat->rt_list = g_slist_prepend(icmpstat->rt_list, rt);
icmpstat->num_resps++;
@@ -135,9 +135,9 @@ icmpstat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
} else if (trans->rqst_frame)
icmpstat->num_rqsts++;
else
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-icmpv6stat.c b/ui/cli/tap-icmpv6stat.c
index 04bcf973a8..517b704148 100644
--- a/ui/cli/tap-icmpv6stat.c
+++ b/ui/cli/tap-icmpv6stat.c
@@ -103,10 +103,10 @@ static gint compare_doubles(gconstpointer a, gconstpointer b)
* "icmpv6" tap, the third parameter type is icmp_transaction_t.
*
* function returns :
- * FALSE: no updates, no need to call (*draw) later
- * TRUE: state has changed, call (*draw) sometime later
+ * TAP_PACKET_DONT_REDRAW: no updates, no need to call (*draw) later
+ * TAP_PACKET_REDRAW: state has changed, call (*draw) sometime later
*/
-static gboolean
+static tap_packet_status
icmpv6stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
{
icmpv6stat_t *icmpv6stat = (icmpv6stat_t *)tapdata;
@@ -114,13 +114,13 @@ icmpv6stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
double resp_time, *rt;
if (trans == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (trans->resp_frame) {
resp_time = nstime_to_msec(&trans->resp_time);
rt = g_new(double, 1);
if (rt == NULL)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
*rt = resp_time;
icmpv6stat->rt_list = g_slist_prepend(icmpv6stat->rt_list, rt);
icmpv6stat->num_resps++;
@@ -136,9 +136,9 @@ icmpv6stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
} else if (trans->rqst_frame)
icmpv6stat->num_rqsts++;
else
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-iostat.c b/ui/cli/tap-iostat.c
index 1928f97e68..4c328a8c35 100644
--- a/ui/cli/tap-iostat.c
+++ b/ui/cli/tap-iostat.c
@@ -78,7 +78,7 @@ typedef struct _io_stat_item_t {
static guint64 last_relative_time;
-static int
+static tap_packet_status
iostat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt, const void *dummy _U_)
{
io_stat_t *parent;
@@ -506,7 +506,7 @@ iostat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt, const void *du
break;
}
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static int
diff --git a/ui/cli/tap-macltestat.c b/ui/cli/tap-macltestat.c
index cb35ce89e0..6513dc65b7 100644
--- a/ui/cli/tap-macltestat.c
+++ b/ui/cli/tap-macltestat.c
@@ -207,7 +207,7 @@ static void update_ueid_rnti_counts(guint16 rnti, guint16 ueid, mac_lte_stat_t *
/* Process stat struct for a MAC LTE frame */
-static int
+static tap_packet_status
mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
const void *phi)
{
@@ -220,7 +220,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
const struct mac_lte_tap_info *si = (const struct mac_lte_tap_info *)phi;
if (!hs) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
hs->common_stats.all_frames++;
@@ -231,18 +231,18 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
hs->common_stats.pch_frames++;
hs->common_stats.pch_bytes += si->single_number_of_bytes;
hs->common_stats.pch_paging_ids += si->number_of_paging_ids;
- return 1;
+ return TAP_PACKET_REDRAW;
case SI_RNTI:
hs->common_stats.sib_frames++;
hs->common_stats.sib_bytes += si->single_number_of_bytes;
- return 1;
+ return TAP_PACKET_REDRAW;
case NO_RNTI:
hs->common_stats.mib_frames++;
- return 1;
+ return TAP_PACKET_REDRAW;
case RA_RNTI:
hs->common_stats.rar_frames++;
hs->common_stats.rar_entries += si->number_of_rars;
- return 1;
+ return TAP_PACKET_REDRAW;
case C_RNTI:
case SPS_RNTI:
/* Drop through for per-UE update */
@@ -250,7 +250,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
default:
/* Error */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Check max UEs/tti counter */
@@ -304,7 +304,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Really should have a row pointer by now */
if (!te) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Update entry with details from si */
@@ -315,12 +315,12 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
if (si->direction == DIRECTION_UPLINK) {
if (si->isPHYRetx) {
te->stats.UL_retx_frames++;
- return 1;
+ return TAP_PACKET_REDRAW;
}
if (si->crcStatusValid && (si->crcStatus != crc_success)) {
te->stats.UL_CRC_errors++;
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Update time range */
@@ -348,7 +348,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
else {
if (si->isPHYRetx) {
te->stats.DL_retx_frames++;
- return 1;
+ return TAP_PACKET_REDRAW;
}
if (si->crcStatusValid && (si->crcStatus != crc_success)) {
@@ -370,7 +370,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Something went wrong! */
break;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
/* Update time range */
@@ -395,7 +395,7 @@ mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-protocolinfo.c b/ui/cli/tap-protocolinfo.c
index e0c777b670..b5bd9d5958 100644
--- a/ui/cli/tap-protocolinfo.c
+++ b/ui/cli/tap-protocolinfo.c
@@ -31,7 +31,7 @@ typedef struct _pci_t {
} pci_t;
-static int
+static tap_packet_status
protocolinfo_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const void *dummy _U_)
{
pci_t *rs = (pci_t *)prs;
@@ -48,6 +48,8 @@ protocolinfo_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const vo
*
* To prevent a crash, we check whether INFO column is writable
* and, if not, we report that error and exit.
+ *
+ * XXX - report the error and just return TAP_PACKET_FAILED?
*/
if (!col_get_writable(pinfo->cinfo, COL_INFO)) {
cmdarg_err("the proto,colinfo tap doesn't work if the INFO column isn't being printed.");
@@ -55,7 +57,7 @@ protocolinfo_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const vo
}
gp = proto_get_finfo_ptr_array(edt->tree, rs->hf_index);
if (!gp) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
for (i=0; i<gp->len; i++) {
@@ -65,7 +67,7 @@ protocolinfo_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const vo
wmem_free(NULL, str);
}
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
diff --git a/ui/cli/tap-protohierstat.c b/ui/cli/tap-protohierstat.c
index 8009874725..dd1bed9229 100644
--- a/ui/cli/tap-protohierstat.c
+++ b/ui/cli/tap-protohierstat.c
@@ -53,7 +53,7 @@ new_phs_t(phs_t *parent)
}
-static int
+static tap_packet_status
protohierstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const void *dummy _U_)
{
phs_t *rs = (phs_t *)prs;
@@ -62,13 +62,13 @@ protohierstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const v
field_info *fi;
if (!edt) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if (!edt->tree) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
if (!edt->tree->first_child) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
for (node=edt->tree->first_child; node; node=node->next) {
@@ -112,7 +112,7 @@ protohierstat_packet(void *prs, packet_info *pinfo, epan_dissect_t *edt, const v
}
rs = rs->child;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/ui/cli/tap-rlcltestat.c b/ui/cli/tap-rlcltestat.c
index b46345d5a9..b376e8f89c 100644
--- a/ui/cli/tap-rlcltestat.c
+++ b/ui/cli/tap-rlcltestat.c
@@ -151,7 +151,7 @@ static rlc_lte_ep_t *alloc_rlc_lte_ep(const struct rlc_lte_tap_info *si, packet_
/* Process stat struct for a RLC LTE frame */
-static int
+static tap_packet_status
rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
const void *phi)
{
@@ -164,7 +164,7 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Need this */
if (!hs) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Inc top-level frame count */
@@ -176,12 +176,12 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
case CHANNEL_TYPE_BCCH_DL_SCH:
hs->common_stats.bcch_frames++;
hs->common_stats.bcch_bytes += si->pduLength;
- return 1;
+ return TAP_PACKET_REDRAW;
case CHANNEL_TYPE_PCCH:
hs->common_stats.pcch_frames++;
hs->common_stats.pcch_bytes += si->pduLength;
- return 1;
+ return TAP_PACKET_REDRAW;
default:
break;
@@ -218,7 +218,7 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Really should have a row pointer by now */
if (!te) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* Update entry with details from si */
@@ -262,7 +262,7 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
te->stats.DL_total_missing += si->missingSNs;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-rpcprogs.c b/ui/cli/tap-rpcprogs.c
index 8581850b2e..02dcf4a200 100644
--- a/ui/cli/tap-rpcprogs.c
+++ b/ui/cli/tap-rpcprogs.c
@@ -46,7 +46,7 @@ typedef struct _rpc_program_t {
static rpc_program_t *prog_list = NULL;
static int already_enabled = 0;
-static int
+static tap_packet_status
rpcprogs_packet(void *dummy1 _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pri)
{
const rpc_call_info_value *ri = (const rpc_call_info_value *)pri;
@@ -120,7 +120,7 @@ rpcprogs_packet(void *dummy1 _U_, packet_info *pinfo, epan_dissect_t *edt _U_, c
/* we are only interested in reply packets */
if (ri->request || !rp) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/* calculate time delta between request and reply */
@@ -160,7 +160,7 @@ rpcprogs_packet(void *dummy1 _U_, packet_info *pinfo, epan_dissect_t *edt _U_, c
}
rp->num++;
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-rtspstat.c b/ui/cli/tap-rtspstat.c
index 3db29ceaf6..5a2519c14b 100644
--- a/ui/cli/tap-rtspstat.c
+++ b/ui/cli/tap-rtspstat.c
@@ -126,7 +126,7 @@ rtspstat_reset(void *psp )
}
-static int
+static tap_packet_status
rtspstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *pri)
{
const rtsp_info_value_t *value = (const rtsp_info_value_t *)pri;
@@ -147,7 +147,7 @@ rtspstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
*/
int i = value->response_code;
if ((i < 100) || (i >= 600)) {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
else if (i < 200) {
key = 199; /* Hopefully, this status code will never be used */
@@ -168,7 +168,7 @@ rtspstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
sp->hash_responses,
GINT_TO_POINTER(key));
if (sc == NULL)
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
sc->packets++;
}
@@ -188,9 +188,9 @@ rtspstat_packet(void *psp , packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
sc->packets++;
}
} else {
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/cli/tap-sctpchunkstat.c b/ui/cli/tap-sctpchunkstat.c
index cfb3d5376a..45dd4b9511 100644
--- a/ui/cli/tap-sctpchunkstat.c
+++ b/ui/cli/tap-sctpchunkstat.c
@@ -92,7 +92,7 @@ alloc_sctp_ep(const struct _sctp_info *si)
-static int
+static tap_packet_status
sctpstat_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi)
{
@@ -103,7 +103,7 @@ sctpstat_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, cons
guint8 chunk_type;
if (!hs)
- return (0);
+ return (TAP_PACKET_DONT_REDRAW);
hs->number_of_packets++;
@@ -131,7 +131,7 @@ sctpstat_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, cons
}
if (!te)
- return (0);
+ return (TAP_PACKET_DONT_REDRAW);
if (si->number_of_tvbs > 0) {
@@ -144,7 +144,7 @@ sctpstat_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, cons
te->chunk_count[CHUNK_TYPE(si->tvb[tvb_number])]++;
}
}
- return (1);
+ return (TAP_PACKET_REDRAW);
}
diff --git a/ui/cli/tap-sipstat.c b/ui/cli/tap-sipstat.c
index 988da5a89a..8bc521c7d1 100644
--- a/ui/cli/tap-sipstat.c
+++ b/ui/cli/tap-sipstat.c
@@ -248,7 +248,7 @@ sipstat_reset(void *psp )
/* Main entry point to SIP tap */
-static int
+static tap_packet_status
sipstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *pri)
{
const sip_info_value_t *value = (const sip_info_value_t *)pri;
@@ -306,7 +306,7 @@ sipstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const
if ((i < 100) || (i >= 700))
{
/* Forget about crazy values */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
else if (i < 200)
{
@@ -337,7 +337,7 @@ sipstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const
sc = (sip_response_code_t *)g_hash_table_lookup(sp->hash_responses, &key);
if (sc == NULL)
{
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
}
sc->packets++;
@@ -369,10 +369,10 @@ sipstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const
else
{
/* No request method set. Just ignore */
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
- return 1;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/ui/cli/tap-smbsids.c b/ui/cli/tap-smbsids.c
index 039a5acc49..2f4c306be5 100644
--- a/ui/cli/tap-smbsids.c
+++ b/ui/cli/tap-smbsids.c
@@ -27,10 +27,10 @@
void register_tap_listener_smbsids(void);
-static int
+static tap_packet_status
smbsids_packet(void *pss _U_, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *psi _U_)
{
- return 1;
+ return TAP_PACKET_REDRAW;
}
static void
diff --git a/ui/cli/tap-sv.c b/ui/cli/tap-sv.c
index 5899777711..0b75edb598 100644
--- a/ui/cli/tap-sv.c
+++ b/ui/cli/tap-sv.c
@@ -26,7 +26,7 @@
void register_tap_listener_sv(void);
-static int
+static tap_packet_status
sv_packet(void *prs _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const void *pri)
{
int i;
@@ -40,7 +40,7 @@ sv_packet(void *prs _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const void
printf("\n");
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
static void
diff --git a/ui/cli/tap-wspstat.c b/ui/cli/tap-wspstat.c
index 3f8c21c8b3..34300e1613 100644
--- a/ui/cli/tap-wspstat.c
+++ b/ui/cli/tap-wspstat.c
@@ -116,13 +116,13 @@ index2pdut(gint pdut)
return pdut + 81;
return 0;
}
-static int
+static tap_packet_status
wspstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *pri)
{
wspstat_t *sp = (wspstat_t *)psp;
const wsp_info_value_t *value = (const wsp_info_value_t *)pri;
gint idx = pdut2index(value->pdut);
- int retour = 0;
+ tap_packet_status retour = TAP_PACKET_DONT_REDRAW;
if (value->status_code != 0) {
wsp_status_code_t *sc;
@@ -140,14 +140,14 @@ wspstat_packet(void *psp, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const
} else {
sc->packets++;
}
- retour = 1;
+ retour = TAP_PACKET_REDRAW;
}
if (idx != 0) {
sp->pdu_stats[idx].packets++;
- retour = 1;
+ retour = TAP_PACKET_REDRAW;
}
return retour;
}
diff --git a/ui/mcast_stream.c b/ui/mcast_stream.c
index 61280bf082..9711c9fb16 100644
--- a/ui/mcast_stream.c
+++ b/ui/mcast_stream.c
@@ -131,7 +131,7 @@ mcaststream_draw(void *ti_ptr)
/****************************************************************************/
/* whenever a udp packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
mcaststream_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const void *arg2 _U_)
{
mcaststream_tapinfo_t *tapinfo = (mcaststream_tapinfo_t *)arg;
@@ -150,16 +150,16 @@ mcaststream_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
case AT_IPv4:
/* 224.0.0.0/4 */
if (pinfo->net_dst.len == 0 || (((const guint8*)pinfo->net_dst.data)[0] & 0xf0) != 0xe0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
break;
case AT_IPv6:
/* ff00::/8 */
/* XXX This includes DHCPv6. */
if (pinfo->net_dst.len == 0 || ((const guint8*)pinfo->net_dst.data)[0] != 0xff)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
break;
default:
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* gather infos on the stream this packet is part of */
@@ -276,7 +276,7 @@ mcaststream_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
buffusagecalc(tapinfo->allstreams, pinfo, mcast_stream_cumulemptyspeed*1000);
/* end of sliding window */
- return 1; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
diff --git a/ui/qt/bluetooth_att_server_attributes_dialog.cpp b/ui/qt/bluetooth_att_server_attributes_dialog.cpp
index 973c09d5ee..d13aa91cf4 100644
--- a/ui/qt/bluetooth_att_server_attributes_dialog.cpp
+++ b/ui/qt/bluetooth_att_server_attributes_dialog.cpp
@@ -32,7 +32,7 @@ static const int column_number_handle = 0;
static const int column_number_uuid = 1;
static const int column_number_uuid_name = 2;
-static gboolean
+static tap_packet_status
btatt_handle_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *edt, const void* data)
{
tapinfo_t *tapinfo = (tapinfo_t *) tapinfo_ptr;
@@ -40,7 +40,7 @@ btatt_handle_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *e
if (tapinfo->tap_packet)
tapinfo->tap_packet(tapinfo, pinfo, edt, data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
@@ -225,7 +225,7 @@ void BluetoothAttServerAttributesDialog::tapReset(void *tapinfo_ptr)
}
-gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
+tap_packet_status BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
{
tapinfo_t *tapinfo = static_cast<tapinfo_t *>(tapinfo_ptr);
BluetoothAttServerAttributesDialog *dialog = static_cast<BluetoothAttServerAttributesDialog *>(tapinfo->ui);
@@ -236,10 +236,10 @@ gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet
gchar *addr = NULL;
if (dialog->file_closed_)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (pinfo->rec->rec_type != REC_TYPE_PACKET)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (pinfo->rec->presence_flags & WTAP_HAS_INTERFACE_ID) {
gchar *interface;
@@ -253,7 +253,7 @@ gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet
if (interface && dialog->ui->interfaceComboBox->currentIndex() > 0) {
if (dialog->ui->interfaceComboBox->currentText() != interface)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
}
@@ -266,7 +266,7 @@ gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet
if (addr && dialog->ui->deviceComboBox->currentIndex() > 0) {
if (dialog->ui->deviceComboBox->currentText() != addr)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
handle.sprintf("0x%04x", tap_handles->handle);
@@ -282,7 +282,7 @@ gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet
if (item->text(column_number_handle) == handle &&
item->text(column_number_uuid) == uuid &&
item->text(column_number_uuid_name) == uuid_name)
- return TRUE;
+ return TAP_PACKET_REDRAW;
++i_item;
}
}
@@ -297,7 +297,7 @@ gboolean BluetoothAttServerAttributesDialog::tapPacket(void *tapinfo_ptr, packet
dialog->ui->tableTreeWidget->resizeColumnToContents(i);
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void BluetoothAttServerAttributesDialog::interfaceCurrentIndexChanged(int)
diff --git a/ui/qt/bluetooth_att_server_attributes_dialog.h b/ui/qt/bluetooth_att_server_attributes_dialog.h
index 5566b3676e..e8b35f7dbb 100644
--- a/ui/qt/bluetooth_att_server_attributes_dialog.h
+++ b/ui/qt/bluetooth_att_server_attributes_dialog.h
@@ -64,7 +64,7 @@ private:
QMenu context_menu_;
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
private slots:
void captureFileClosing();
diff --git a/ui/qt/bluetooth_device_dialog.cpp b/ui/qt/bluetooth_device_dialog.cpp
index ff13eb646d..09d8c1a006 100644
--- a/ui/qt/bluetooth_device_dialog.cpp
+++ b/ui/qt/bluetooth_device_dialog.cpp
@@ -56,7 +56,7 @@ static const int row_number_page_timeout = 19;
static const int row_number_simple_pairing_mode = 20;
static const int row_number_voice_setting = 21;
-static gboolean
+static tap_packet_status
bluetooth_device_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *edt, const void* data)
{
bluetooth_device_tapinfo_t *tapinfo = (bluetooth_device_tapinfo_t *) tapinfo_ptr;
@@ -64,7 +64,7 @@ bluetooth_device_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_
if (tapinfo->tap_packet)
tapinfo->tap_packet(tapinfo, pinfo, edt, data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
@@ -359,7 +359,7 @@ void BluetoothDeviceDialog::saveItemData(QTableWidgetItem *item,
}
-gboolean BluetoothDeviceDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
+tap_packet_status BluetoothDeviceDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
{
bluetooth_device_tapinfo_t *tapinfo = static_cast<bluetooth_device_tapinfo_t *>(tapinfo_ptr);
BluetoothDeviceDialog *dialog = static_cast<BluetoothDeviceDialog *>(tapinfo->ui);
@@ -375,14 +375,14 @@ gboolean BluetoothDeviceDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo,
tableWidget = dialog->ui->tableWidget;
if (!((!tap_device->is_local && tap_device->has_bd_addr) || (tap_device->is_local && tapinfo->is_local && tap_device->interface_id == tapinfo->interface_id && tap_device->adapter_id == tapinfo->adapter_id))) {
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
if (!tap_device->is_local && tap_device->has_bd_addr) {
bd_addr.sprintf("%02x:%02x:%02x:%02x:%02x:%02x", tap_device->bd_addr[0], tap_device->bd_addr[1], tap_device->bd_addr[2], tap_device->bd_addr[3], tap_device->bd_addr[4], tap_device->bd_addr[5]);
if (bd_addr != tapinfo->bdAddr)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
if (tap_device->has_bd_addr) {
@@ -616,7 +616,7 @@ gboolean BluetoothDeviceDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo,
dialog->ui->hintLabel->setText(QString(tr("%1 changes")).arg(*tapinfo->changes));
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void BluetoothDeviceDialog::interfaceCurrentIndexChanged(int)
diff --git a/ui/qt/bluetooth_device_dialog.h b/ui/qt/bluetooth_device_dialog.h
index b63acc1ac3..d5860a33f7 100644
--- a/ui/qt/bluetooth_device_dialog.h
+++ b/ui/qt/bluetooth_device_dialog.h
@@ -79,7 +79,7 @@ private:
guint changes_;
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
static void updateChanges(QTableWidget *tableWidget, QString value, const int row, guint *changes, packet_info *pinfo);
static void saveItemData(QTableWidgetItem *item, bluetooth_device_tap_t *tap_device, packet_info *pinfo);
diff --git a/ui/qt/bluetooth_devices_dialog.cpp b/ui/qt/bluetooth_devices_dialog.cpp
index 242edd424c..ec6043bcbf 100644
--- a/ui/qt/bluetooth_devices_dialog.cpp
+++ b/ui/qt/bluetooth_devices_dialog.cpp
@@ -43,7 +43,7 @@ static const int column_number_hci_revision = 7;
static const int column_number_is_local_adapter = 8;
-static gboolean
+static tap_packet_status
bluetooth_device_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *edt, const void* data)
{
bluetooth_devices_tapinfo_t *tapinfo = (bluetooth_devices_tapinfo_t *) tapinfo_ptr;
@@ -51,7 +51,7 @@ bluetooth_device_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_
if (tapinfo->tap_packet)
tapinfo->tap_packet(tapinfo, pinfo, edt, data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
@@ -253,7 +253,7 @@ void BluetoothDevicesDialog::tapReset(void *tapinfo_ptr)
bluetooth_devices_dialog->ui->tableTreeWidget->clear();
}
-gboolean BluetoothDevicesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
+tap_packet_status BluetoothDevicesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
{
bluetooth_devices_tapinfo_t *tapinfo = static_cast<bluetooth_devices_tapinfo_t *>(tapinfo_ptr);
BluetoothDevicesDialog *dialog = static_cast<BluetoothDevicesDialog *>(tapinfo->ui);
@@ -264,10 +264,10 @@ gboolean BluetoothDevicesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo
QTreeWidgetItem *item = NULL;
if (dialog->file_closed_)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (pinfo->rec->rec_type != REC_TYPE_PACKET)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (pinfo->rec->presence_flags & WTAP_HAS_INTERFACE_ID) {
gchar *interface;
@@ -281,7 +281,7 @@ gboolean BluetoothDevicesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo
if (interface && dialog->ui->interfaceComboBox->currentIndex() > 0) {
if (dialog->ui->interfaceComboBox->currentText() != interface)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
}
@@ -370,7 +370,7 @@ gboolean BluetoothDevicesDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo
dialog->ui->hintLabel->setText(QString(tr("%1 items; Right click for more option; Double click for device details")).arg(dialog->ui->tableTreeWidget->topLevelItemCount()));
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void BluetoothDevicesDialog::interfaceCurrentIndexChanged(int)
diff --git a/ui/qt/bluetooth_devices_dialog.h b/ui/qt/bluetooth_devices_dialog.h
index 94d14043a1..4d07e1ec2f 100644
--- a/ui/qt/bluetooth_devices_dialog.h
+++ b/ui/qt/bluetooth_devices_dialog.h
@@ -65,7 +65,7 @@ private:
QMenu context_menu_;
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
private slots:
void captureFileClosing();
diff --git a/ui/qt/bluetooth_hci_summary_dialog.cpp b/ui/qt/bluetooth_hci_summary_dialog.cpp
index 19b82f0542..044a6beb7d 100644
--- a/ui/qt/bluetooth_hci_summary_dialog.cpp
+++ b/ui/qt/bluetooth_hci_summary_dialog.cpp
@@ -44,7 +44,7 @@ static const int column_number_reason = 7;
static const int column_number_hardware_error = 8;
static const int column_number_occurrence = 9;
-static gboolean
+static tap_packet_status
bluetooth_hci_summary_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *edt, const void* data)
{
bluetooth_hci_summary_tapinfo_t *tapinfo = (bluetooth_hci_summary_tapinfo_t *) tapinfo_ptr;
@@ -52,7 +52,7 @@ bluetooth_hci_summary_tap_packet(void *tapinfo_ptr, packet_info *pinfo, epan_dis
if (tapinfo->tap_packet)
tapinfo->tap_packet(tapinfo, pinfo, edt, data);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
static void
@@ -332,7 +332,7 @@ void BluetoothHciSummaryDialog::tapReset(void *tapinfo_ptr)
dialog->item_hardware_errors_->setText(column_number_occurrence, "0");
}
-gboolean BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
+tap_packet_status BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data)
{
bluetooth_hci_summary_tapinfo_t *tapinfo = static_cast<bluetooth_hci_summary_tapinfo_t *>(tapinfo_ptr);
BluetoothHciSummaryDialog *dialog = static_cast<BluetoothHciSummaryDialog *>(tapinfo->ui);
@@ -346,10 +346,10 @@ gboolean BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pi
QString name;
if (dialog->file_closed_)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
if (pinfo->rec->rec_type != REC_TYPE_PACKET)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
name = tr("Unknown");
@@ -365,7 +365,7 @@ gboolean BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pi
if (interface && dialog->ui->interfaceComboBox->currentIndex() > 0) {
if (dialog->ui->interfaceComboBox->currentText() != interface)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
}
@@ -377,7 +377,7 @@ gboolean BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pi
if (dialog->ui->adapterComboBox->currentIndex() > 0) {
if (dialog->ui->adapterComboBox->currentText() != adapter)
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
switch (tap_hci->type) {
@@ -768,7 +768,7 @@ gboolean BluetoothHciSummaryDialog::tapPacket(void *tapinfo_ptr, packet_info *pi
dialog->ui->tableTreeWidget->resizeColumnToContents(i);
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void BluetoothHciSummaryDialog::interfaceCurrentIndexChanged(int)
diff --git a/ui/qt/bluetooth_hci_summary_dialog.h b/ui/qt/bluetooth_hci_summary_dialog.h
index 1d3c299a18..0595031ffa 100644
--- a/ui/qt/bluetooth_hci_summary_dialog.h
+++ b/ui/qt/bluetooth_hci_summary_dialog.h
@@ -79,7 +79,7 @@ private:
QTreeWidgetItem *item_hardware_errors_;
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
private slots:
void captureFileClosing();
diff --git a/ui/qt/gsm_map_summary_dialog.cpp b/ui/qt/gsm_map_summary_dialog.cpp
index 0d37d75980..49aa13259a 100644
--- a/ui/qt/gsm_map_summary_dialog.cpp
+++ b/ui/qt/gsm_map_summary_dialog.cpp
@@ -337,7 +337,7 @@ gsm_map_summary_reset(void *tapdata)
}
-static gboolean
+static tap_packet_status
gsm_map_summary_packet(void *tapdata, packet_info *, epan_dissect_t *, const void *gmtr_ptr)
{
gsm_map_stat_t *gm_stat = (gsm_map_stat_t *)tapdata;
@@ -354,7 +354,7 @@ gsm_map_summary_packet(void *tapdata, packet_info *, epan_dissect_t *, const voi
gm_stat->size_rr[gm_tap_rec->opcode] += gm_tap_rec->size;
}
- return(FALSE); /* We have no draw callback */
+ return(TAP_PACKET_DONT_REDRAW); /* We have no draw callback */
}
void
diff --git a/ui/qt/iax2_analysis_dialog.cpp b/ui/qt/iax2_analysis_dialog.cpp
index 4e45127864..e1cf0117b8 100644
--- a/ui/qt/iax2_analysis_dialog.cpp
+++ b/ui/qt/iax2_analysis_dialog.cpp
@@ -613,21 +613,21 @@ void Iax2AnalysisDialog::tapReset(void *tapinfoptr)
iax2_analysis_dialog->resetStatistics();
}
-gboolean Iax2AnalysisDialog::tapPacket(void *tapinfoptr, packet_info *pinfo, struct epan_dissect *, const void *iax2info_ptr)
+tap_packet_status Iax2AnalysisDialog::tapPacket(void *tapinfoptr, packet_info *pinfo, struct epan_dissect *, const void *iax2info_ptr)
{
Iax2AnalysisDialog *iax2_analysis_dialog = dynamic_cast<Iax2AnalysisDialog *>((Iax2AnalysisDialog*)tapinfoptr);
- if (!iax2_analysis_dialog) return FALSE;
+ if (!iax2_analysis_dialog) return TAP_PACKET_DONT_REDRAW;
const iax2_info_t *iax2info = (const iax2_info_t *)iax2info_ptr;
- if (!iax2info) return FALSE;
+ if (!iax2info) return TAP_PACKET_DONT_REDRAW;
/* we ignore packets that are not displayed */
if (pinfo->fd->passed_dfilter == 0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* we ignore packets that carry no data */
if (iax2info->payload_len < 1)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* is it the forward direction? */
else if ((cmp_address(&(iax2_analysis_dialog->fwd_id_.src_addr), &(pinfo->src)) == 0)
@@ -645,7 +645,7 @@ gboolean Iax2AnalysisDialog::tapPacket(void *tapinfoptr, packet_info *pinfo, str
iax2_analysis_dialog->addPacket(false, pinfo, iax2info);
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
void Iax2AnalysisDialog::tapDraw(void *tapinfoptr)
diff --git a/ui/qt/iax2_analysis_dialog.h b/ui/qt/iax2_analysis_dialog.h
index 81f55875f9..e03a524e3d 100644
--- a/ui/qt/iax2_analysis_dialog.h
+++ b/ui/qt/iax2_analysis_dialog.h
@@ -108,7 +108,7 @@ private:
// Tap callbacks
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, struct epan_dissect *, const void *iax2info_ptr);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, struct epan_dissect *, const void *iax2info_ptr);
static void tapDraw(void *tapinfo_ptr);
void resetStatistics();
diff --git a/ui/qt/io_graph_dialog.cpp b/ui/qt/io_graph_dialog.cpp
index 8edcd3ccfe..7f2f5e0cb1 100644
--- a/ui/qt/io_graph_dialog.cpp
+++ b/ui/qt/io_graph_dialog.cpp
@@ -2055,11 +2055,11 @@ void IOGraph::tapReset(void *iog_ptr)
}
// "tap_packet" callback for register_tap_listener
-gboolean IOGraph::tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *)
+tap_packet_status IOGraph::tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *)
{
IOGraph *iog = static_cast<IOGraph *>(iog_ptr);
if (!pinfo || !iog) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
int idx = get_io_graph_index(pinfo, iog->interval_);
@@ -2068,7 +2068,7 @@ gboolean IOGraph::tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *e
/* some sanity checks */
if ((idx < 0) || (idx >= max_io_items_)) {
iog->cur_idx_ = max_io_items_ - 1;
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* update num_items */
@@ -2092,7 +2092,7 @@ gboolean IOGraph::tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *e
}
if (!update_io_graph_item(iog->items_, idx, pinfo, adv_edt, iog->hf_index_, iog->val_units_, iog->interval_)) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
// qDebug() << "=tapPacket" << iog->name_ << idx << iog->hf_index_ << iog->val_units_ << iog->num_items_;
@@ -2100,7 +2100,7 @@ gboolean IOGraph::tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *e
if (recalc) {
emit iog->requestRecalc();
}
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
// "tap_draw" callback for register_tap_listener
diff --git a/ui/qt/io_graph_dialog.h b/ui/qt/io_graph_dialog.h
index 036d84dd8f..184d3a97a3 100644
--- a/ui/qt/io_graph_dialog.h
+++ b/ui/qt/io_graph_dialog.h
@@ -92,7 +92,7 @@ signals:
private:
// Callbacks for register_tap_listener
static void tapReset(void *iog_ptr);
- static gboolean tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *data);
+ static tap_packet_status tapPacket(void *iog_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *data);
static void tapDraw(void *iog_ptr);
void calculateScaledValueUnit();
diff --git a/ui/qt/lbm_lbtrm_transport_dialog.cpp b/ui/qt/lbm_lbtrm_transport_dialog.cpp
index 24657869a0..dc593d8bd3 100644
--- a/ui/qt/lbm_lbtrm_transport_dialog.cpp
+++ b/ui/qt/lbm_lbtrm_transport_dialog.cpp
@@ -1323,7 +1323,7 @@ void LBMLBTRMTransportDialog::resetTap(void * tap_data)
info->clearMaps();
}
-gboolean LBMLBTRMTransportDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * tap_info)
+tap_packet_status LBMLBTRMTransportDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * tap_info)
{
if (pinfo->fd->passed_dfilter == 1)
{
@@ -1332,7 +1332,7 @@ gboolean LBMLBTRMTransportDialog::tapPacket(void * tap_data, packet_info * pinfo
info->processPacket(pinfo, tapinfo);
}
- return (TRUE);
+ return (TAP_PACKET_REDRAW);
}
void LBMLBTRMTransportDialog::drawTreeItems(void *)
diff --git a/ui/qt/lbm_lbtrm_transport_dialog.h b/ui/qt/lbm_lbtrm_transport_dialog.h
index 0c208b274f..b19f800bf7 100644
--- a/ui/qt/lbm_lbtrm_transport_dialog.h
+++ b/ui/qt/lbm_lbtrm_transport_dialog.h
@@ -18,6 +18,7 @@
#include "cfile.h"
#include <epan/packet_info.h>
+#include <epan/tap.h>
#include <QDialog>
class QHeaderView;
@@ -65,7 +66,7 @@ class LBMLBTRMTransportDialog : public QDialog
void resetReceiversDetail(void);
void fillTree(void);
static void resetTap(void * tap_data);
- static gboolean tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
+ static tap_packet_status tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
static void drawTreeItems(void * tap_data);
void loadSourceDataDetails(LBMLBTRMSourceTransportEntry * transport);
void loadSourceRXDataDetails(LBMLBTRMSourceTransportEntry * transport);
diff --git a/ui/qt/lbm_lbtru_transport_dialog.cpp b/ui/qt/lbm_lbtru_transport_dialog.cpp
index 2052318134..920287b622 100644
--- a/ui/qt/lbm_lbtru_transport_dialog.cpp
+++ b/ui/qt/lbm_lbtru_transport_dialog.cpp
@@ -1742,7 +1742,7 @@ void LBMLBTRUTransportDialog::resetTap(void * tap_data)
info->clearMaps();
}
-gboolean LBMLBTRUTransportDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * tap_info)
+tap_packet_status LBMLBTRUTransportDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * tap_info)
{
if (pinfo->fd->passed_dfilter == 1)
{
@@ -1751,7 +1751,7 @@ gboolean LBMLBTRUTransportDialog::tapPacket(void * tap_data, packet_info * pinfo
info->processPacket(pinfo, tapinfo);
}
- return (TRUE);
+ return (TAP_PACKET_REDRAW);
}
void LBMLBTRUTransportDialog::drawTreeItems(void *)
diff --git a/ui/qt/lbm_lbtru_transport_dialog.h b/ui/qt/lbm_lbtru_transport_dialog.h
index 84bdd467bb..cb57c70fed 100644
--- a/ui/qt/lbm_lbtru_transport_dialog.h
+++ b/ui/qt/lbm_lbtru_transport_dialog.h
@@ -18,6 +18,7 @@
#include "cfile.h"
#include <epan/packet_info.h>
+#include <epan/tap.h>
#include <QDialog>
class QHeaderView;
@@ -67,7 +68,7 @@ class LBMLBTRUTransportDialog : public QDialog
void resetReceiversDetail(void);
void fillTree(void);
static void resetTap(void * tap_data);
- static gboolean tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
+ static tap_packet_status tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
static void drawTreeItems(void * tap_data);
void loadSourceDataDetails(LBMLBTRUSourceTransportEntry * transport);
void loadSourceRXDataDetails(LBMLBTRUSourceTransportEntry * transport);
diff --git a/ui/qt/lbm_stream_dialog.cpp b/ui/qt/lbm_stream_dialog.cpp
index 732c59d393..c93d1958e2 100644
--- a/ui/qt/lbm_stream_dialog.cpp
+++ b/ui/qt/lbm_stream_dialog.cpp
@@ -399,7 +399,7 @@ void LBMStreamDialog::resetTap(void * tap_data)
dialog->m_ui->lbm_stream_TreeWidget->clear();
}
-gboolean LBMStreamDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * stream_info)
+tap_packet_status LBMStreamDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t *, const void * stream_info)
{
if (pinfo->fd->passed_dfilter == 1)
{
@@ -408,7 +408,7 @@ gboolean LBMStreamDialog::tapPacket(void * tap_data, packet_info * pinfo, epan_d
info->processPacket(pinfo, tapinfo);
}
- return (TRUE);
+ return (TAP_PACKET_REDRAW);
}
void LBMStreamDialog::drawTreeItems(void *)
diff --git a/ui/qt/lbm_stream_dialog.h b/ui/qt/lbm_stream_dialog.h
index 8e1eb595b6..1ba87c75b1 100644
--- a/ui/qt/lbm_stream_dialog.h
+++ b/ui/qt/lbm_stream_dialog.h
@@ -18,6 +18,7 @@
#include "cfile.h"
#include <epan/packet_info.h>
+#include <epan/tap.h>
#include <QDialog>
namespace Ui
@@ -49,7 +50,7 @@ class LBMStreamDialog : public QDialog
void fillTree(void);
static void resetTap(void * tap_data);
- static gboolean tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
+ static tap_packet_status tapPacket(void * tap_data, packet_info * pinfo, epan_dissect_t * edt, const void * stream_info);
static void drawTreeItems(void * tap_data);
private slots:
diff --git a/ui/qt/lte_mac_statistics_dialog.cpp b/ui/qt/lte_mac_statistics_dialog.cpp
index 012f65f1fb..b356364d28 100644
--- a/ui/qt/lte_mac_statistics_dialog.cpp
+++ b/ui/qt/lte_mac_statistics_dialog.cpp
@@ -712,14 +712,14 @@ void LteMacStatisticsDialog::tapReset(void *ws_dlg_ptr)
//---------------------------------------------------------------------------------------
// Process tap info from a new packet.
-// Returns TRUE if a redraw is needed.
-gboolean LteMacStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info *, epan_dissect *, const void *mac_lte_tap_info_ptr)
+// Returns TAP_PACKET_REDRAW if a redraw is needed, TAP_PACKET_DONT_REDRAW otherwise.
+tap_packet_status LteMacStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info *, epan_dissect *, const void *mac_lte_tap_info_ptr)
{
// Look up dialog and tap info.
LteMacStatisticsDialog *ws_dlg = static_cast<LteMacStatisticsDialog *>(ws_dlg_ptr);
const mac_lte_tap_info *mlt_info = (const mac_lte_tap_info *) mac_lte_tap_info_ptr;
if (!ws_dlg || !mlt_info) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
// Update common stats.
@@ -727,7 +727,7 @@ gboolean LteMacStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info
// Nothing more to do if tap entry isn't for a UE.
if ((mlt_info->rntiType != C_RNTI) && (mlt_info->rntiType != SPS_RNTI)) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
// Look for an existing UE to match this tap info.
@@ -757,7 +757,7 @@ gboolean LteMacStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info
// Update the UE item with info from tap!
mac_ue_ti->update(mlt_info);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
// Return total number of frames tapped.
diff --git a/ui/qt/lte_mac_statistics_dialog.h b/ui/qt/lte_mac_statistics_dialog.h
index 8ba8ec15cc..79f79306e4 100644
--- a/ui/qt/lte_mac_statistics_dialog.h
+++ b/ui/qt/lte_mac_statistics_dialog.h
@@ -52,7 +52,7 @@ private:
// Callbacks for register_tap_listener
static void tapReset(void *ws_dlg_ptr);
- static gboolean tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *mac_lte_tap_info_ptr);
+ static tap_packet_status tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *mac_lte_tap_info_ptr);
static void tapDraw(void *ws_dlg_ptr);
virtual const QString filterExpression();
diff --git a/ui/qt/lte_rlc_statistics_dialog.cpp b/ui/qt/lte_rlc_statistics_dialog.cpp
index 36ce1b127f..e87d703df3 100644
--- a/ui/qt/lte_rlc_statistics_dialog.cpp
+++ b/ui/qt/lte_rlc_statistics_dialog.cpp
@@ -771,14 +771,14 @@ void LteRlcStatisticsDialog::tapReset(void *ws_dlg_ptr)
}
// Process the tap info from a dissected RLC PDU.
-// Returns TRUE if a redraw is needed.
-gboolean LteRlcStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info *, epan_dissect *, const void *rlc_lte_tap_info_ptr)
+// Returns TAP_PACKET_REDRAW if a redraw is needed, TAP_PACKET_DONT_REDRAW otherwise.
+tap_packet_status LteRlcStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info *, epan_dissect *, const void *rlc_lte_tap_info_ptr)
{
// Look up dialog.
LteRlcStatisticsDialog *ws_dlg = static_cast<LteRlcStatisticsDialog *>(ws_dlg_ptr);
const rlc_lte_tap_info *rlt_info = (const rlc_lte_tap_info *) rlc_lte_tap_info_ptr;
if (!ws_dlg || !rlt_info) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
ws_dlg->incFrameCount();
@@ -807,7 +807,7 @@ gboolean LteRlcStatisticsDialog::tapPacket(void *ws_dlg_ptr, struct _packet_info
// Update the UE from the information in the tap structure.
ue_ti->update(rlt_info);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void LteRlcStatisticsDialog::tapDraw(void *ws_dlg_ptr)
diff --git a/ui/qt/lte_rlc_statistics_dialog.h b/ui/qt/lte_rlc_statistics_dialog.h
index 659350d808..aedaa22bd8 100644
--- a/ui/qt/lte_rlc_statistics_dialog.h
+++ b/ui/qt/lte_rlc_statistics_dialog.h
@@ -47,7 +47,7 @@ private:
// Callbacks for register_tap_listener
static void tapReset(void *ws_dlg_ptr);
- static gboolean tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *rlc_lte_tap_info_ptr);
+ static tap_packet_status tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *rlc_lte_tap_info_ptr);
static void tapDraw(void *ws_dlg_ptr);
void updateHeaderLabels();
diff --git a/ui/qt/models/expert_info_model.cpp b/ui/qt/models/expert_info_model.cpp
index 6f16fec56d..7cb5848cc1 100644
--- a/ui/qt/models/expert_info_model.cpp
+++ b/ui/qt/models/expert_info_model.cpp
@@ -375,23 +375,23 @@ void ExpertInfoModel::tapReset(void *eid_ptr)
model->clear();
}
-gboolean ExpertInfoModel::tapPacket(void *eid_ptr, struct _packet_info *pinfo, struct epan_dissect *, const void *data)
+tap_packet_status ExpertInfoModel::tapPacket(void *eid_ptr, struct _packet_info *pinfo, struct epan_dissect *, const void *data)
{
ExpertInfoModel *model = static_cast<ExpertInfoModel*>(eid_ptr);
expert_info_t *expert_info = (expert_info_t *) data;
- gboolean draw_required = FALSE;
+ tap_packet_status status = TAP_PACKET_DONT_REDRAW;
if (!pinfo || !model || !expert_info)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
model->addExpertInfo(*expert_info);
if (model->numEvents((enum ExpertSeverity)expert_info->severity) < 1)
- draw_required = TRUE;
+ status = TAP_PACKET_REDRAW;
model->eventCounts_[(enum ExpertSeverity)expert_info->severity]++;
- return draw_required;
+ return status;
}
void ExpertInfoModel::tapDraw(void *eid_ptr)
diff --git a/ui/qt/models/expert_info_model.h b/ui/qt/models/expert_info_model.h
index 50c9c61dae..ce22fb8d74 100644
--- a/ui/qt/models/expert_info_model.h
+++ b/ui/qt/models/expert_info_model.h
@@ -20,6 +20,7 @@
#include <ui/qt/capture_file.h>
#include <epan/expert.h>
+#include <epan/tap.h>
#include <epan/column-utils.h>
class ExpertPacketItem
@@ -112,7 +113,7 @@ public:
// Callbacks for register_tap_listener
static void tapReset(void *eid_ptr);
- static gboolean tapPacket(void *eid_ptr, struct _packet_info *pinfo, struct epan_dissect *, const void *data);
+ static tap_packet_status tapPacket(void *eid_ptr, struct _packet_info *pinfo, struct epan_dissect *, const void *data);
static void tapDraw(void *eid_ptr);
private:
diff --git a/ui/qt/mtp3_summary_dialog.cpp b/ui/qt/mtp3_summary_dialog.cpp
index 199fd99433..5c5f6ee270 100644
--- a/ui/qt/mtp3_summary_dialog.cpp
+++ b/ui/qt/mtp3_summary_dialog.cpp
@@ -298,7 +298,7 @@ mtp3_summary_reset(
}
-static gboolean
+static tap_packet_status
mtp3_summary_packet(
void *tapdata,
packet_info *,
@@ -314,8 +314,9 @@ mtp3_summary_packet(
/*
* we thought this si_code was not used ?
* is MTP3_NUM_SI_CODE out of date ?
+ * XXX - if this is an error, report it and return TAP_PACKET_FAILED.
*/
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
/*
@@ -341,8 +342,9 @@ mtp3_summary_packet(
{
/*
* too many
+ * XXX - report an error and return TAP_PACKET_FAILED?
*/
- return(FALSE);
+ return(TAP_PACKET_DONT_REDRAW);
}
mtp3_num_used++;
@@ -353,7 +355,7 @@ mtp3_summary_packet(
(*stat_p)[i].mtp3_si_code[data_p->mtp3_si_code].num_msus++;
(*stat_p)[i].mtp3_si_code[data_p->mtp3_si_code].size += data_p->size;
- return(TRUE);
+ return(TAP_PACKET_REDRAW);
}
void
diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp
index 46046cf787..51b6547bfe 100644
--- a/ui/qt/rtp_analysis_dialog.cpp
+++ b/ui/qt/rtp_analysis_dialog.cpp
@@ -656,20 +656,20 @@ void RtpAnalysisDialog::tapReset(void *tapinfo_ptr)
rtp_analysis_dialog->resetStatistics();
}
-gboolean RtpAnalysisDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr)
+tap_packet_status RtpAnalysisDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr)
{
RtpAnalysisDialog *rtp_analysis_dialog = dynamic_cast<RtpAnalysisDialog *>((RtpAnalysisDialog*)tapinfo_ptr);
- if (!rtp_analysis_dialog) return FALSE;
+ if (!rtp_analysis_dialog) return TAP_PACKET_DONT_REDRAW;
const struct _rtp_info *rtpinfo = (const struct _rtp_info *)rtpinfo_ptr;
- if (!rtpinfo) return FALSE;
+ if (!rtpinfo) return TAP_PACKET_DONT_REDRAW;
/* we ignore packets that are not displayed */
if (pinfo->fd->passed_dfilter == 0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* also ignore RTP Version != 2 */
else if (rtpinfo->info_version != 2)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* is it the forward direction? */
else if (rtpstream_id_equal_pinfo_rtp_info(&(rtp_analysis_dialog->fwd_statinfo_.id),pinfo,rtpinfo)) {
@@ -680,7 +680,7 @@ gboolean RtpAnalysisDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epa
rtp_analysis_dialog->addPacket(false, pinfo, rtpinfo);
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
void RtpAnalysisDialog::tapDraw(void *tapinfo_ptr)
diff --git a/ui/qt/rtp_analysis_dialog.h b/ui/qt/rtp_analysis_dialog.h
index 652058f1ac..2e1971c430 100644
--- a/ui/qt/rtp_analysis_dialog.h
+++ b/ui/qt/rtp_analysis_dialog.h
@@ -115,7 +115,7 @@ private:
// Tap callbacks
static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr);
static void tapDraw(void *tapinfo_ptr);
void resetStatistics();
diff --git a/ui/qt/rtp_player_dialog.cpp b/ui/qt/rtp_player_dialog.cpp
index d6d2c1f6e1..52fe9d93aa 100644
--- a/ui/qt/rtp_player_dialog.cpp
+++ b/ui/qt/rtp_player_dialog.cpp
@@ -557,24 +557,24 @@ void RtpPlayerDialog::setPlayPosition(double secs)
}
}
-gboolean RtpPlayerDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr)
+tap_packet_status RtpPlayerDialog::tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr)
{
RtpPlayerDialog *rtp_player_dialog = dynamic_cast<RtpPlayerDialog *>((RtpPlayerDialog*)tapinfo_ptr);
- if (!rtp_player_dialog) return FALSE;
+ if (!rtp_player_dialog) return TAP_PACKET_DONT_REDRAW;
const struct _rtp_info *rtpinfo = (const struct _rtp_info *)rtpinfo_ptr;
- if (!rtpinfo) return FALSE;
+ if (!rtpinfo) return TAP_PACKET_DONT_REDRAW;
/* we ignore packets that are not displayed */
if (pinfo->fd->passed_dfilter == 0)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* also ignore RTP Version != 2 */
else if (rtpinfo->info_version != 2)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
rtp_player_dialog->addPacket(pinfo, rtpinfo);
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
void RtpPlayerDialog::addPacket(packet_info *pinfo, const _rtp_info *rtpinfo)
diff --git a/ui/qt/rtp_player_dialog.h b/ui/qt/rtp_player_dialog.h
index d9e2581059..c1bc38c6be 100644
--- a/ui/qt/rtp_player_dialog.h
+++ b/ui/qt/rtp_player_dialog.h
@@ -118,7 +118,7 @@ private:
// Tap callbacks
// static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *rtpinfo_ptr);
static void tapDraw(void *tapinfo_ptr);
void addPacket(packet_info *pinfo, const struct _rtp_info *rtpinfo);
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index a39a900613..c72200949b 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -157,14 +157,14 @@ void VoipCallsDialog::changeEvent(QEvent *event)
// voip_calls_tapinfo_t *tapinfo = (voip_calls_tapinfo_t *) tapinfo_ptr;
//}
-gboolean VoipCallsDialog::tapPacket(void *, packet_info *, epan_dissect_t *, const void *)
+tap_packet_status VoipCallsDialog::tapPacket(void *, packet_info *, epan_dissect_t *, const void *)
{
#ifdef QT_MULTIMEDIA_LIB
// voip_calls_tapinfo_t *tapinfo = (voip_calls_tapinfo_t *) tapinfo_ptr;
// add_rtp_packet for voip player.
-// return TRUE;
+// return TAP_PACKET_REDRAW;
#endif
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
void VoipCallsDialog::tapDraw(void *tapinfo_ptr)
diff --git a/ui/qt/voip_calls_dialog.h b/ui/qt/voip_calls_dialog.h
index 658be731d8..ef29cf829a 100644
--- a/ui/qt/voip_calls_dialog.h
+++ b/ui/qt/voip_calls_dialog.h
@@ -69,7 +69,7 @@ private:
// Tap callbacks
// static void tapReset(void *tapinfo_ptr);
- static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+ static tap_packet_status tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
static void tapDraw(void *tapinfo_ptr);
void updateCalls();
diff --git a/ui/qt/wireless_timeline.cpp b/ui/qt/wireless_timeline.cpp
index baac452847..c222bb14e3 100644
--- a/ui/qt/wireless_timeline.cpp
+++ b/ui/qt/wireless_timeline.cpp
@@ -349,14 +349,14 @@ void WirelessTimeline::tap_timeline_reset(void* tapdata)
timeline->radio_packet_list = g_hash_table_new(g_direct_hash, g_direct_equal);
}
-gboolean WirelessTimeline::tap_timeline_packet(void *tapdata, packet_info* pinfo, epan_dissect_t* edt _U_, const void *data)
+tap_packet_status WirelessTimeline::tap_timeline_packet(void *tapdata, packet_info* pinfo, epan_dissect_t* edt _U_, const void *data)
{
WirelessTimeline* timeline = (WirelessTimeline*)tapdata;
const struct wlan_radio *wlan_radio_info = (const struct wlan_radio *)data;
/* Save the radio information in our own (GUI) hashtable */
g_hash_table_insert(timeline->radio_packet_list, GUINT_TO_POINTER(pinfo->num), (gpointer)wlan_radio_info);
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
struct wlan_radio* WirelessTimeline::get_wlan_radio(guint32 packet_num)
diff --git a/ui/qt/wireless_timeline.h b/ui/qt/wireless_timeline.h
index 2c2d83913a..9a2972f067 100644
--- a/ui/qt/wireless_timeline.h
+++ b/ui/qt/wireless_timeline.h
@@ -28,6 +28,7 @@
#include <epan/prefs.h>
#include <epan/plugin_if.h>
+#include <epan/tap.h>
#include <epan/timestamp.h>
#include <epan/dissectors/packet-ieee80211-radio.h>
@@ -71,7 +72,7 @@ public slots:
protected:
static void tap_timeline_reset(void* tapdata);
- static gboolean tap_timeline_packet(void *tapdata, packet_info* pinfo, epan_dissect_t* edt, const void *data);
+ static tap_packet_status tap_timeline_packet(void *tapdata, packet_info* pinfo, epan_dissect_t* edt, const void *data);
struct wlan_radio* get_wlan_radio(guint32 packet_num);
diff --git a/ui/qt/wireshark_dialog.cpp b/ui/qt/wireshark_dialog.cpp
index 2c7498a56e..d9535b7524 100644
--- a/ui/qt/wireshark_dialog.cpp
+++ b/ui/qt/wireshark_dialog.cpp
@@ -100,7 +100,7 @@ void WiresharkDialog::updateWidgets()
setWindowTitleFromSubtitle();
}
-bool WiresharkDialog::registerTapListener(const char *tap_name, void *tap_data, const char *filter, guint flags, void(*tap_reset)(void *), gboolean(*tap_packet)(void *, struct _packet_info *, struct epan_dissect *, const void *), void(*tap_draw)(void *))
+bool WiresharkDialog::registerTapListener(const char *tap_name, void *tap_data, const char *filter, guint flags, void (*tap_reset)(void *), tap_packet_status (*tap_packet)(void *, struct _packet_info *, struct epan_dissect *, const void *), void (*tap_draw)(void *))
{
GString *error_string = register_tap_listener(tap_name, tap_data, filter, flags,
tap_reset, tap_packet, tap_draw, NULL);
diff --git a/ui/qt/wireshark_dialog.h b/ui/qt/wireshark_dialog.h
index 57ec1eacb6..a91e6c5659 100644
--- a/ui/qt/wireshark_dialog.h
+++ b/ui/qt/wireshark_dialog.h
@@ -26,6 +26,8 @@
// BaseCaptureDialog, CaptureHelperDialog (or rename CaptureFileDialog to something else - WiresharkFileDialog).
// TapDialog might make sense as well.
+#include <epan/tap.h>
+
#include "capture_file.h"
#include "geometry_state_dialog.h"
@@ -93,7 +95,7 @@ protected:
bool registerTapListener(const char *tap_name, void *tap_data,
const char *filter, guint flags,
void (*tap_reset)(void *tapdata),
- gboolean (*tap_packet)(void *tapdata, struct _packet_info *pinfo, struct epan_dissect *edt, const void *data),
+ tap_packet_status (*tap_packet)(void *tapdata, struct _packet_info *pinfo, struct epan_dissect *edt, const void *data),
void (*tap_draw)(void *tap_data));
/**
diff --git a/ui/qt/wlan_statistics_dialog.cpp b/ui/qt/wlan_statistics_dialog.cpp
index d6ecd64614..4e84a401f7 100644
--- a/ui/qt/wlan_statistics_dialog.cpp
+++ b/ui/qt/wlan_statistics_dialog.cpp
@@ -558,17 +558,17 @@ void WlanStatisticsDialog::tapReset(void *ws_dlg_ptr)
ws_dlg->packet_count_ = 0;
}
-gboolean WlanStatisticsDialog::tapPacket(void *ws_dlg_ptr, _packet_info *, epan_dissect *, const void *wlan_hdr_ptr)
+tap_packet_status WlanStatisticsDialog::tapPacket(void *ws_dlg_ptr, _packet_info *, epan_dissect *, const void *wlan_hdr_ptr)
{
WlanStatisticsDialog *ws_dlg = static_cast<WlanStatisticsDialog *>(ws_dlg_ptr);
const wlan_hdr_t *wlan_hdr = (const wlan_hdr_t *)wlan_hdr_ptr;
- if (!ws_dlg || !wlan_hdr) return FALSE;
+ if (!ws_dlg || !wlan_hdr) return TAP_PACKET_DONT_REDRAW;
guint16 frame_type = wlan_hdr->type & 0xff0;
if (!((frame_type == 0x0) || (frame_type == 0x20) || (frame_type == 0x30))
|| ((frame_type == 0x20) && DATA_FRAME_IS_NULL(wlan_hdr->type))) {
/* Not a management or non null data or extension frame; let's skip it */
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
ws_dlg->packet_count_++;
@@ -595,7 +595,7 @@ gboolean WlanStatisticsDialog::tapPacket(void *ws_dlg_ptr, _packet_info *, epan_
}
wn_ti->update(wlan_hdr);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
void WlanStatisticsDialog::tapDraw(void *ws_dlg_ptr)
diff --git a/ui/qt/wlan_statistics_dialog.h b/ui/qt/wlan_statistics_dialog.h
index 1dc2507741..2bc1233e45 100644
--- a/ui/qt/wlan_statistics_dialog.h
+++ b/ui/qt/wlan_statistics_dialog.h
@@ -32,7 +32,7 @@ private:
// Callbacks for register_tap_listener
static void tapReset(void *ws_dlg_ptr);
- static gboolean tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *wlan_hdr_ptr);
+ static tap_packet_status tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *wlan_hdr_ptr);
static void tapDraw(void *ws_dlg_ptr);
virtual const QString filterExpression();
diff --git a/ui/tap-rlc-graph.c b/ui/tap-rlc-graph.c
index af1a982451..354ee9499e 100644
--- a/ui/tap-rlc-graph.c
+++ b/ui/tap-rlc-graph.c
@@ -50,7 +50,7 @@ gboolean compare_rlc_headers(guint16 ueid1, guint16 channelType1, guint16 channe
/* This is the tap function used to identify a list of channels found in the current frame. It is only used for the single,
currently selected frame. */
-static gboolean
+static tap_packet_status
tap_lte_rlc_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *vip)
{
int n;
@@ -85,7 +85,7 @@ tap_lte_rlc_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt _U_, c
th->num_hdrs++;
}
- return FALSE; /* i.e. no immediate redraw requested */
+ return TAP_PACKET_DONT_REDRAW; /* i.e. no immediate redraw requested */
}
/* Return an array of tap_info structs that were found while dissecting the current frame
@@ -170,7 +170,7 @@ rlc_lte_tap_info *select_rlc_lte_session(capture_file *cf,
}
/* This is the tapping function to update stats when dissecting the whole packet list */
-static gboolean rlc_lte_tap_for_graph_data(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
+static tap_packet_status rlc_lte_tap_for_graph_data(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
struct rlc_graph *graph = (struct rlc_graph *)pct;
const rlc_lte_tap_info *rlchdr = (const rlc_lte_tap_info*)vip;
@@ -224,7 +224,7 @@ static gboolean rlc_lte_tap_for_graph_data(void *pct, packet_info *pinfo, epan_d
graph->last_segment = segment;
}
- return FALSE; /* i.e. no immediate redraw requested */
+ return TAP_PACKET_DONT_REDRAW; /* i.e. no immediate redraw requested */
}
/* If don't have a channel, try to get one from current frame, then read all frames looking for data
diff --git a/ui/tap-rtp-common.c b/ui/tap-rtp-common.c
index d5a991fd14..d8d04f1583 100644
--- a/ui/tap-rtp-common.c
+++ b/ui/tap-rtp-common.c
@@ -355,7 +355,7 @@ static void rtp_write_sample(rtpdump_info_t* rtpdump_info, FILE* file)
/****************************************************************************/
/* whenever a RTP packet is seen by the tap listener */
-int rtpstream_packet_cb(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const void *arg2)
+tap_packet_status rtpstream_packet_cb(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const void *arg2)
{
rtpstream_tapinfo_t *tapinfo = (rtpstream_tapinfo_t *)arg;
const struct _rtp_info *rtpinfo = (const struct _rtp_info *)arg2;
@@ -428,7 +428,7 @@ int rtpstream_packet_cb(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_,
/* increment the packets counter of all streams */
++(tapinfo->npackets);
- return 1; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
else if (tapinfo->mode == TAP_SAVE) {
if (rtpstream_info_cmp(&new_stream_info, tapinfo->filter_stream_fwd)==0) {
@@ -448,7 +448,7 @@ int rtpstream_packet_cb(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_,
tapinfo->tap_mark_packet(tapinfo, pinfo->fd);
}
}
- return 0;
+ return TAP_PACKET_DONT_REDRAW;
}
/****************************************************************************/
diff --git a/ui/tap-rtp-common.h b/ui/tap-rtp-common.h
index a15cf722f1..a51264224f 100644
--- a/ui/tap-rtp-common.h
+++ b/ui/tap-rtp-common.h
@@ -119,7 +119,7 @@ void rtpstream_reset(rtpstream_tapinfo_t *tapinfo);
void rtpstream_reset_cb(void*);
void rtp_write_header(rtpstream_info_t*, FILE*);
-int rtpstream_packet_cb(void*, packet_info*, epan_dissect_t *, const void *);
+tap_packet_status rtpstream_packet_cb(void*, packet_info*, epan_dissect_t *, const void *);
/**
* Evaluate rtpstream_info_t calculations
diff --git a/ui/tap-sctp-analysis.c b/ui/tap-sctp-analysis.c
index 3747f4df3a..1694f29fe0 100644
--- a/ui/tap-sctp-analysis.c
+++ b/ui/tap-sctp-analysis.c
@@ -320,7 +320,7 @@ add_address(address *vadd, sctp_assoc_info_t *info, guint16 direction)
return info;
}
-static gboolean
+static tap_packet_status
packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data)
{
const struct _sctp_info *sctp_info = (const struct _sctp_info *)data;
@@ -1229,7 +1229,7 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
tsn_free(sack);
free_address(&tmp_info.src);
free_address(&tmp_info.dst);
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
diff --git a/ui/tap-tcp-stream.c b/ui/tap-tcp-stream.c
index 036f775525..f0ce7144cd 100644
--- a/ui/tap-tcp-stream.c
+++ b/ui/tap-tcp-stream.c
@@ -36,7 +36,7 @@ typedef struct _tcp_scan_t {
} tcp_scan_t;
-static gboolean
+static tap_packet_status
tapall_tcpip_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip)
{
tcp_scan_t *ts = (tcp_scan_t *)pct;
@@ -96,7 +96,7 @@ tapall_tcpip_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, cons
ts->last = segment;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* here we collect all the external data we will ever need */
@@ -227,7 +227,7 @@ typedef struct _th_t {
struct tcpheader *tcphdrs[MAX_SUPPORTED_TCP_HEADERS];
} th_t;
-static gboolean
+static tap_packet_status
tap_tcpip_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *vip)
{
int n;
@@ -261,7 +261,7 @@ tap_tcpip_packet(void *pct, packet_info *pinfo _U_, epan_dissect_t *edt _U_, con
th->num_hdrs++;
}
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* XXX should be enhanced so that if we have multiple TCP layers in the trace
diff --git a/ui/tap_export_pdu.c b/ui/tap_export_pdu.c
index b5e12b2693..5d5a11986f 100644
--- a/ui/tap_export_pdu.c
+++ b/ui/tap_export_pdu.c
@@ -24,7 +24,7 @@
#include "tap_export_pdu.h"
/* Main entry point to the tap */
-static gboolean
+static tap_packet_status
export_pdu_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data)
{
const exp_pdu_data_t *exp_pdu_data = (const exp_pdu_data_t *)data;
@@ -62,7 +62,7 @@ export_pdu_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const
}
/* XXX: should the rec.rec_header.packet_header.pseudo_header be set to the pinfo's pseudo-header? */
- /* XXX: report errors! */
+ /* XXX: report errors and return TAP_PACKET_FAILED! */
if (!wtap_dump(exp_pdu_tap_data->wdh, &rec, packet_buf, &err, &err_info)) {
switch (err) {
@@ -78,7 +78,7 @@ export_pdu_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const
g_free(packet_buf);
g_free(rec.opt_comment);
- return FALSE; /* Do not redraw */
+ return TAP_PACKET_DONT_REDRAW; /* Do not redraw */
}
int
diff --git a/ui/voip_calls.c b/ui/voip_calls.c
index 566a4e29eb..ae305ad101 100644
--- a/ui/voip_calls.c
+++ b/ui/voip_calls.c
@@ -497,7 +497,7 @@ static void insert_to_graph_t38(voip_calls_tapinfo_t *tapinfo, packet_info *pinf
/****************************************************************************/
/* whenever a rtp event packet is seen by the tap listener */
-static int
+static tap_packet_status
rtp_event_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *rtp_event_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_rtp_event_);
@@ -505,14 +505,14 @@ rtp_event_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _
/* do not consider RTP events packets without a setup frame */
if (pi->info_setup_frame_num == 0) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
tapinfo->rtp_evt_frame_num = pinfo->num;
tapinfo->rtp_evt = pi->info_rtp_evt;
tapinfo->rtp_evt_end = pi->info_end;
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/****************************************************************************/
@@ -580,7 +580,7 @@ rtp_reset(void *tap_offset_ptr)
/****************************************************************************/
/* whenever a RTP packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
rtp_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, void const *rtp_info_ptr)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_rtp_);
@@ -593,7 +593,7 @@ rtp_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, void c
/* do not consider RTP packets without a setup frame */
if (rtp_info->info_setup_frame_num == 0) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
if (tapinfo->tap_packet) {
@@ -629,7 +629,7 @@ rtp_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, void c
/* if this is a duplicated RTP Event End, just return */
if ((tapinfo->rtp_evt_frame_num == pinfo->num) && !strinfo && (tapinfo->rtp_evt_end == TRUE)) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* not in the list? then create a new entry */
@@ -681,7 +681,7 @@ rtp_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, void c
tapinfo->redraw |= REDRAW_RTP;
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/****************************************************************************/
@@ -876,7 +876,7 @@ remove_tap_listener_rtp(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* whenever a T38 packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
t38_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *t38_info_ptr)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_t38_);
@@ -958,7 +958,7 @@ t38_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const
/* at this point we should have found the call num for this t38 packets belong */
if (conv_num == -1) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/* add the item to the graph list */
@@ -1024,7 +1024,7 @@ t38_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const
tapinfo->redraw |= REDRAW_T38;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -1081,7 +1081,7 @@ free_sip_info(gpointer p) {
/****************************************************************************/
/* whenever a SIP packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
sip_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt , const void *SIPinfo)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_sip_);
@@ -1102,7 +1102,7 @@ sip_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt ,
/* do not consider packets without call_id */
if (pi->tap_call_id ==NULL) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
key=pi->tap_call_id;
/* init the hash table */
@@ -1252,7 +1252,7 @@ TODO: is useful but not perfect, what is appended is truncated when displayed in
tapinfo->redraw |= REDRAW_SIP;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -1303,7 +1303,7 @@ remove_tap_listener_sip_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* whenever a isup_ packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
isup_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *isup_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_isup_);
@@ -1321,7 +1321,7 @@ isup_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
/* check if the lower layer is MTP matching the frame number */
if (tapinfo->mtp3_frame_num != pinfo->num)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* check whether we already have a call with these parameters in the list */
list = g_queue_peek_nth_link(tapinfo->callsinfos, 0);
@@ -1453,7 +1453,7 @@ isup_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
tapinfo->redraw |= REDRAW_ISUP;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -1506,7 +1506,7 @@ remove_tap_listener_isup_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* whenever a mtp3_ packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
mtp3_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *mtp3_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_mtp3_);
@@ -1519,10 +1519,10 @@ mtp3_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
tapinfo->mtp3_ni = pi->addr_opc.ni;
tapinfo->mtp3_frame_num = pinfo->num;
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
-static gboolean
+static tap_packet_status
m3ua_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *mtp3_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_m3ua_);
@@ -1535,7 +1535,7 @@ m3ua_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
tapinfo->mtp3_ni = pi->addr_opc.ni;
tapinfo->mtp3_frame_num = pinfo->num;
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
/****************************************************************************/
@@ -1595,7 +1595,7 @@ static const e_guid_t guid_allzero = {0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } };
/****************************************************************************/
/* whenever a q931_ packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *q931_info)
{
GList *list,*list2;
@@ -1852,7 +1852,7 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
tapinfo->redraw |= REDRAW_Q931;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -1934,7 +1934,7 @@ free_h225_info(gpointer p) {
}
/****************************************************************************/
/* whenever a H225 packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
h225_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *H225info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_h225_);
@@ -1952,12 +1952,12 @@ h225_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
/* OR, if not guid and is H225 return because doesn't belong to a call */
if ((memcmp(&pi->guid, &guid_allzero, GUID_LEN) == 0))
if ( ((pi->msg_type == H225_RAS) && ((pi->msg_tag < 18) || (pi->msg_tag > 20))) || (pi->msg_type != H225_RAS) )
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* if it is RAS LCF or LRJ*/
if ( (pi->msg_type == H225_RAS) && ((pi->msg_tag == 19) || (pi->msg_tag == 20))) {
/* if the LCF/LRJ doesn't match to a LRQ, just return */
- if (!pi->request_available) return FALSE;
+ if (!pi->request_available) return TAP_PACKET_DONT_REDRAW;
/* check whether we already have a call with this request SeqNum */
list = g_queue_peek_nth_link(tapinfo->callsinfos, 0);
@@ -2144,7 +2144,7 @@ h225_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
tapinfo->redraw |= REDRAW_H225;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -2243,7 +2243,7 @@ h245_add_label(voip_calls_tapinfo_t *tapinfo, guint32 new_frame_num, const gchar
/****************************************************************************/
/* whenever a H245dg packet is seen by the tap listener (when H245 tunneling is ON) */
-static gboolean
+static tap_packet_status
h245dg_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *H245info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_h245dg_);
@@ -2305,7 +2305,7 @@ h245dg_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *ed
tapinfo->redraw |= REDRAW_H245DG;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -2362,7 +2362,7 @@ remove_tap_listener_h245dg_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************TAP for SDP PROTOCOL ***************************/
/****************************************************************************/
/* whenever a SDP packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
sdp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *SDPinfo)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_sdp_);
@@ -2380,7 +2380,7 @@ sdp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _
tapinfo->redraw |= REDRAW_SDP;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -2542,7 +2542,7 @@ mgcp_dialed_digits(gchar *signalStr, gchar **dialedDigits)
/****************************************************************************/
/* whenever a MGCP packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
mgcp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *MGCPinfo)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_mgcp_);
@@ -2603,7 +2603,7 @@ mgcp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
fromEndpoint = FALSE;
newcall = TRUE;
}
- if (!newcall) return FALSE;
+ if (!newcall) return TAP_PACKET_DONT_REDRAW;
}
} else if ( ((pi->mgcp_type == MGCP_RESPONSE) && pi->request_available) ||
((pi->mgcp_type == MGCP_REQUEST) && pi->is_duplicate) ) {
@@ -2635,8 +2635,8 @@ mgcp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
listGraph = g_list_next(listGraph);
}
/* if there is not a matching request, just return */
- if (callsinfo == NULL) return FALSE;
- } else return FALSE;
+ if (callsinfo == NULL) return TAP_PACKET_DONT_REDRAW;
+ } else return TAP_PACKET_DONT_REDRAW;
/* not in the list? then create a new entry */
if (callsinfo==NULL) {
@@ -2758,7 +2758,7 @@ mgcp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
tapinfo->redraw |= REDRAW_MGCP;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -2815,7 +2815,7 @@ remove_tap_listener_mgcp_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* whenever a ACTRACE packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
actrace_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *ACTRACEinfo)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_actrace_);
@@ -2891,7 +2891,7 @@ actrace_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *e
tapinfo->redraw |= REDRAW_ACTRACE;
- return TRUE; /* refresh output */
+ return TAP_PACKET_REDRAW; /* refresh output */
}
/****************************************************************************/
@@ -2947,7 +2947,7 @@ remove_tap_listener_actrace_calls(voip_calls_tapinfo_t *tap_id_base)
type == GCP_CMD_CTX_ATTR_AUDIT_REQ )
-static gboolean
+static tap_packet_status
h248_calls_packet_common(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info, guint32 redraw_bit) {
const gcp_cmd_t *cmd = (const gcp_cmd_t *)prot_info;
GList *list;
@@ -2957,7 +2957,7 @@ h248_calls_packet_common(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan
gchar mgw_addr[128];
if (cmd->ctx->id == NULL_CONTEXT || cmd->ctx->id == ALL_CONTEXTS ) {
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
}
if ( gcp_is_req(cmd->type) ) {
@@ -3040,10 +3040,10 @@ h248_calls_packet_common(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan
tapinfo->redraw |= redraw_bit;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
-static gboolean
+static tap_packet_status
h248_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info) {
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_h248_);
@@ -3061,7 +3061,7 @@ h248_calls_draw(void *tap_offset_ptr)
}
}
-static gboolean
+static tap_packet_status
megaco_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info) {
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_megaco_);
@@ -3133,7 +3133,7 @@ static const voip_protocol sccp_proto_map[] = {
#define SP2VP(ap) ((ap) < SCCP_PLOAD_NUM_PLOADS ? sccp_proto_map[(ap)] : TEL_SCCP)
const value_string* sccp_payload_values;
-static gboolean
+static tap_packet_status
sccp_calls(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info, guint32 redraw_bit) {
const sccp_msg_info_t* msg = (const sccp_msg_info_t *)prot_info;
sccp_assoc_info_t* assoc = msg->data.co.assoc;
@@ -3233,10 +3233,10 @@ sccp_calls(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *ed
tapinfo->redraw |= redraw_bit;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
-static gboolean
+static tap_packet_status
sccp_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info) {
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_sccp_);
@@ -3255,7 +3255,7 @@ sccp_calls_draw(void *tap_offset_ptr)
}
}
-static gboolean
+static tap_packet_status
sua_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *prot_info) {
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_sua_);
@@ -3319,7 +3319,7 @@ remove_tap_listener_sccp_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************TAP for UNISTIM ********************************/
/****************************************************************************/
-static gboolean
+static tap_packet_status
unistim_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *unistim_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_unistim_);
@@ -3778,7 +3778,7 @@ unistim_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *e
tapinfo->redraw |= REDRAW_UNISTIM;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/****************************************************************************/
@@ -3847,7 +3847,7 @@ static const voip_call_state skinny_tap_voip_state[] = {
VOIP_REJECTED
};
-static gboolean
+static tap_packet_status
skinny_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *skinny_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_skinny_);
@@ -3859,7 +3859,7 @@ skinny_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *ed
gchar *comment;
if (si == NULL || (si->callId == 0 && si->passThroughPartyId == 0))
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* check whether we already have this context in the list */
list = g_queue_peek_nth_link(tapinfo->callsinfos, 0);
while (list)
@@ -3939,7 +3939,7 @@ skinny_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *ed
tapinfo->redraw |= REDRAW_SKINNY;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/****************************************************************************/
@@ -4004,7 +4004,7 @@ static void free_iax2_info(gpointer p) {
/****************************************************************************/
/* whenever a IAX2 packet is seen by the tap listener */
-static gboolean
+static tap_packet_status
iax2_calls_packet( void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *iax2_info)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_iax2_);
@@ -4015,7 +4015,7 @@ iax2_calls_packet( void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
iax2_info_t *tmp_iax2info;
if (ii == NULL || ii->ptype != IAX2_FULL_PACKET || (ii->scallno == 0 && ii->dcallno == 0))
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
/* check whether we already have this context in the list */
list = g_queue_peek_nth_link(tapinfo->callsinfos, 0);
while (list)
@@ -4037,7 +4037,7 @@ iax2_calls_packet( void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
if (callsinfo==NULL) {
/* We only care about real calls, i.e., no registration stuff */
if (ii->ftype != AST_FRAME_IAX || ii->csub != IAX_COMMAND_NEW)
- return FALSE;
+ return TAP_PACKET_DONT_REDRAW;
callsinfo = (voip_calls_info_t *)g_malloc0(sizeof(voip_calls_info_t));
callsinfo->call_state = VOIP_NO_STATE;
callsinfo->call_active_state = VOIP_ACTIVE;
@@ -4077,7 +4077,7 @@ iax2_calls_packet( void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
tapinfo->redraw |= REDRAW_IAX2;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
@@ -4138,7 +4138,7 @@ remove_tap_listener_iax2_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* voip_calls_packet and voip_calls_init_tap appear to be dead code. We don't have a "voip" tap. */
-static gboolean
+static tap_packet_status
voip_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const void *VoIPinfo)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_voip_);
@@ -4202,7 +4202,7 @@ voip_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
tapinfo->redraw |= REDRAW_VOIP;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/****************************************************************************/
@@ -4254,7 +4254,7 @@ remove_tap_listener_voip_calls(voip_calls_tapinfo_t *tap_id_base)
/****************************************************************************/
/* whenever a prot_ packet is seen by the tap listener */
#if 0
-static gboolean
+static tap_packet_status
prot_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prot_info _U_)
{
voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_prot_);
@@ -4268,7 +4268,7 @@ prot_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt
tapinfo->redraw = REDRAW_PROT;
- return TRUE;
+ return TAP_PACKET_REDRAW;
}
/****************************************************************************/