xt_addrtype.h revision 3775fb69f63b76191bc3571bfa8538c18173d90f
1#ifndef _XT_ADDRTYPE_H
2#define _XT_ADDRTYPE_H
3
4#include <linux/types.h>
5
6enum {
7	XT_ADDRTYPE_INVERT_SOURCE	= 0x0001,
8	XT_ADDRTYPE_INVERT_DEST		= 0x0002,
9	XT_ADDRTYPE_LIMIT_IFACE_IN	= 0x0004,
10	XT_ADDRTYPE_LIMIT_IFACE_OUT	= 0x0008,
11};
12
13
14/* rtn_type enum values from rtnetlink.h, but shifted */
15enum {
16	XT_ADDRTYPE_UNSPEC = 1 << 0,
17	XT_ADDRTYPE_UNICAST = 1 << 1,	/* 1 << RTN_UNICAST */
18	XT_ADDRTYPE_LOCAL  = 1 << 2,	/* 1 << RTN_LOCAL, etc */
19	XT_ADDRTYPE_BROADCAST = 1 << 3,
20	XT_ADDRTYPE_ANYCAST = 1 << 4,
21	XT_ADDRTYPE_MULTICAST = 1 << 5,
22	XT_ADDRTYPE_BLACKHOLE = 1 << 6,
23	XT_ADDRTYPE_UNREACHABLE = 1 << 7,
24	XT_ADDRTYPE_PROHIBIT = 1 << 8,
25	XT_ADDRTYPE_THROW = 1 << 9,
26	XT_ADDRTYPE_NAT = 1 << 10,
27	XT_ADDRTYPE_XRESOLVE = 1 << 11,
28};
29
30struct xt_addrtype_info_v1 {
31	__u16	source;		/* source-type mask */
32	__u16	dest;		/* dest-type mask */
33	__u32	flags;
34};
35
36/* revision 0 */
37struct xt_addrtype_info {
38	__u16	source;		/* source-type mask */
39	__u16	dest;		/* dest-type mask */
40	__u32	invert_source;
41	__u32	invert_dest;
42};
43
44#endif
45