Forgot to add two files
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>
Fri, 6 Sep 2002 23:14:04 +0000 (23:14 -0000)
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>
Fri, 6 Sep 2002 23:14:04 +0000 (23:14 -0000)
svn path=/trunk/; revision=6204

cfile.c [new file with mode: 0644]
cfile.h [new file with mode: 0644]

diff --git a/cfile.c b/cfile.c
new file mode 100644 (file)
index 0000000..b5b62e8
--- /dev/null
+++ b/cfile.c
@@ -0,0 +1,65 @@
+/* cfile.c
+ * capture_file GUI-independent manipulation 
+ * Vassilii Khachaturov <vassilii@tarunz.org>
+ *
+ * $Id: cfile.c,v 1.1 2002/09/06 23:14:04 sahlberg Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <stdlib.h>
+
+#include <glib.h>
+
+#include <epan/packet.h>
+
+#include "cfile.h"
+
+void
+init_cap_file(capture_file *cf)
+{
+  /* Initialize the capture file struct */
+  cf->plist            = NULL;
+  cf->plist_end        = NULL;
+  cf->wth              = NULL;
+  cf->filename = NULL;
+  cf->user_saved       = FALSE;
+  cf->is_tempfile      = FALSE;
+  cf->rfcode           = NULL;
+  cf->dfilter          = NULL;
+  cf->dfcode           = NULL;
+#ifdef HAVE_LIBPCAP
+  cf->cfilter          = g_strdup("");
+#endif
+  cf->iface            = NULL;
+  cf->save_file        = NULL;
+  cf->save_file_fd     = -1;
+  cf->has_snap = FALSE;
+  cf->snap             = WTAP_MAX_PACKET_SIZE;
+  cf->count            = 0;
+  cf->pstats           = NULL;
+}
diff --git a/cfile.h b/cfile.h
new file mode 100644 (file)
index 0000000..9525fba
--- /dev/null
+++ b/cfile.h
@@ -0,0 +1,84 @@
+/* cfile.h
+ * capture_file definition & GUI-independent manipulation
+ *
+ * $Id: cfile.h,v 1.1 2002/09/06 23:14:04 sahlberg Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifndef __CFILE_H__
+#define __CFILE_H__
+
+/* 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_state;
+
+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 */
+  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 */
+  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)*/
+} capture_file;
+
+void init_cap_file(capture_file *);
+
+#endif /* cfile.h */