diff options
author | Guy Harris <guy@alum.mit.edu> | 2010-08-13 07:39:46 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2010-08-13 07:39:46 +0000 |
commit | 2a328da4ef66f37388b841803b2df149b4f68840 (patch) | |
tree | 7e0a10dd76d94da164a22f52bcec418f4cd13667 /cfile.h | |
parent | 432cfde19c7e1b93ccd4457eb27a501e55525b2b (diff) | |
download | wireshark-2a328da4ef66f37388b841803b2df149b4f68840.tar.gz |
Instead of using a Boolean for the search direction, use an enum, so
that you can tell from examination whether the search is forward or
backward.
Make the cf_find_packet routines take the direction as an explicit
argument, rather than, in the cases where you don't want to permanently
set the direction, saving the direction in the capture_file structure,
changing it, doing the search, and restoring the saved direction. Give
more information in the Doxygen comments for those routines.
Add a cf_find_packet_dfilter_string() routine, which takes a filter
string rather than a compiled filter as an argument. Replace
find_previous_next_frame_with_filter() with it.
Have cf_read_frame_r() and cf_read_frame() pop up the error dialog if
the read fails, rather than leaving that up to its caller. That lets us
eliminate cf_read_error_message(), by swallowing its code into
cf_read_frame_r(). Add Doxygen comments for cf_read_frame_r() and
cf_read_frame().
Don't have find_packet() read the packet before calling the callback
routine; leave that up to the callback routine.
Add cf_find_packet_marked(), to find the next or previous marked packet,
and cf_find_packet_time_reference(), to find the next or previous time
reference packet. Those routines do *not* need to read the packet data
to see if it matches; that lets them run much faster.
Clean up indentation.
svn path=/trunk/; revision=33791
Diffstat (limited to 'cfile.h')
-rw-r--r-- | cfile.h | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -41,6 +41,11 @@ typedef enum { /* add EBCDIC when it's implemented */ } search_charset_t; +typedef enum { + SD_FORWARD, + SD_BACKWARD +} search_direction; + typedef struct _capture_file { file_state state; /* Current state of capture file */ gchar *filename; /* Name of capture file */ @@ -65,7 +70,7 @@ typedef struct _capture_file { gboolean redissecting; /* TRUE if currently redissecting (cf_redissect_packets) */ /* search */ gchar *sfilter; /* Search filter string */ - gboolean sbackward; /* TRUE if search is backward, FALSE if forward */ + search_direction dir; /* Direction in which to do searches */ gboolean hex; /* TRUE is raw data search is being performed */ gboolean string; /* TRUE is text search is being performed */ guint32 search_pos; /* Position of last character found in search */ |