summaryrefslogtreecommitdiff
path: root/cfile.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2010-08-13 07:39:46 +0000
committerGuy Harris <guy@alum.mit.edu>2010-08-13 07:39:46 +0000
commit2a328da4ef66f37388b841803b2df149b4f68840 (patch)
tree7e0a10dd76d94da164a22f52bcec418f4cd13667 /cfile.h
parent432cfde19c7e1b93ccd4457eb27a501e55525b2b (diff)
downloadwireshark-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.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/cfile.h b/cfile.h
index f98f1e74f7..9e7dd0851f 100644
--- a/cfile.h
+++ b/cfile.h
@@ -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 */