diff options
author | Guy Harris <guy@alum.mit.edu> | 1999-11-06 06:28:07 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 1999-11-06 06:28:07 +0000 |
commit | f0889e55c1913a8ca89e2f0c2f1ad9b701fa8779 (patch) | |
tree | acf447680007e0258ef70dea3e295601b5ca8195 /file.h | |
parent | bba1ad82d1179e0fe43d2aab42f418613d8a3062 (diff) |
Add a "Find Frame" menu item under "Display"; it lets you use a display
filter to search forward or backward in the list of displayed frames for
a matching frame.
When filtering the display, readjust the display to show the "current"
frame if it passed the display filter. When a file is read in, the
first frame becomes the "current" frame; when a frame is selected, it
becomes the "current" frame, and remains so *even if you unselect it*,
until another frame is selected.
Select the first frame when a file is read in.
Disable most of the "Display" and "Tools" menu items if there's no
current capture file, and enable the relevant ones if there is.
svn path=/trunk/; revision=982
Diffstat (limited to 'file.h')
-rw-r--r-- | file.h | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -1,7 +1,7 @@ /* file.h * Definitions for file structures and routines * - * $Id: file.h,v 1.49 1999/10/11 06:39:03 guy Exp $ + * $Id: file.h,v 1.50 1999/11/06 06:26:57 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -110,13 +110,17 @@ typedef struct _capture_file { gchar *cfilter; /* Capture filter string */ bpf_prog fcode; /* Compiled capture filter program */ #endif + gchar *sfilter; /* Search filter string */ + gboolean sbackward; /* TRUE if search is backward, FALSE if forward */ guint8 pd[WTAP_MAX_PACKET_SIZE]; /* Packet data */ frame_data *plist; /* Packet list */ frame_data *plist_end; /* Last packet in list */ + frame_data *first_displayed; /* First frame displayed */ + frame_data *last_displayed; /* Last frame displayed */ column_info cinfo; /* Column formatting information */ - int selected_packet; /* Index in packet list of currently selected packet, if any */ - int selected_row; /* Row in packet display of currently selected packet, if any */ - frame_data *fd; /* Frame data for currently selected packet */ + frame_data *current_frame; /* Frame data for current frame */ + int current_row; /* Row in packet display of current frame */ + gboolean current_frame_is_selected; /* TRUE if that frame is selected */ proto_tree *protocol_tree; /* Protocol tree for currently selected packet */ FILE *print_fh; /* File we're printing to */ } capture_file; @@ -131,6 +135,7 @@ void filter_packets(capture_file *cf, gchar *dfilter); void colorize_packets(capture_file *); int print_packets(capture_file *cf, print_args_t *print_args); void change_time_formats(capture_file *); +void find_packet(capture_file *cf, dfilter *sfcode); void select_packet(capture_file *, int); void unselect_packet(capture_file *); |