From 520a1b20660f6ce071d8b4e535f12c93a5699d6f Mon Sep 17 00:00:00 2001 From: Jim Young Date: Mon, 30 Jan 2017 02:45:15 -0500 Subject: Make the capture file's interface description filterable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch introduces the frame.interface_description field. While testing this new functionality it became obvious that we have a non-optimal interaction between the existing cfile.c's cap_file_get_interface_name(), the recently added frame.interface_name field and this new frame.interface_description field. The string returned from cap_file_get_interface_name() may in fact come from one of three different sources: the idb's interface name (if it exists) or the idb's interface description (if that exists) or a default text of "unknown". The string ultimately becomes the rame.interface_name whether or not the idb had an interface name option to begin with. This behavior does not allow one to test for the simple presence of frame.interface_name. The new peer function cap_file_get_interface_description() added by this patch returns NULL instead of "unknown" if the idb does not have an interface description. Should cap_file_get_interface_name() be similarly modified to return NULL if the idb does not have an interface name? Bug: 9781 Change-Id: Ie479f373c5080c004dd22bd88919838feca71e95 Reviewed-on: https://code.wireshark.org/review/19861 Petri-Dish: Stig Bjørlykke Tested-by: Petri Dish Buildbot Petri-Dish: Alexis La Goutte Reviewed-by: Alexis La Goutte Reviewed-by: Anders Broman --- epan/epan.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'epan/epan.h') diff --git a/epan/epan.h b/epan/epan.h index e1dacdc390..3a1e742d14 100644 --- a/epan/epan.h +++ b/epan/epan.h @@ -131,7 +131,7 @@ void epan_circuit_cleanup(void); /** A client will create one epan_t for an entire dissection session. * A single epan_t will be used to analyze the entire sequence of packets, * sequentially, in a single session. A session corresponds to a single - * packet trace file. The reaons epan_t exists is that some packets in + * packet trace file. The reasons epan_t exists is that some packets in * some protocols cannot be decoded without knowledge of previous packets. * This inter-packet "state" is stored in the epan_t. */ @@ -143,6 +143,8 @@ WS_DLL_PUBLIC const char *epan_get_user_comment(const epan_t *session, const fra WS_DLL_PUBLIC const char *epan_get_interface_name(const epan_t *session, guint32 interface_id); +WS_DLL_PUBLIC const char *epan_get_interface_description(const epan_t *session, guint32 interface_id); + const nstime_t *epan_get_frame_ts(const epan_t *session, guint32 frame_num); WS_DLL_PUBLIC void epan_free(epan_t *session); -- cgit v1.2.1