#include <linux/module.h>
#include <net/sock.h>
#include <linux/netlink.h>
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
#include <linux/rhashtable.h>
#include "af_netlink.h"
static int sk_diag_dump_groups(struct sock *sk, struct sk_buff *nlskb)
{ … }
static int sk_diag_put_flags(struct sock *sk, struct sk_buff *skb)
{ … }
static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
struct netlink_diag_req *req,
u32 portid, u32 seq, u32 flags, int sk_ino)
{ … }
static int __netlink_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
int protocol, int s_num)
{ … }
static int netlink_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
{ … }
static int netlink_diag_dump_done(struct netlink_callback *cb)
{ … }
static int netlink_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
{ … }
static const struct sock_diag_handler netlink_diag_handler = …;
static int __init netlink_diag_init(void)
{ … }
static void __exit netlink_diag_exit(void)
{ … }
module_init(…) …;
module_exit(netlink_diag_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS_NET_PF_PROTO_TYPE(…);