Commit | Line | Data |
---|---|---|
d366477a PE |
1 | #ifndef __SOCK_DIAG_H__ |
2 | #define __SOCK_DIAG_H__ | |
e7c466e5 | 3 | |
e6fe2371 | 4 | #include <linux/types.h> |
e7c466e5 | 5 | |
e6fe2371 | 6 | #define SOCK_DIAG_BY_FAMILY 20 |
d366477a PE |
7 | |
8 | struct sock_diag_req { | |
9 | __u8 sdiag_family; | |
10 | __u8 sdiag_protocol; | |
11 | }; | |
12 | ||
5d2e5f27 PE |
13 | enum { |
14 | SK_MEMINFO_RMEM_ALLOC, | |
15 | SK_MEMINFO_RCVBUF, | |
16 | SK_MEMINFO_WMEM_ALLOC, | |
17 | SK_MEMINFO_SNDBUF, | |
18 | SK_MEMINFO_FWD_ALLOC, | |
19 | SK_MEMINFO_WMEM_QUEUED, | |
20 | SK_MEMINFO_OPTMEM, | |
21 | ||
22 | SK_MEMINFO_VARS, | |
23 | }; | |
24 | ||
e6fe2371 PE |
25 | #ifdef __KERNEL__ |
26 | struct sk_buff; | |
27 | struct nlmsghdr; | |
5d2e5f27 | 28 | struct sock; |
e6fe2371 | 29 | |
d366477a PE |
30 | struct sock_diag_handler { |
31 | __u8 family; | |
32 | int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh); | |
33 | }; | |
34 | ||
8dcf01fc SW |
35 | int sock_diag_register(const struct sock_diag_handler *h); |
36 | void sock_diag_unregister(const struct sock_diag_handler *h); | |
d366477a PE |
37 | |
38 | void sock_diag_register_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)); | |
39 | void sock_diag_unregister_inet_compat(int (*fn)(struct sk_buff *skb, struct nlmsghdr *nlh)); | |
40 | ||
f65c1b53 PE |
41 | int sock_diag_check_cookie(void *sk, __u32 *cookie); |
42 | void sock_diag_save_cookie(void *sk, __u32 *cookie); | |
43 | ||
5d2e5f27 PE |
44 | int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attr); |
45 | ||
d366477a | 46 | extern struct sock *sock_diag_nlsk; |
e6fe2371 | 47 | #endif /* KERNEL */ |
d366477a | 48 | #endif |