extern int netlink_attach(int unit, int (*function)(int,struct sk_buff *skb));
extern void netlink_detach(int unit);
extern int netlink_post(int unit, struct sk_buff *skb);
-extern int init_netlink(void);
extern struct sock *netlink_kernel_create(int unit, void (*input)(struct sock *sk, int len));
extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err);
extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock);
},
};
-int __init init_netlink(void)
+static int __init init_netlink(void)
{
int i;
return 0;
}
-#ifdef MODULE
-
-MODULE_LICENSE("GPL");
-
-int init_module(void)
-{
- printk(KERN_INFO "Network Kernel/User communications module 0.04\n");
- return init_netlink();
-}
-
-void cleanup_module(void)
+static void __exit cleanup_netlink(void)
{
int i;
unregister_chrdev(NETLINK_MAJOR, "netlink");
}
-#endif
+MODULE_LICENSE("GPL");
+module_init(init_netlink);
+module_exit(cleanup_netlink);