1#include <linux/in.h> 2#include <linux/mm.h> 3#include <linux/module.h> 4#include <linux/netdevice.h> 5#include <linux/skbuff.h> 6#include <linux/slab.h> 7 8#include <net/datalink.h> 9 10static int pEII_request(struct datalink_proto *dl, 11 struct sk_buff *skb, unsigned char *dest_node) 12{ 13 struct net_device *dev = skb->dev; 14 15 skb->protocol = htons(ETH_P_IPX); 16 dev_hard_header(skb, dev, ETH_P_IPX, dest_node, NULL, skb->len); 17 return dev_queue_xmit(skb); 18} 19 20struct datalink_proto *make_EII_client(void) 21{ 22 struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC); 23 24 if (proto) { 25 proto->header_length = 0; 26 proto->request = pEII_request; 27 } 28 29 return proto; 30} 31 32void destroy_EII_client(struct datalink_proto *dl) 33{ 34 kfree(dl); 35} 36