diff options
author | Guy Harris <guy@alum.mit.edu> | 2017-12-03 21:01:18 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2017-12-04 05:02:18 +0000 |
commit | 1834dca3654ccec238bae130715871be3d8fa344 (patch) | |
tree | 5f1de666575b16f58be5a2f7b4e40cc5b93c02dc /rawshark.c | |
parent | 02944c412b4d9d7661c0a2b3eb9df44d632878ee (diff) |
Move the parts of a capture_file used by libwireshark to a new structure.
Embed one of those structures in a capture_file, and have a struct
epan_session point to that structure rather than to a capture_file.
Pass that structure to the routines that fetch data that libwireshark
uses when dissecting.
That separates the stuff that libwireshark expects from the stuff that
it doesn't look at.
Change-Id: Ia3cd28efb9622476437a2ce32204597fae720877
Reviewed-on: https://code.wireshark.org/review/24692
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'rawshark.c')
-rw-r--r-- | rawshark.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/rawshark.c b/rawshark.c index 5f8030ee7f..02825bf956 100644 --- a/rawshark.c +++ b/rawshark.c @@ -1028,11 +1028,11 @@ process_packet(capture_file *cf, epan_dissect_t *edt, gint64 offset, printf("%lu", (unsigned long int) cf->count); frame_data_set_before_dissect(&fdata, &cf->elapsed_time, - &cf->ref, cf->prev_dis); + &cf->frame_set_info.ref, cf->frame_set_info.prev_dis); - if (cf->ref == &fdata) { + if (cf->frame_set_info.ref == &fdata) { ref_frame = fdata; - cf->ref = &ref_frame; + cf->frame_set_info.ref = &ref_frame; } /* We only need the columns if we're printing packet info but we're @@ -1042,10 +1042,10 @@ process_packet(capture_file *cf, epan_dissect_t *edt, gint64 offset, frame_data_set_after_dissect(&fdata, &cum_bytes); prev_dis_frame = fdata; - cf->prev_dis = &prev_dis_frame; + cf->frame_set_info.prev_dis = &prev_dis_frame; prev_cap_frame = fdata; - cf->prev_cap = &prev_cap_frame; + cf->frame_set_info.prev_cap = &prev_cap_frame; for(i = 0; i < n_rfilters; i++) { /* Run the read filter if we have one. */ @@ -1464,16 +1464,16 @@ open_failure_message(const char *filename, int err, gboolean for_writing) } static const nstime_t * -raw_get_frame_ts(capture_file *cf, guint32 frame_num) +raw_get_frame_ts(frame_set *fs, guint32 frame_num) { - if (cf->ref && cf->ref->num == frame_num) - return &cf->ref->abs_ts; + if (fs->ref && fs->ref->num == frame_num) + return &fs->ref->abs_ts; - if (cf->prev_dis && cf->prev_dis->num == frame_num) - return &cf->prev_dis->abs_ts; + if (fs->prev_dis && fs->prev_dis->num == frame_num) + return &fs->prev_dis->abs_ts; - if (cf->prev_cap && cf->prev_cap->num == frame_num) - return &cf->prev_cap->abs_ts; + if (fs->prev_cap && fs->prev_cap->num == frame_num) + return &fs->prev_cap->abs_ts; return NULL; } @@ -1483,10 +1483,10 @@ raw_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->cf = cf; + epan->fs = &cf->frame_set_info; 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; + epan->get_interface_name = frame_set_get_interface_name; + epan->get_interface_description = frame_set_get_interface_description; epan->get_user_comment = NULL; return epan; @@ -1504,7 +1504,7 @@ raw_cf_open(capture_file *cf, const char *fname) epan_free(cf->epan); cf->epan = raw_epan_new(cf); - cf->wth = NULL; + cf->frame_set_info.wth = NULL; cf->f_datalen = 0; /* not used, but set it anyway */ /* Set the file name because we need it to set the follow stream filter. @@ -1525,9 +1525,9 @@ raw_cf_open(capture_file *cf, const char *fname) cf->drops = 0; cf->snap = 0; nstime_set_zero(&cf->elapsed_time); - cf->ref = NULL; - cf->prev_dis = NULL; - cf->prev_cap = NULL; + cf->frame_set_info.ref = NULL; + cf->frame_set_info.prev_dis = NULL; + cf->frame_set_info.prev_cap = NULL; return CF_OK; } |