/* * NETLINK Kernel-user communication protocol. * * Authors: Alan Cox <alan@redhat.com> * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * Tue Jun 26 14:36:48 MEST 2001 Herbert "herp" Rosmanith * added netlink_proto_exit * Tue Jan 22 18:32:44 BRST 2002 Arnaldo C. de Melo <acme@conectiva.com.br> * use nlk_sk, as sk->protinfo is on a diet 8) * */#include<linux/config.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/init.h>#include<linux/signal.h>#include<linux/sched.h>#include<linux/errno.h>#include<linux/string.h>#include<linux/stat.h>#include<linux/socket.h>#include<linux/un.h>#include<linux/fcntl.h>#include<linux/termios.h>#include<linux/sockios.h>#include<linux/net.h>#include<linux/fs.h>#include<linux/slab.h>#include<asm/uaccess.h>#include<linux/skbuff.h>#include<linux/netdevice.h>#include<linux/rtnetlink.h>#include<linux/proc_fs.h>#include<linux/seq_file.h>#include<linux/smp_lock.h>#include<linux/notifier.h>#include<linux/security.h>#include<linux/jhash.h>#include<linux/jiffies.h>#include<linux/random.h>#include<linux/bitops.h>#include<linux/mm.h>#include<linux/types.h>#include<linux/audit.h>#include<net/sock.h>#include<net/scm.h>#define Nprintk(a...)structnetlink_sock{/* struct sock has to be the first member of netlink_sock */structsocksk;u32pid;unsignedintgroups;u32dst_pid;unsignedintdst_groups;unsignedlongstate;wait_queue_head_twait;structnetlink_callback