diff options
| author | Stefan Roese <sr@denx.de> | 2007-08-15 21:06:27 +0200 | 
|---|---|---|
| committer | Stefan Roese <sr@denx.de> | 2007-08-15 21:06:27 +0200 | 
| commit | b706d63559aeec352bc72dd86d7d5423c15f6a60 (patch) | |
| tree | fdeda4d61970fef239d9d66ecd851fa46cfe5ec0 /include/net.h | |
| parent | c8603cfbd4573379a6076c9c208545ba2bbf019a (diff) | |
| parent | 594e79838ce5078a90d0c27abb2b2d61d5f8e8a7 (diff) | |
| download | olio-uboot-2014.01-b706d63559aeec352bc72dd86d7d5423c15f6a60.tar.xz olio-uboot-2014.01-b706d63559aeec352bc72dd86d7d5423c15f6a60.zip | |
Merge with git://www.denx.de/git/u-boot.git
Diffstat (limited to 'include/net.h')
| -rw-r--r-- | include/net.h | 42 | 
1 files changed, 36 insertions, 6 deletions
| diff --git a/include/net.h b/include/net.h index 461e03801..603452ab3 100644 --- a/include/net.h +++ b/include/net.h @@ -99,10 +99,12 @@ struct eth_device {  	int state;  	int  (*init) (struct eth_device*, bd_t*); -	int  (*send) (struct eth_device*, volatile void* pachet, int length); +	int  (*send) (struct eth_device*, volatile void* packet, int length);  	int  (*recv) (struct eth_device*);  	void (*halt) (struct eth_device*); - +#ifdef CONFIG_MCAST_TFTP +	int (*mcast) (struct eth_device*, u32 ip, u8 set); +#endif  	struct eth_device *next;  	void *priv;  }; @@ -124,6 +126,11 @@ extern int eth_rx(void);			/* Check for received packets	*/  extern void eth_halt(void);			/* stop SCC			*/  extern char *eth_get_name(void);		/* get name of current device	*/ +#ifdef CONFIG_MCAST_TFTP +int eth_mcast_join( IPaddr_t mcast_addr, u8 join); +u32 ether_crc (size_t len, unsigned char const *p); +#endif +  /**********************************************************************/  /* @@ -296,7 +303,7 @@ typedef struct icmphdr {  extern IPaddr_t		NetOurGatewayIP;	/* Our gateway IP addresse	*/  extern IPaddr_t		NetOurSubnetMask;	/* Our subnet mask (0 = unknown)*/  extern IPaddr_t		NetOurDNSIP;	 /* Our Domain Name Server (0 = unknown)*/ -#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2) +#if defined(CONFIG_BOOTP_DNS2)  extern IPaddr_t		NetOurDNS2IP;	 /* Our 2nd Domain Name Server (0 = unknown)*/  #endif  extern char		NetOurNISDomain[32];	/* Our NIS domain		*/ @@ -341,17 +348,17 @@ typedef enum { BOOTP, RARP, ARP, TFTP, DHCP, PING, DNS, NFS, CDP, NETCONS, SNTP  /* from net/net.c */  extern char	BootFile[128];			/* Boot File name		*/ -#if (CONFIG_COMMANDS & CFG_CMD_PING) +#if defined(CONFIG_CMD_PING)  extern IPaddr_t	NetPingIP;			/* the ip address to ping 		*/  #endif -#if (CONFIG_COMMANDS & CFG_CMD_CDP) +#if defined(CONFIG_CMD_CDP)  /* when CDP completes these hold the return values */  extern ushort CDPNativeVLAN;  extern ushort CDPApplianceVLAN;  #endif -#if (CONFIG_COMMANDS & CFG_CMD_SNTP) +#if defined(CONFIG_CMD_SNTP)  extern IPaddr_t	NetNtpServerIP;			/* the ip address to NTP 	*/  extern int NetTimeOffset;			/* offset time from UTC		*/  #endif @@ -435,6 +442,29 @@ static inline void NetCopyLong(ulong *to, ulong *from)  	memcpy((void*)to, (void*)from, sizeof(ulong));  } +/** + * is_zero_ether_addr - Determine if give Ethernet address is all zeros. + * @addr: Pointer to a six-byte array containing the Ethernet address + * + * Return true if the address is all zeroes. + */ +static inline int is_zero_ether_addr(const u8 *addr) +{ +	return !(addr[0] | addr[1] | addr[2] | addr[3] | addr[4] | addr[5]); +} + +/** + * is_multicast_ether_addr - Determine if the Ethernet address is a multicast. + * @addr: Pointer to a six-byte array containing the Ethernet address + * + * Return true if the address is a multicast address. + * By definition the broadcast address is also a multicast address. + */ +static inline int is_multicast_ether_addr(const u8 *addr) +{ +	return (0x01 & addr[0]); +} +  /* Convert an IP address to a string */  extern void	ip_to_string (IPaddr_t x, char *s); |