Commit | Line | Data |
---|---|---|
d2ba09c1 AS |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _LINUX_BPFILTER_H | |
3 | #define _LINUX_BPFILTER_H | |
4 | ||
5 | #include <uapi/linux/bpfilter.h> | |
5b4cb650 | 6 | #include <linux/umh.h> |
d2ba09c1 AS |
7 | |
8 | struct sock; | |
f95de8aa | 9 | int bpfilter_ip_set_sockopt(struct sock *sk, int optname, char __user *optval, |
d2ba09c1 | 10 | unsigned int optlen); |
f95de8aa Y |
11 | int bpfilter_ip_get_sockopt(struct sock *sk, int optname, char __user *optval, |
12 | int __user *optlen); | |
5b4cb650 TY |
13 | struct bpfilter_umh_ops { |
14 | struct umh_info info; | |
71a85084 TY |
15 | /* since ip_getsockopt() can run in parallel, serialize access to umh */ |
16 | struct mutex lock; | |
5b4cb650 TY |
17 | int (*sockopt)(struct sock *sk, int optname, |
18 | char __user *optval, | |
19 | unsigned int optlen, bool is_set); | |
61fbf593 TY |
20 | int (*start)(void); |
21 | bool stop; | |
5b4cb650 TY |
22 | }; |
23 | extern struct bpfilter_umh_ops bpfilter_ops; | |
d2ba09c1 | 24 | #endif |