Laszlo Attila Toth | a31e1ff | 2009-06-09 15:16:34 +0200 | [diff] [blame] | 1 | #ifndef _XT_SOCKET_H |
| 2 | #define _XT_SOCKET_H |
| 3 | |
Jan Engelhardt | 06988b0 | 2011-01-20 17:50:17 +0100 | [diff] [blame] | 4 | #include <linux/types.h> |
| 5 | |
Laszlo Attila Toth | a31e1ff | 2009-06-09 15:16:34 +0200 | [diff] [blame] | 6 | enum { |
| 7 | XT_SOCKET_TRANSPARENT = 1 << 0, |
Eric Dumazet | 681f130 | 2013-06-20 05:52:22 -0700 | [diff] [blame] | 8 | XT_SOCKET_NOWILDCARD = 1 << 1, |
Harout Hedeshian | 01555e7 | 2015-06-15 18:40:43 -0600 | [diff] [blame] | 9 | XT_SOCKET_RESTORESKMARK = 1 << 2, |
Laszlo Attila Toth | a31e1ff | 2009-06-09 15:16:34 +0200 | [diff] [blame] | 10 | }; |
| 11 | |
| 12 | struct xt_socket_mtinfo1 { |
| 13 | __u8 flags; |
| 14 | }; |
Eric Dumazet | 681f130 | 2013-06-20 05:52:22 -0700 | [diff] [blame] | 15 | #define XT_SOCKET_FLAGS_V1 XT_SOCKET_TRANSPARENT |
| 16 | |
| 17 | struct xt_socket_mtinfo2 { |
| 18 | __u8 flags; |
| 19 | }; |
| 20 | #define XT_SOCKET_FLAGS_V2 (XT_SOCKET_TRANSPARENT | XT_SOCKET_NOWILDCARD) |
Laszlo Attila Toth | a31e1ff | 2009-06-09 15:16:34 +0200 | [diff] [blame] | 21 | |
Harout Hedeshian | 01555e7 | 2015-06-15 18:40:43 -0600 | [diff] [blame] | 22 | struct xt_socket_mtinfo3 { |
| 23 | __u8 flags; |
| 24 | }; |
| 25 | #define XT_SOCKET_FLAGS_V3 (XT_SOCKET_TRANSPARENT \ |
| 26 | | XT_SOCKET_NOWILDCARD \ |
| 27 | | XT_SOCKET_RESTORESKMARK) |
| 28 | |
John Stultz | bd1bca4 | 2014-03-28 16:23:48 -0700 | [diff] [blame^] | 29 | void xt_socket_put_sk(struct sock *sk); |
| 30 | struct sock *xt_socket_get4_sk(const struct sk_buff *skb, |
| 31 | struct xt_action_param *par); |
| 32 | struct sock *xt_socket_get6_sk(const struct sk_buff *skb, |
| 33 | struct xt_action_param *par); |
| 34 | |
Laszlo Attila Toth | a31e1ff | 2009-06-09 15:16:34 +0200 | [diff] [blame] | 35 | #endif /* _XT_SOCKET_H */ |