1 /* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. NET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Definitions for the Ethernet handlers. 7 * 8 * Version: @(#)eth.h 1.0.4 05/13/93 9 * 10 * Authors: Ross Biro, <bir7@leland.Stanford.Edu> 11 * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 12 * 13 * Relocated to include/linux where it belongs by Alan Cox 14 * <gw4pts@gw4pts.ampr.org> 15 * 16 * This program is free software; you can redistribute it and/or 17 * modify it under the terms of the GNU General Public License 18 * as published by the Free Software Foundation; either version 19 * 2 of the License, or (at your option) any later version. 20 * 21 * WARNING: This move may well be temporary. This file will get merged with others RSN. 22 * 23 */ 24 #ifndef _LINUX_ETHERDEVICE_H 25 #define _LINUX_ETHERDEVICE_H 26 27 28 #include <linux/if_ether.h> 29 30 #ifdef __KERNEL__ 31 extern int eth_header(struct sk_buff *skb, struct device *dev, 32 unsigned short type, void *daddr, 33 void *saddr, unsigned len); 34 extern int eth_rebuild_header(void *buff, struct device *dev, 35 unsigned long dst, struct sk_buff *skb); 36 extern unsigned short eth_type_trans(struct sk_buff *skb, struct device *dev); 37 extern void eth_header_cache(struct device *dev, struct sock *sk, unsigned long saddr, unsigned long daddr); 38 extern void eth_copy_and_sum(struct sk_buff *dest, 39 unsigned char *src, int length, int base); 40 extern struct device * init_etherdev(struct device *, int, unsigned long*); 41 42 #endif 43 44 #endif /* _LINUX_ETHERDEVICE_H */