diff options
Diffstat (limited to 'kernel/include/linux/sock_diag.h')
-rw-r--r-- | kernel/include/linux/sock_diag.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/kernel/include/linux/sock_diag.h b/kernel/include/linux/sock_diag.h new file mode 100644 index 000000000..083ac3880 --- /dev/null +++ b/kernel/include/linux/sock_diag.h @@ -0,0 +1,29 @@ +#ifndef __SOCK_DIAG_H__ +#define __SOCK_DIAG_H__ + +#include <linux/user_namespace.h> +#include <uapi/linux/sock_diag.h> + +struct sk_buff; +struct nlmsghdr; +struct sock; + +struct sock_diag_handler { + __u8 family; + int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh); +}; + +int sock_diag_register(const struct sock_diag_handler *h); +void sock_diag_unregister(const struct sock_diag_handler *h); + +void sock_diag_register_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)); +void sock_diag_unregister_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)); + +int sock_diag_check_cookie(struct sock *sk, const __u32 *cookie); +void sock_diag_save_cookie(struct sock *sk, __u32 *cookie); + +int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attr); +int sock_diag_put_filterinfo(bool may_report_filterinfo, struct sock *sk, + struct sk_buff *skb, int attrtype); + +#endif |