diff options
author | Thomas Graf <tgraf@suug.ch> | 2007-03-22 11:48:11 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-25 22:27:04 -0700 |
commit | e284986385b6420a5f30f2dcd743512bbe1a3202 (patch) | |
tree | aee0d30b618ada57371fddfcaeb47bbd767e16e3 /include/net | |
parent | 30833ffead66e1f0052150a51db0b45151189ac1 (diff) |
[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')
-rw-r--r-- | include/net/rtnetlink.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h new file mode 100644 index 00000000000..dce7072bd28 --- /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 |