/* * Linux ARCnet driver - "raw mode" packet encapsulation (no soft headers) * * Written 1994-1999 by Avery Pennarun. * Derived from skeleton.c by Donald Becker. * * Special thanks to Contemporary Controls, Inc. (www.ccontrols.com) * for sponsoring the further development of this driver. * * ********************** * * The original copyright of skeleton.c was as follows: * * skeleton.c Written 1993 by Donald Becker. * Copyright 1993 United States Government as represented by the * Director, National Security Agency. This software may only be used * and distributed according to the terms of the GNU General Public License as * modified by SRC, incorporated herein by reference. * * ********************** * * For more details, see drivers/net/arcnet.c * * ********************** */ #define pr_fmt(fmt) … #include <linux/module.h> #include <linux/gfp.h> #include <linux/init.h> #include <linux/if_arp.h> #include <net/arp.h> #include <linux/netdevice.h> #include <linux/skbuff.h> #include "arcdevice.h" /* packet receiver */ static void rx(struct net_device *dev, int bufnum, struct archdr *pkthdr, int length) { … } /* Create the ARCnet hard/soft headers for raw mode. * There aren't any soft headers in raw mode - not even the protocol id. */ static int build_header(struct sk_buff *skb, struct net_device *dev, unsigned short type, uint8_t daddr) { … } static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length, int bufnum) { … } static struct ArcProto rawmode_proto = …; static int __init arcnet_raw_init(void) { … } static void __exit arcnet_raw_exit(void) { … } module_init(…) …; module_exit(arcnet_raw_exit); MODULE_DESCRIPTION(…) …; MODULE_LICENSE(…) …;