summaryrefslogtreecommitdiffstats
path: root/include/net/rtnetlink.h
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2007-03-22 19:48:11 +0100
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 07:27:04 +0200
commite284986385b6420a5f30f2dcd743512bbe1a3202 (patch)
treeaee0d30b618ada57371fddfcaeb47bbd767e16e3 /include/net/rtnetlink.h
parent[CCID3]: Use initial RTT sample from SYN exchange (diff)
downloadlinux-e284986385b6420a5f30f2dcd743512bbe1a3202.tar.xz
linux-e284986385b6420a5f30f2dcd743512bbe1a3202.zip
[RTNL]: Message handler registration interface
This patch adds a new interface to register rtnetlink message handlers replacing the exported rtnl_links[] array which required many message handlers to be exported unnecessarly. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/rtnetlink.h')
-rw-r--r--include/net/rtnetlink.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h
new file mode 100644
index 000000000000..dce7072bd28c
--- /dev/null
+++ b/include/net/rtnetlink.h
@@ -0,0 +1,18 @@
+#ifndef __NET_RTNETLINK_H
+#define __NET_RTNETLINK_H
+
+#include <linux/rtnetlink.h>
+#include <net/netlink.h>
+
+typedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, void *);
+typedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *);
+
+extern int __rtnl_register(int protocol, int msgtype,
+ rtnl_doit_func, rtnl_dumpit_func);
+extern void rtnl_register(int protocol, int msgtype,
+ rtnl_doit_func, rtnl_dumpit_func);
+extern int rtnl_unregister(int protocol, int msgtype);
+extern void rtnl_unregister_all(int protocol);
+extern int rtnl_dump_all(struct sk_buff *skb, struct netlink_callback *cb);
+
+#endif