⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 if_ether.h

📁 很好的一个嵌入式linux平台下的bootloader
💻 H
字号:
/* $Id: if_ether.h,v 1.4 1998/12/28 14:13:19 nigel Exp $ *//* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)if_ether.h	7.5 (Berkeley) 6/28/90 *//* * Structure of a 10Mb/s Ethernet header. */#define	ETHER_ADDR_LEN	6struct	ether_header {	u_char	ether_dhost[ETHER_ADDR_LEN];	u_char	ether_shost[ETHER_ADDR_LEN];	u_short	ether_type;};#define	ETHERTYPE_PUP	0x0200		/* PUP protocol */#define	ETHERTYPE_IP	0x0800		/* IP protocol */#define ETHERTYPE_ARP	0x0806		/* Addr. resolution protocol */#define	ETHERTYPE_REVARP	0x8035	/* reverse addr resolution protocol *//* * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have * (type-ETHERTYPE_TRAIL)*512 bytes of data followed * by an ETHER type (as given above) and then the (variable-length) header. */#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */#define	ETHERTYPE_NTRAILER	16#define	ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */#define	ETHERMTU	1500#define	ETHERMIN	(60-14)/* * Ethernet Address Resolution Protocol. * * See RFC 826 for protocol description.  Structure below is adapted * to resolving internet addresses.  Field names used correspond to  * RFC 826. */struct	ether_arp {	struct	arphdr ea_hdr;	/* fixed-size header */	u_char	arp_sha[ETHER_ADDR_LEN];	/* sender hardware address */	u_char	arp_spa[4];	/* sender protocol address */	u_char	arp_tha[ETHER_ADDR_LEN];	/* target hardware address */	u_char	arp_tpa[4];	/* target protocol address */};#define	arp_hrd	ea_hdr.ar_hrd#define	arp_pro	ea_hdr.ar_pro#define	arp_hln	ea_hdr.ar_hln#define	arp_pln	ea_hdr.ar_pln#define	arp_op	ea_hdr.ar_op/* * Structure shared between the ethernet driver modules and * the address resolution code.  For example, each ec_softc or il_softc * begins with this structure. */struct	arpcom {	struct 	ifnet ac_if;		/* network-visible interface */	u_char	ac_enaddr[ETHER_ADDR_LEN];		/* ethernet hardware address */	struct in_addr ac_ipaddr;	/* copy of ip address- XXX */};/* * Internet to ethernet address resolution table. */struct	arptab {	struct	in_addr at_iaddr;	/* internet address */	u_char	at_enaddr[ETHER_ADDR_LEN];		/* ethernet address */	u_char	at_timer;		/* minutes since last reference */	u_char	at_flags;		/* flags */	struct	mbuf *at_hold;		/* last packet until resolved/timeout */};#ifdef	KERNELconst u_char etherbroadcastaddr[ETHER_ADDR_LEN];struct	arptab *arptnew();int	ether_output(), ether_input();char	*ether_sprintf();void	arp_ifinit();#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -