#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/sysctl.h>
#include <linux/string.h>
#include <linux/socket.h>
#include <linux/errno.h>
#include <linux/fcntl.h>
#include <linux/in.h>
#include <linux/if_ether.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <asm/io.h>
#include <linux/inet.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
#include <linux/skbuff.h>
#include <net/ip.h>
#include <net/arp.h>
#include <net/ax25.h>
#include <net/netrom.h>
int nr_rx_ip(struct sk_buff *skb, struct net_device *dev)
{ … }
static int nr_header(struct sk_buff *skb, struct net_device *dev,
unsigned short type,
const void *daddr, const void *saddr, unsigned int len)
{ … }
static int __must_check nr_set_mac_address(struct net_device *dev, void *addr)
{ … }
static int nr_open(struct net_device *dev)
{ … }
static int nr_close(struct net_device *dev)
{ … }
static netdev_tx_t nr_xmit(struct sk_buff *skb, struct net_device *dev)
{ … }
static const struct header_ops nr_header_ops = …;
static const struct net_device_ops nr_netdev_ops = …;
void nr_setup(struct net_device *dev)
{ … }