diff options
Diffstat (limited to 'pfinet/linux-src/include/linux/etherdevice.h')
-rw-r--r-- | pfinet/linux-src/include/linux/etherdevice.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pfinet/linux-src/include/linux/etherdevice.h b/pfinet/linux-src/include/linux/etherdevice.h new file mode 100644 index 00000000..9101855c --- /dev/null +++ b/pfinet/linux-src/include/linux/etherdevice.h @@ -0,0 +1,56 @@ +/* + * INET An implementation of the TCP/IP protocol suite for the LINUX + * operating system. NET is implemented using the BSD Socket + * interface as the means of communication with the user level. + * + * Definitions for the Ethernet handlers. + * + * Version: @(#)eth.h 1.0.4 05/13/93 + * + * Authors: Ross Biro, <bir7@leland.Stanford.Edu> + * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> + * + * Relocated to include/linux where it belongs by Alan Cox + * <gw4pts@gw4pts.ampr.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + * + * WARNING: This move may well be temporary. This file will get merged with others RSN. + * + */ +#ifndef _LINUX_ETHERDEVICE_H +#define _LINUX_ETHERDEVICE_H + +#include <linux/config.h> +#include <linux/if_ether.h> + +#ifdef __KERNEL__ +extern int eth_header(struct sk_buff *skb, struct device *dev, + unsigned short type, void *daddr, + void *saddr, unsigned len); +extern int eth_rebuild_header(struct sk_buff *skb); +extern unsigned short eth_type_trans(struct sk_buff *skb, struct device *dev); +extern void eth_header_cache_update(struct hh_cache *hh, struct device *dev, + unsigned char * haddr); +extern int eth_header_cache(struct neighbour *neigh, + struct hh_cache *hh); +extern int eth_header_parse(struct sk_buff *skb, + unsigned char *haddr); +extern struct device * init_etherdev(struct device *, int); + +#ifdef CONFIG_IP_ROUTER +static __inline__ void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) +{ + memcpy (dest->data, src, len); +} +#else +extern void eth_copy_and_sum(struct sk_buff *dest, + unsigned char *src, int length, int base); +#endif + +#endif + +#endif /* _LINUX_ETHERDEVICE_H */ |