#include <linux/module.h>
#include <linux/ctype.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include <linux/slab.h>
#include <linux/mii.h>
#include <linux/usb.h>
#include <linux/usb/usbnet.h>
#define INT51X1_VENDOR_ID …
#define INT51X1_PRODUCT_ID …
#define INT51X1_HEADER_SIZE …
#define PACKET_TYPE_PROMISCUOUS …
#define PACKET_TYPE_ALL_MULTICAST …
#define PACKET_TYPE_DIRECTED …
#define PACKET_TYPE_BROADCAST …
#define PACKET_TYPE_MULTICAST …
#define SET_ETHERNET_PACKET_FILTER …
static int int51x1_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
{ … }
static struct sk_buff *int51x1_tx_fixup(struct usbnet *dev,
struct sk_buff *skb, gfp_t flags)
{ … }
static void int51x1_set_multicast(struct net_device *netdev)
{ … }
static const struct net_device_ops int51x1_netdev_ops = …;
static int int51x1_bind(struct usbnet *dev, struct usb_interface *intf)
{ … }
static const struct driver_info int51x1_info = …;
static const struct usb_device_id products[] = …;
MODULE_DEVICE_TABLE(usb, products);
static struct usb_driver int51x1_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;