diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-12-04 08:45:04 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-12-04 08:45:04 +0000 |
commit | 4ee2b1a633a318c0a4d90182c4b72bfea51dcf4a (patch) | |
tree | c782269da12bc100a03610afebe78b23e119533b /ringbuffer.h | |
parent | 8032fa8a1bafcbf76d3cadcedb03480fbfd51ecf (diff) |
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
Diffstat (limited to 'ringbuffer.h')
-rw-r--r-- | ringbuffer.h | 48 |
1 files changed, 48 insertions, 0 deletions
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 <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 __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 */ |