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