-/* capture.h
- * Definitions for packet capture windows
+/* ringbuffer.h
+ * Definitions for capture ringbuffer files
*
- * $Id: ringbuffer.h,v 1.2 2002/08/28 21:00:41 jmayer Exp $
+ * $Id$
*
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
#ifndef __RINGBUFFER_H__
#define __RINGBUFFER_H__
-#ifdef HAVE_LIBPCAP
-
+#include <stdio.h>
#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)
+#define RINGBUFFER_UNLIMITED_FILES 0
+/* Minimum number of ringbuffer files */
+#define RINGBUFFER_MIN_NUM_FILES 0
+/* Maximum number of ringbuffer files */
+/* Avoid crashes on very large numbers. Should be a power of 10 */
+#define RINGBUFFER_MAX_NUM_FILES 100000
+/* Maximum number for FAT filesystems */
+#define RINGBUFFER_WARN_NUM_FILES 65535
-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);
+int ringbuf_init(const char *capture_name, guint num_files, gboolean group_read_access);
+const gchar *ringbuf_current_filename(void);
+FILE *ringbuf_init_libpcap_fdopen(int *err);
+gboolean ringbuf_switch_file(FILE **pdh, gchar **save_file, int *save_file_fd,
+ int *err);
+gboolean ringbuf_libpcap_dump_close(gchar **save_file, int *err);
void ringbuf_free(void);
void ringbuf_error_cleanup(void);
-#endif /* HAVE_LIBPCAP */
-
#endif /* ringbuffer.h */