summaryrefslogtreecommitdiff
path: root/include/linux/sock_diag.h
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@parallels.com>2011-12-06 11:58:03 +0400
committerDavid S. Miller <davem@davemloft.net>2011-12-06 22:58:01 +0400
commitd366477a52f1df29fa066ffb18e4e6101ee2ad04 (patch)
tree267a65f626108423f73ef6dc0040b3b3171f7b45 /include/linux/sock_diag.h
parentf13c95f0e255e6d21762259875295cc212e6bc32 (diff)
downloadlinux-d366477a52f1df29fa066ffb18e4e6101ee2ad04.tar.xz
sock_diag: Initial skeleton
When receiving the SOCK_DIAG_BY_FAMILY message we have to find the handler for provided family and pass the nl message to it. This patch describes an infrastructure to work with such nandlers and implements stubs for AF_INET(6) ones. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/sock_diag.h')
-rw-r--r--include/linux/sock_diag.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/sock_diag.h b/include/linux/sock_diag.h
new file mode 100644
index 000000000000..ba4933b1213b
--- /dev/null
+++ b/include/linux/sock_diag.h
@@ -0,0 +1,23 @@
+#ifndef __SOCK_DIAG_H__
+#define __SOCK_DIAG_H__
+struct sk_buff;
+struct nlmsghdr;
+
+struct sock_diag_req {
+ __u8 sdiag_family;
+ __u8 sdiag_protocol;
+};
+
+struct sock_diag_handler {
+ __u8 family;
+ int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh);
+};
+
+int sock_diag_register(struct sock_diag_handler *h);
+void sock_diag_unregister(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));
+
+extern struct sock *sock_diag_nlsk;
+#endif