From 4ee2b1a633a318c0a4d90182c4b72bfea51dcf4a Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Tue, 4 Dec 2001 08:45:04 +0000 Subject: Make the bytes-written information from Wiretap a long, as we allow files to get that big. From Thomas Wittwer and Matthias Nyffenegger: Support for "ring buffer mode", wherein there's a ring buffer of N capture files; as each capture file reaches its maximum size (the ring buffer works only with a maximum capture file size specified), Ethereal rolls over to the next capture file in the ring buffer, replacing whatever packets might be in it with new packets. svn path=/trunk/; revision=4324 --- ringbuffer.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ringbuffer.h (limited to 'ringbuffer.h') diff --git a/ringbuffer.h b/ringbuffer.h new file mode 100644 index 0000000000..c970d19117 --- /dev/null +++ b/ringbuffer.h @@ -0,0 +1,48 @@ +/* capture.h + * Definitions for packet capture windows + * + * $Id: ringbuffer.h,v 1.1 2001/12/04 08:45:04 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * 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 __RINGBUFFER_H__ +#define __RINGBUFFER_H__ + +#ifdef HAVE_LIBPCAP + +#include "file.h" +#include "wiretap/wtap.h" + +/* minimum number of ringbuffer files */ +#define RINGBUFFER_MIN_NUM_FILES 2 +/* maximum number of ringbuffer files */ +#define RINGBUFFER_MAX_NUM_FILES MIN(10,FOPEN_MAX) + +int ringbuf_init(const char *capture_name, guint num_files); +wtap_dumper* ringbuf_init_wtap_dump_fdopen(int filetype, int linktype, + int snaplen, int *err); +gboolean ringbuf_switch_file(capture_file *cf, wtap_dumper **pdh, int *err); +gboolean ringbuf_wtap_dump_close(capture_file *cf, int *err); +void ringbuf_free(void); +void ringbuf_error_cleanup(void); + +#endif /* HAVE_LIBPCAP */ + +#endif /* ringbuffer.h */ -- cgit v1.2.1