aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfile.c6
-rw-r--r--cfile.h4
-rw-r--r--epan/epan-int.h12
-rw-r--r--epan/epan.c10
-rw-r--r--file.c10
-rw-r--r--rawshark.c4
-rw-r--r--sharkd.c6
-rw-r--r--tfshark.c8
-rw-r--r--tools/oss-fuzzshark/fuzzshark.c2
-rw-r--r--tshark.c6
10 files changed, 29 insertions, 39 deletions
diff --git a/cfile.c b/cfile.c
index 4bfd9180da..4115df4573 100644
--- a/cfile.c
+++ b/cfile.c
@@ -19,9 +19,8 @@
#include "cfile.h"
const char *
-cap_file_get_interface_name(void *data, guint32 interface_id)
+cap_file_get_interface_name(struct _capture_file *cf, guint32 interface_id)
{
- capture_file *cf = (capture_file *) data;
wtapng_iface_descriptions_t *idb_info;
wtap_block_t wtapng_if_descr = NULL;
char* interface_name;
@@ -43,9 +42,8 @@ cap_file_get_interface_name(void *data, guint32 interface_id)
}
const char *
-cap_file_get_interface_description(void *data, guint32 interface_id)
+cap_file_get_interface_description(struct _capture_file *cf, guint32 interface_id)
{
- capture_file *cf = (capture_file *) data;
wtapng_iface_descriptions_t *idb_info;
wtap_block_t wtapng_if_descr = NULL;
char* interface_name;
diff --git a/cfile.h b/cfile.h
index bfb7d9bbca..8f323648bb 100644
--- a/cfile.h
+++ b/cfile.h
@@ -112,8 +112,8 @@ typedef struct _capture_file {
extern void cap_file_init(capture_file *cf);
-extern const char *cap_file_get_interface_name(void *data, guint32 interface_id);
-extern const char *cap_file_get_interface_description(void *data, guint32 interface_id);
+extern const char *cap_file_get_interface_name(struct _capture_file *cf, guint32 interface_id);
+extern const char *cap_file_get_interface_description(struct _capture_file *cf, guint32 interface_id);
#ifdef __cplusplus
}
diff --git a/epan/epan-int.h b/epan/epan-int.h
index 15b059f388..05ae6407cb 100644
--- a/epan/epan-int.h
+++ b/epan/epan-int.h
@@ -25,13 +25,15 @@
#include <epan/frame_data.h>
#include <wsutil/nstime.h>
+struct _capture_file;
+
struct epan_session {
- void *data;
+ struct _capture_file *cf;
- const nstime_t *(*get_frame_ts)(void *data, guint32 frame_num);
- const char *(*get_interface_name)(void *data, guint32 interface_id);
- const char *(*get_interface_description)(void *data, guint32 interface_id);
- const char *(*get_user_comment)(void *data, const frame_data *fd);
+ const nstime_t *(*get_frame_ts)(struct _capture_file *cf, guint32 frame_num);
+ const char *(*get_interface_name)(struct _capture_file *cf, guint32 interface_id);
+ const char *(*get_interface_description)(struct _capture_file *cf, guint32 interface_id);
+ const char *(*get_user_comment)(struct _capture_file *cf, const frame_data *fd);
};
#endif
diff --git a/epan/epan.c b/epan/epan.c
index bdd19cd6e8..0bb62232dd 100644
--- a/epan/epan.c
+++ b/epan/epan.c
@@ -286,7 +286,7 @@ epan_cleanup(void)
epan_t *
epan_new(void)
{
- epan_t *session = g_slice_new(epan_t);
+ epan_t *session = g_slice_new0(epan_t);
/* XXX, it should take session as param */
init_dissection();
@@ -298,7 +298,7 @@ const char *
epan_get_user_comment(const epan_t *session, const frame_data *fd)
{
if (session->get_user_comment)
- return session->get_user_comment(session->data, fd);
+ return session->get_user_comment(session->cf, fd);
return NULL;
}
@@ -307,7 +307,7 @@ const char *
epan_get_interface_name(const epan_t *session, guint32 interface_id)
{
if (session->get_interface_name)
- return session->get_interface_name(session->data, interface_id);
+ return session->get_interface_name(session->cf, interface_id);
return NULL;
}
@@ -316,7 +316,7 @@ const char *
epan_get_interface_description(const epan_t *session, guint32 interface_id)
{
if (session->get_interface_description)
- return session->get_interface_description(session->data, interface_id);
+ return session->get_interface_description(session->cf, interface_id);
return NULL;
}
@@ -327,7 +327,7 @@ epan_get_frame_ts(const epan_t *session, guint32 frame_num)
const nstime_t *abs_ts = NULL;
if (session->get_frame_ts)
- abs_ts = session->get_frame_ts(session->data, frame_num);
+ abs_ts = session->get_frame_ts(session->cf, frame_num);
if (!abs_ts)
ws_g_warning("!!! couldn't get frame ts for %u !!!\n", frame_num);
diff --git a/file.c b/file.c
index f8748c4f83..edef35f77e 100644
--- a/file.c
+++ b/file.c
@@ -225,10 +225,8 @@ static void compute_elapsed(capture_file *cf, GTimeVal *start_time)
}
static const nstime_t *
-ws_get_frame_ts(void *data, guint32 frame_num)
+ws_get_frame_ts(struct _capture_file *cf, guint32 frame_num)
{
- capture_file *cf = (capture_file *) data;
-
if (cf->prev_dis && cf->prev_dis->num == frame_num)
return &cf->prev_dis->abs_ts;
@@ -245,10 +243,8 @@ ws_get_frame_ts(void *data, guint32 frame_num)
}
static const char *
-ws_get_user_comment(void *data, const frame_data *fd)
+ws_get_user_comment(struct _capture_file *cf, const frame_data *fd)
{
- capture_file *cf = (capture_file *) data;
-
return cf_get_user_packet_comment(cf, fd);
}
@@ -257,7 +253,7 @@ ws_epan_new(capture_file *cf)
{
epan_t *epan = epan_new();
- epan->data = cf;
+ epan->cf = cf;
epan->get_frame_ts = ws_get_frame_ts;
epan->get_interface_name = cap_file_get_interface_name;
epan->get_interface_description = cap_file_get_interface_description;
diff --git a/rawshark.c b/rawshark.c
index c3bbb7660d..c385713217 100644
--- a/rawshark.c
+++ b/rawshark.c
@@ -1466,7 +1466,7 @@ open_failure_message(const char *filename, int err, gboolean for_writing)
}
static const nstime_t *
-raw_get_frame_ts(void *data _U_, guint32 frame_num)
+raw_get_frame_ts(struct _capture_file *cf _U_, guint32 frame_num)
{
if (ref && ref->num == frame_num)
return &ref->abs_ts;
@@ -1485,7 +1485,7 @@ raw_epan_new(capture_file *cf)
{
epan_t *epan = epan_new();
- epan->data = cf;
+ epan->cf = cf;
epan->get_frame_ts = raw_get_frame_ts;
epan->get_interface_name = cap_file_get_interface_name;
epan->get_interface_description = cap_file_get_interface_description;
diff --git a/sharkd.c b/sharkd.c
index c24e3f3ecc..e7cfc3bd58 100644
--- a/sharkd.c
+++ b/sharkd.c
@@ -224,10 +224,8 @@ clean_exit:
}
static const nstime_t *
-sharkd_get_frame_ts(void *data, guint32 frame_num)
+sharkd_get_frame_ts(struct _capture_file *cf, guint32 frame_num)
{
- capture_file *cf = (capture_file *) data;
-
if (ref && ref->num == frame_num)
return &ref->abs_ts;
@@ -251,7 +249,7 @@ sharkd_epan_new(capture_file *cf)
{
epan_t *epan = epan_new();
- epan->data = cf;
+ epan->cf = cf;
epan->get_frame_ts = sharkd_get_frame_ts;
epan->get_interface_name = cap_file_get_interface_name;
epan->get_interface_description = cap_file_get_interface_description;
diff --git a/tfshark.c b/tfshark.c
index 00380bf8e9..e7dedaf58e 100644
--- a/tfshark.c
+++ b/tfshark.c
@@ -1026,10 +1026,8 @@ clean_exit:
}
static const nstime_t *
-tfshark_get_frame_ts(void *data, guint32 frame_num)
+tfshark_get_frame_ts(struct _capture_file *cf, guint32 frame_num)
{
- capture_file *cf = (capture_file *) data;
-
if (ref && ref->num == frame_num)
return &ref->abs_ts;
@@ -1049,7 +1047,7 @@ tfshark_get_frame_ts(void *data, guint32 frame_num)
}
static const char *
-no_interface_name(void *data _U_, guint32 interface_id _U_)
+no_interface_name(struct _capture_file *cf _U_, guint32 interface_id _U_)
{
return "";
}
@@ -1059,7 +1057,7 @@ tfshark_epan_new(capture_file *cf)
{
epan_t *epan = epan_new();
- epan->data = cf;
+ epan->cf = cf;
epan->get_frame_ts = tfshark_get_frame_ts;
epan->get_interface_name = no_interface_name;
epan->get_user_comment = NULL;
diff --git a/tools/oss-fuzzshark/fuzzshark.c b/tools/oss-fuzzshark/fuzzshark.c
index 9500d99f6a..d05838da20 100644
--- a/tools/oss-fuzzshark/fuzzshark.c
+++ b/tools/oss-fuzzshark/fuzzshark.c
@@ -111,7 +111,7 @@ failure_message_cont(const char *msg_format, va_list ap)
}
static const nstime_t *
-fuzzshark_get_frame_ts(void *data _U_, guint32 frame_num _U_)
+fuzzshark_get_frame_ts(struct _capture_file *cf _U_, guint32 frame_num _U_)
{
static nstime_t empty;
diff --git a/tshark.c b/tshark.c
index 7e013ba274..1c0ec4c4db 100644
--- a/tshark.c
+++ b/tshark.c
@@ -2346,10 +2346,8 @@ pipe_input_set_handler(gint source, gpointer user_data, ws_process_id *child_pro
}
static const nstime_t *
-tshark_get_frame_ts(void *data, guint32 frame_num)
+tshark_get_frame_ts(struct _capture_file *cf, guint32 frame_num)
{
- capture_file *cf = (capture_file *) data;
-
if (ref && ref->num == frame_num)
return &ref->abs_ts;
@@ -2373,7 +2371,7 @@ tshark_epan_new(capture_file *cf)
{
epan_t *epan = epan_new();
- epan->data = cf;
+ epan->cf = cf;
epan->get_frame_ts = tshark_get_frame_ts;
epan->get_interface_name = cap_file_get_interface_name;
epan->get_interface_description = cap_file_get_interface_description;