#define pr_fmt(fmt) …
#include <linux/errno.h>
#include <linux/hdlc.h>
#include <linux/if_arp.h>
#include <linux/inetdevice.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/pkt_sched.h>
#include <linux/poll.h>
#include <linux/rtnetlink.h>
#include <linux/skbuff.h>
#include <linux/slab.h>
#include <net/net_namespace.h>
static const char *version = …;
#undef DEBUG_LINK
static struct hdlc_proto *first_proto;
static int hdlc_rcv(struct sk_buff *skb, struct net_device *dev,
struct packet_type *p, struct net_device *orig_dev)
{ … }
netdev_tx_t hdlc_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ … }
EXPORT_SYMBOL(…);
static inline void hdlc_proto_start(struct net_device *dev)
{ … }
static inline void hdlc_proto_stop(struct net_device *dev)
{ … }
static int hdlc_device_event(struct notifier_block *this, unsigned long event,
void *ptr)
{ … }
int hdlc_open(struct net_device *dev)
{ … }
EXPORT_SYMBOL(…);
void hdlc_close(struct net_device *dev)
{ … }
EXPORT_SYMBOL(…);
int hdlc_ioctl(struct net_device *dev, struct if_settings *ifs)
{ … }
EXPORT_SYMBOL(…);
static const struct header_ops hdlc_null_ops;
static void hdlc_setup_dev(struct net_device *dev)
{ … }
static void hdlc_setup(struct net_device *dev)
{ … }
struct net_device *alloc_hdlcdev(void *priv)
{ … }
EXPORT_SYMBOL(…);
void unregister_hdlc_device(struct net_device *dev)
{ … }
EXPORT_SYMBOL(…);
int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
size_t size)
{ … }
EXPORT_SYMBOL(…);
int detach_hdlc_protocol(struct net_device *dev)
{ … }
EXPORT_SYMBOL(…);
void register_hdlc_protocol(struct hdlc_proto *proto)
{ … }
EXPORT_SYMBOL(…);
void unregister_hdlc_protocol(struct hdlc_proto *proto)
{ … }
EXPORT_SYMBOL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static struct packet_type hdlc_packet_type __read_mostly = …;
static struct notifier_block hdlc_notifier = …;
static int __init hdlc_module_init(void)
{ … }
static void __exit hdlc_module_exit(void)
{ … }
module_init(…) …;
module_exit(hdlc_module_exit);