2 #define _INET_DIAG_H_ 1
4 #include <uapi/linux/inet_diag.h>
11 struct netlink_callback
;
13 struct inet_diag_handler
{
14 void (*dump
)(struct sk_buff
*skb
,
15 struct netlink_callback
*cb
,
16 struct inet_diag_req_v2
*r
,
19 int (*dump_one
)(struct sk_buff
*in_skb
,
20 const struct nlmsghdr
*nlh
,
21 struct inet_diag_req_v2
*req
);
23 void (*idiag_get_info
)(struct sock
*sk
,
24 struct inet_diag_msg
*r
,
29 struct inet_connection_sock
;
30 int inet_sk_diag_fill(struct sock
*sk
, struct inet_connection_sock
*icsk
,
31 struct sk_buff
*skb
, struct inet_diag_req_v2
*req
,
32 struct user_namespace
*user_ns
,
33 u32 pid
, u32 seq
, u16 nlmsg_flags
,
34 const struct nlmsghdr
*unlh
);
35 void inet_diag_dump_icsk(struct inet_hashinfo
*h
, struct sk_buff
*skb
,
36 struct netlink_callback
*cb
, struct inet_diag_req_v2
*r
,
38 int inet_diag_dump_one_icsk(struct inet_hashinfo
*hashinfo
,
39 struct sk_buff
*in_skb
, const struct nlmsghdr
*nlh
,
40 struct inet_diag_req_v2
*req
);
42 int inet_diag_bc_sk(const struct nlattr
*_bc
, struct sock
*sk
);
44 extern int inet_diag_register(const struct inet_diag_handler
*handler
);
45 extern void inet_diag_unregister(const struct inet_diag_handler
*handler
);
46 #endif /* _INET_DIAG_H_ */