xref: /linux-6.15/include/linux/sock_diag.h (revision bc5378fc)
1 #ifndef __SOCK_DIAG_H__
2 #define __SOCK_DIAG_H__
3 
4 #include <uapi/linux/sock_diag.h>
5 
6 struct sk_buff;
7 struct nlmsghdr;
8 struct sock;
9 
10 struct sock_diag_handler {
11 	__u8 family;
12 	int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh);
13 };
14 
15 int sock_diag_register(const struct sock_diag_handler *h);
16 void sock_diag_unregister(const struct sock_diag_handler *h);
17 
18 void sock_diag_register_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh));
19 void sock_diag_unregister_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh));
20 
21 int sock_diag_check_cookie(void *sk, __u32 *cookie);
22 void sock_diag_save_cookie(void *sk, __u32 *cookie);
23 
24 int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attr);
25 
26 #endif
27