X-Git-Url: http://git.samba.org/samba.git/?p=obnox%2Fwireshark%2Fwip.git;a=blobdiff_plain;f=cfile.h;h=f98f1e74f7db809d96e2de4dff6907ee4c1482aa;hp=f2e8b29e8553238892f00de16266bb409b0af5b4;hb=5c64c2524691067dd99e3c63368e697fb00e42ed;hpb=1492a726f332fa03496eda2a1b7affddea2b23ab diff --git a/cfile.h b/cfile.h index f2e8b29e85..f98f1e74f7 100644 --- a/cfile.h +++ b/cfile.h @@ -1,10 +1,10 @@ /* cfile.h * capture_file definition & GUI-independent manipulation * - * $Id: cfile.h,v 1.3 2003/08/29 04:03:45 guy Exp $ + * $Id$ * - * Ethereal - Network traffic analyzer - * By Gerald Combs + * Wireshark - Network traffic analyzer + * By Gerald Combs * Copyright 1998 Gerald Combs * * This program is free software; you can redistribute it and/or @@ -27,72 +27,76 @@ /* Current state of file. */ typedef enum { - FILE_CLOSED, /* No file open */ - FILE_READ_IN_PROGRESS, /* Reading a file we've opened */ - FILE_READ_ABORTED, /* Read aborted by user */ - FILE_READ_DONE /* Read completed */ + FILE_CLOSED, /* No file open */ + FILE_READ_IN_PROGRESS, /* Reading a file we've opened */ + FILE_READ_ABORTED, /* Read aborted by user */ + FILE_READ_DONE /* Read completed */ } file_state; /* Character set for text search. */ typedef enum { - SCS_ASCII_AND_UNICODE, - SCS_ASCII, - SCS_UNICODE - /* add EBCDIC when it's implemented */ + SCS_ASCII_AND_UNICODE, + SCS_ASCII, + SCS_UNICODE + /* add EBCDIC when it's implemented */ } search_charset_t; typedef struct _capture_file { - file_state state; /* Current state of capture file */ - int filed; /* File descriptor of capture file */ - gchar *filename; /* Name of capture file */ - gboolean is_tempfile; /* Is capture file a temporary file? */ - gboolean user_saved;/* If capture file is temporary, has it been saved by user yet? */ - long f_len; /* Length of capture file */ - guint16 cd_t; /* File type of capture file */ - int lnk_t; /* Link-layer type with which to save capture */ - guint32 vers; /* Version. For tcpdump minor is appended to major */ - int count; /* Total number of frames */ - int marked_count; /* Number of marked frames */ - gboolean drops_known; /* TRUE if we know how many packets were dropped */ - guint32 drops; /* Dropped packets */ - guint32 esec; /* Elapsed seconds */ - guint32 eusec; /* Elapsed microseconds */ - gboolean has_snap; /* TRUE if maximum capture packet length is known */ - int snap; /* Maximum captured packet length */ - long progbar_quantum; /* Number of bytes read per progress bar update */ - long progbar_nextstep; /* Next point at which to update progress bar */ - gchar *iface; /* Interface */ - gchar *save_file; /* File that user saved capture to */ - int save_file_fd; /* File descriptor for saved file */ - wtap *wth; /* Wiretap session */ - dfilter_t *rfcode; /* Compiled read filter program */ - gchar *dfilter; /* Display filter string */ - dfilter_t *dfcode; /* Compiled display filter program */ -#ifdef HAVE_LIBPCAP - gchar *cfilter; /* Capture filter string */ -#endif - gchar *sfilter; /* Search filter string */ - gboolean sbackward; /* TRUE if search is backward, FALSE if forward */ - gboolean hex; /* TRUE is raw data search is being performed */ - gboolean ascii; /* TRUE is text search is being performed */ - search_charset_t scs_type; /* Character set for text search */ - gboolean case_type; /* TRUE if case-insensitive text search */ - gboolean decode_data; /* TRUE if searching protocol tree text */ - gboolean summary_data; /* TRUE if searching Info column text */ - union wtap_pseudo_header pseudo_header; /* Packet pseudo_header */ + file_state state; /* Current state of capture file */ + gchar *filename; /* Name of capture file */ + gchar *source; /* Temp file source, e.g. "Pipe from elsewhere" */ + gboolean is_tempfile; /* Is capture file a temporary file? */ + gboolean user_saved; /* If capture file is temporary, has it been saved by user yet? */ + gint64 f_datalen; /* Size of capture file data (uncompressed) */ + guint16 cd_t; /* File type of capture file */ + int lnk_t; /* Link-layer type with which to save capture */ + int count; /* Total number of frames */ + int displayed_count; /* Number of displayed frames */ + int marked_count; /* Number of marked frames */ + int ignored_count; /* Number of ignored frames */ + gboolean drops_known; /* TRUE if we know how many packets were dropped */ + guint32 drops; /* Dropped packets */ + nstime_t elapsed_time; /* Elapsed time */ + gboolean has_snap; /* TRUE if maximum capture packet length is known */ + int snap; /* Maximum captured packet length */ + wtap *wth; /* Wiretap session */ + dfilter_t *rfcode; /* Compiled read (display) filter program */ + gchar *dfilter; /* Display filter string */ + 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 */ + 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 */ + search_charset_t scs_type; /* Character set for text search */ + gboolean case_type; /* TRUE if case-insensitive text search */ + gboolean decode_data; /* TRUE if searching protocol tree text */ + gboolean summary_data; /* TRUE if searching Info column text */ + /* packet data */ + union wtap_pseudo_header pseudo_header; /* Packet pseudo_header */ guint8 pd[WTAP_MAX_PACKET_SIZE]; /* Packet data */ - GMemChunk *plist_chunk; /* Memory chunk for frame_data structures */ - frame_data *plist; /* Packet list */ - frame_data *plist_end; /* Last packet in list */ + /* memory chunks have been deprecated in favor of the slice allocator, + * which has been added in 2.10 + */ +#if GLIB_CHECK_VERSION(2,10,0) + +#else + GMemChunk *plist_chunk; /* Memory chunk for frame_data structures */ +#endif + frame_data *plist_start; /* 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 */ - frame_data *current_frame; /* Frame data for current frame */ - epan_dissect_t *edt; /* Protocol dissection for currently selected packet */ - FILE *print_fh; /* File we're printing to */ - struct ph_stats_s* pstats; /* accumulated stats (reset on redisplay in GUI)*/ + column_info cinfo; /* Column formatting information */ + frame_data *current_frame; /* Frame data for current frame */ + gint current_row; /* Row number for current frame */ + epan_dissect_t *edt; /* Protocol dissection for currently selected packet */ + field_info *finfo_selected; /* Field info for currently selected field */ } capture_file; -void init_cap_file(capture_file *); +void cap_file_init(capture_file *cf); + +void cap_file_add_fdata(capture_file *cf, frame_data *fdata); #endif /* cfile.h */