Revisit https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3161
[obnox/wireshark/wip.git] / ringbuffer.h
index 9ecf237..02e1ccb 100644 (file)
 #ifndef __RINGBUFFER_H__
 #define __RINGBUFFER_H__
 
-#ifdef HAVE_LIBPCAP
-
 #include <stdio.h>
 #include "file.h"
 #include "wiretap/wtap.h"
 
 #define RINGBUFFER_UNLIMITED_FILES 0
-/* minimum number of ringbuffer files */
+/* Minimum number of ringbuffer files */
 #define RINGBUFFER_MIN_NUM_FILES 0
-/* maximum number of ringbuffer files */
-/* (only to avoid crashes on very large numbers) */
-#define RINGBUFFER_MAX_NUM_FILES 10000
+/* 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);
+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 linktype, int snaplen,
-                                  long *bytes_written, int *err);
+FILE *ringbuf_init_libpcap_fdopen(int *err);
 gboolean ringbuf_switch_file(FILE **pdh, gchar **save_file, int *save_file_fd,
-                             long *bytes_written, int *err);
+                             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 */