From 0afce7ca814a6fe60032a9b4178831dfb4eb3762 Mon Sep 17 00:00:00 2001 From: Laurent Deniel Date: Sun, 22 Jun 2003 16:09:04 +0000 Subject: Ringbuffer rework. Almost completely rewritten in order to: - be able to use a unlimited number of ringbuffer files 0 specified with -b argument or in the GUI, means that the number of file is unlimited. else the maximum number of ring buffer files is arbitrarily set to 1024. - close the current file and open (truncating it) the next file at switch - set the final file name once open (or reopen) - avoid the deletion of files that could not be truncated (can't arise now) and do not erase empty files The idea behind that is to remove the limitation of the maximum # of ringbuffer files being less than the maximum # of open fd per process and to be able to reduce the amount of virtual memory usage (having only one file open at most) or the amount of file system usage (by truncating the files at switch and not the capture stop, and by closing them which makes possible their move or deletion after a switch). svn path=/trunk/; revision=7912 --- ringbuffer.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ringbuffer.h') diff --git a/ringbuffer.h b/ringbuffer.h index b88828d88c..c905b4b893 100644 --- a/ringbuffer.h +++ b/ringbuffer.h @@ -1,7 +1,7 @@ /* capture.h * Definitions for packet capture windows * - * $Id: ringbuffer.h,v 1.2 2002/08/28 21:00:41 jmayer Exp $ + * $Id: ringbuffer.h,v 1.3 2003/06/22 16:06:03 deniel Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -27,13 +27,15 @@ #ifdef HAVE_LIBPCAP +#include #include "file.h" #include "wiretap/wtap.h" +#define RINGBUFFER_UNLIMITED_FILES 0 /* minimum number of ringbuffer files */ -#define RINGBUFFER_MIN_NUM_FILES 2 +#define RINGBUFFER_MIN_NUM_FILES 0 /* maximum number of ringbuffer files */ -#define RINGBUFFER_MAX_NUM_FILES MIN(10,FOPEN_MAX) +#define RINGBUFFER_MAX_NUM_FILES 1024 int ringbuf_init(const char *capture_name, guint num_files); wtap_dumper* ringbuf_init_wtap_dump_fdopen(int filetype, int linktype, -- cgit v1.2.1