#include <linux/errno.h>
#include <linux/gfp.h>
#include <linux/hdlc.h>
#include <linux/if_arp.h>
#include <linux/inetdevice.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/lapb.h>
#include <linux/module.h>
#include <linux/pkt_sched.h>
#include <linux/poll.h>
#include <linux/rtnetlink.h>
#include <linux/skbuff.h>
#include <net/x25device.h>
struct x25_state { … };
static int x25_ioctl(struct net_device *dev, struct if_settings *ifs);
static struct x25_state *state(hdlc_device *hdlc)
{ … }
static void x25_rx_queue_kick(struct tasklet_struct *t)
{ … }
static void x25_connect_disconnect(struct net_device *dev, int reason, int code)
{ … }
static void x25_connected(struct net_device *dev, int reason)
{ … }
static void x25_disconnected(struct net_device *dev, int reason)
{ … }
static int x25_data_indication(struct net_device *dev, struct sk_buff *skb)
{ … }
static void x25_data_transmit(struct net_device *dev, struct sk_buff *skb)
{ … }
static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev)
{ … }
static int x25_open(struct net_device *dev)
{ … }
static void x25_close(struct net_device *dev)
{ … }
static int x25_rx(struct sk_buff *skb)
{ … }
static struct hdlc_proto proto = …;
static int x25_ioctl(struct net_device *dev, struct if_settings *ifs)
{ … }
static int __init hdlc_x25_init(void)
{ … }
static void __exit hdlc_x25_exit(void)
{ … }
module_init(…) …;
module_exit(hdlc_x25_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;