xref: /freebsd/sys/net/if_pflog.h (revision fe267a559009cbf34f9341666fe4d88a92c02d5e)
13b3a8eb9SGleb Smirnoff /* $OpenBSD: if_pflog.h,v 1.13 2006/10/23 12:46:09 henning Exp $ */
2*fe267a55SPedro F. Giffuni /*-
3*fe267a55SPedro F. Giffuni  * SPDX-License-Identifier: BSD-2-Clause
4*fe267a55SPedro F. Giffuni  *
53b3a8eb9SGleb Smirnoff  * Copyright 2001 Niels Provos <provos@citi.umich.edu>
63b3a8eb9SGleb Smirnoff  * All rights reserved.
73b3a8eb9SGleb Smirnoff  *
83b3a8eb9SGleb Smirnoff  * Redistribution and use in source and binary forms, with or without
93b3a8eb9SGleb Smirnoff  * modification, are permitted provided that the following conditions
103b3a8eb9SGleb Smirnoff  * are met:
113b3a8eb9SGleb Smirnoff  * 1. Redistributions of source code must retain the above copyright
123b3a8eb9SGleb Smirnoff  *    notice, this list of conditions and the following disclaimer.
133b3a8eb9SGleb Smirnoff  * 2. Redistributions in binary form must reproduce the above copyright
143b3a8eb9SGleb Smirnoff  *    notice, this list of conditions and the following disclaimer in the
153b3a8eb9SGleb Smirnoff  *    documentation and/or other materials provided with the distribution.
163b3a8eb9SGleb Smirnoff  *
173b3a8eb9SGleb Smirnoff  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
183b3a8eb9SGleb Smirnoff  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
193b3a8eb9SGleb Smirnoff  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
203b3a8eb9SGleb Smirnoff  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
213b3a8eb9SGleb Smirnoff  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
223b3a8eb9SGleb Smirnoff  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
233b3a8eb9SGleb Smirnoff  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
243b3a8eb9SGleb Smirnoff  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
253b3a8eb9SGleb Smirnoff  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
263b3a8eb9SGleb Smirnoff  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*fe267a55SPedro F. Giffuni  *
28*fe267a55SPedro F. Giffuni  * $FreeBSD$
293b3a8eb9SGleb Smirnoff  */
303b3a8eb9SGleb Smirnoff 
313b3a8eb9SGleb Smirnoff #ifndef _NET_IF_PFLOG_H_
323b3a8eb9SGleb Smirnoff #define	_NET_IF_PFLOG_H_
333b3a8eb9SGleb Smirnoff 
343b3a8eb9SGleb Smirnoff #define	PFLOGIFS_MAX	16
353b3a8eb9SGleb Smirnoff 
363b3a8eb9SGleb Smirnoff #define	PFLOG_RULESET_NAME_SIZE	16
373b3a8eb9SGleb Smirnoff 
383b3a8eb9SGleb Smirnoff struct pfloghdr {
393b3a8eb9SGleb Smirnoff 	u_int8_t	length;
403b3a8eb9SGleb Smirnoff 	sa_family_t	af;
413b3a8eb9SGleb Smirnoff 	u_int8_t	action;
423b3a8eb9SGleb Smirnoff 	u_int8_t	reason;
433b3a8eb9SGleb Smirnoff 	char		ifname[IFNAMSIZ];
443b3a8eb9SGleb Smirnoff 	char		ruleset[PFLOG_RULESET_NAME_SIZE];
453b3a8eb9SGleb Smirnoff 	u_int32_t	rulenr;
463b3a8eb9SGleb Smirnoff 	u_int32_t	subrulenr;
473b3a8eb9SGleb Smirnoff 	uid_t		uid;
483b3a8eb9SGleb Smirnoff 	pid_t		pid;
493b3a8eb9SGleb Smirnoff 	uid_t		rule_uid;
503b3a8eb9SGleb Smirnoff 	pid_t		rule_pid;
513b3a8eb9SGleb Smirnoff 	u_int8_t	dir;
523b3a8eb9SGleb Smirnoff 	u_int8_t	pad[3];
533b3a8eb9SGleb Smirnoff };
543b3a8eb9SGleb Smirnoff 
553b3a8eb9SGleb Smirnoff #define	PFLOG_HDRLEN		sizeof(struct pfloghdr)
563b3a8eb9SGleb Smirnoff /* minus pad, also used as a signature */
573b3a8eb9SGleb Smirnoff #define	PFLOG_REAL_HDRLEN	offsetof(struct pfloghdr, pad)
583b3a8eb9SGleb Smirnoff 
593b3a8eb9SGleb Smirnoff #ifdef _KERNEL
603b3a8eb9SGleb Smirnoff struct pf_rule;
613b3a8eb9SGleb Smirnoff struct pf_ruleset;
623b3a8eb9SGleb Smirnoff struct pfi_kif;
633b3a8eb9SGleb Smirnoff struct pf_pdesc;
643b3a8eb9SGleb Smirnoff 
653b3a8eb9SGleb Smirnoff #define	PFLOG_PACKET(i,a,b,c,d,e,f,g,h,di) do {		\
663b3a8eb9SGleb Smirnoff 	if (pflog_packet_ptr != NULL)			\
673b3a8eb9SGleb Smirnoff 		pflog_packet_ptr(i,a,b,c,d,e,f,g,h,di);	\
683b3a8eb9SGleb Smirnoff } while (0)
693b3a8eb9SGleb Smirnoff #endif /* _KERNEL */
703b3a8eb9SGleb Smirnoff #endif /* _NET_IF_PFLOG_H_ */
71