home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.2 / LINUX-1.2 / LINUX-1 / linux / net / inet / p8023.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-24  |  808 b   |  36 lines

  1. #include <linux/netdevice.h>
  2. #include <linux/skbuff.h>
  3. #include "datalink.h"
  4. #include <linux/mm.h>
  5. #include <linux/in.h>
  6.  
  7. static void
  8. p8023_datalink_header(struct datalink_proto *dl, 
  9.         struct sk_buff *skb, unsigned char *dest_node)
  10. {
  11.     struct device    *dev = skb->dev;
  12.     unsigned long    len = skb->len;
  13.     unsigned long    hard_len = dev->hard_header_len;
  14.  
  15.     dev->hard_header(skb->data, dev, len - hard_len,
  16.             dest_node, NULL, len - hard_len, skb);
  17.     skb->h.raw = skb->data + hard_len;
  18. }
  19.  
  20. struct datalink_proto *
  21. make_8023_client(void)
  22. {
  23.     struct datalink_proto    *proto;
  24.  
  25.     proto = (struct datalink_proto *) kmalloc(sizeof(*proto), GFP_ATOMIC);
  26.     if (proto != NULL) {
  27.         proto->type_len = 0;
  28.         proto->header_length = 0;
  29.         proto->datalink_header = p8023_datalink_header;
  30.         proto->string_name = "802.3";
  31.     }
  32.  
  33.     return proto;
  34. }
  35.  
  36.