• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _XT_SOCKET_H
2 #define _XT_SOCKET_H
3 
4 #include <linux/types.h>
5 
6 enum {
7 	XT_SOCKET_TRANSPARENT = 1 << 0,
8 	XT_SOCKET_NOWILDCARD = 1 << 1,
9 	XT_SOCKET_RESTORESKMARK = 1 << 2,
10 };
11 
12 struct xt_socket_mtinfo1 {
13 	__u8 flags;
14 };
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)
21 
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 
29 struct sock *xt_socket_lookup_slow_v4(struct net *net,
30 				      const struct sk_buff *skb,
31 				      const struct net_device *indev);
32 struct sock *xt_socket_lookup_slow_v6(struct net *net,
33 				      const struct sk_buff *skb,
34 				      const struct net_device *indev);
35 
36 #endif /* _XT_SOCKET_H */
37