xref: /openbsd-src/sbin/pflogd/pflogd.h (revision ce7279d89b71439c96c854f612f4ac93a461fdc4)
1*ce7279d8Sjsg /*	$OpenBSD: pflogd.h,v 1.8 2024/05/21 05:00:47 jsg Exp $ */
28591d06dScanacar 
30296baa5Scanacar /*
40296baa5Scanacar  * Copyright (c) 2003 Can Erkin Acar
50296baa5Scanacar  *
60296baa5Scanacar  * Permission to use, copy, modify, and distribute this software for any
70296baa5Scanacar  * purpose with or without fee is hereby granted, provided that the above
80296baa5Scanacar  * copyright notice and this permission notice appear in all copies.
90296baa5Scanacar  *
100296baa5Scanacar  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
110296baa5Scanacar  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
120296baa5Scanacar  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
130296baa5Scanacar  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
140296baa5Scanacar  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
150296baa5Scanacar  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
160296baa5Scanacar  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
170296baa5Scanacar  */
180296baa5Scanacar 
198591d06dScanacar #include <sys/limits.h>
200296baa5Scanacar #include <pcap.h>
210296baa5Scanacar 
2221e0ae91Shenning #define DEF_SNAPLEN 160		/* pfloghdr + ip hdr + proto hdr fit usually */
230296baa5Scanacar #define PCAP_TO_MS 500		/* pcap read timeout (ms) */
240296baa5Scanacar #define PCAP_NUM_PKTS 1000	/* max number of packets to process at each loop */
258591d06dScanacar #define PCAP_OPT_FIL 1		/* filter optimization */
260296baa5Scanacar #define FLUSH_DELAY 60		/* flush delay */
270296baa5Scanacar 
280296baa5Scanacar #define PFLOGD_LOG_FILE		"/var/log/pflog"
290296baa5Scanacar #define PFLOGD_DEFAULT_IF	"pflog0"
300296baa5Scanacar 
318591d06dScanacar #define PFLOGD_MAXSNAPLEN	INT_MAX
328591d06dScanacar #define PFLOGD_BUFSIZE		65536	/* buffer size for incoming packets */
338591d06dScanacar 
340296baa5Scanacar void  logmsg(int priority, const char *message, ...);
350296baa5Scanacar 
360296baa5Scanacar /* Privilege separation */
3786ab39f3Sbrynet void	priv_init(int, int, char **);
38ca81fcd7Sbrynet int	priv_init_pcap(int);
390296baa5Scanacar int	priv_set_snaplen(int snaplen);
400296baa5Scanacar int	priv_open_log(void);
410296baa5Scanacar 
42ca81fcd7Sbrynet int   init_pcap(void);
430296baa5Scanacar void set_pcap_filter(void);
440296baa5Scanacar /* File descriptor send/recv */
450296baa5Scanacar void send_fd(int, int);
460296baa5Scanacar int  receive_fd(int);
470296baa5Scanacar 
480296baa5Scanacar extern int Debug;
49