diff options
| -rw-r--r-- | include/common.h | 7 | ||||
| -rw-r--r-- | include/net.h | 3 | ||||
| -rw-r--r-- | lib_generic/Makefile | 1 | ||||
| -rw-r--r-- | lib_generic/net_utils.c | 50 | ||||
| -rw-r--r-- | net/net.c | 26 | 
5 files changed, 58 insertions, 29 deletions
| diff --git a/include/common.h b/include/common.h index 07897f682..8197508b6 100644 --- a/include/common.h +++ b/include/common.h @@ -617,6 +617,13 @@ int gunzip(void *, int, unsigned char *, unsigned long *);  int zunzip(void *dst, int dstlen, unsigned char *src, unsigned long *lenp,  						int stoponerr, int offset); +/* lib_generic/net_utils.c */ +#include <net.h> +static inline IPaddr_t getenv_IPaddr (char *var) +{ +	return (string_to_ip(getenv(var))); +} +  /* lib_generic/time.c */  void	udelay        (unsigned long); diff --git a/include/net.h b/include/net.h index 1c8ab1245..3f6a5d149 100644 --- a/include/net.h +++ b/include/net.h @@ -508,9 +508,6 @@ extern void	VLAN_to_string (ushort x, char *s);  /* Convert a string to a vlan id */  extern ushort string_to_VLAN(char *s); -/* read an IP address from a environment variable */ -extern IPaddr_t getenv_IPaddr (char *); -  /* read a VLAN id from an environment variable */  extern ushort getenv_VLAN(char *); diff --git a/lib_generic/Makefile b/lib_generic/Makefile index bfaf3468e..c17179cbc 100644 --- a/lib_generic/Makefile +++ b/lib_generic/Makefile @@ -41,6 +41,7 @@ COBJS-y += gunzip.o  COBJS-y += lmb.o  COBJS-y += ldiv.o  COBJS-$(CONFIG_MD5) += md5.o +COBJS-y += net_utils.o  COBJS-y += sha1.o  COBJS-$(CONFIG_SHA256) += sha256.o  COBJS-y += string.o diff --git a/lib_generic/net_utils.c b/lib_generic/net_utils.c new file mode 100644 index 000000000..f03b098e9 --- /dev/null +++ b/lib_generic/net_utils.c @@ -0,0 +1,50 @@ +/* + * Generic network code. Moved from net.c + * + * Copyright 1994 - 2000 Neil Russell. + * Copyright 2000 Roland Borde + * Copyright 2000 Paolo Scaffardi + * Copyright 2000-2002 Wolfgang Denk, wd@denx.de + * Copyright 2009 Dirk Behme, dirk.behme@googlemail.com + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> + +IPaddr_t string_to_ip(char *s) +{ +	IPaddr_t addr; +	char *e; +	int i; + +	if (s == NULL) +		return(0); + +	for (addr=0, i=0; i<4; ++i) { +		ulong val = s ? simple_strtoul(s, &e, 10) : 0; +		addr <<= 8; +		addr |= (val & 0xFF); +		if (s) { +			s = (*e) ? e+1 : e; +		} +	} + +	return (htonl(addr)); +} @@ -1890,27 +1890,6 @@ void ip_to_string (IPaddr_t x, char *s)  	);  } -IPaddr_t string_to_ip(char *s) -{ -	IPaddr_t addr; -	char *e; -	int i; - -	if (s == NULL) -		return(0); - -	for (addr=0, i=0; i<4; ++i) { -		ulong val = s ? simple_strtoul(s, &e, 10) : 0; -		addr <<= 8; -		addr |= (val & 0xFF); -		if (s) { -			s = (*e) ? e+1 : e; -		} -	} - -	return (htonl(addr)); -} -  void VLAN_to_string(ushort x, char *s)  {  	x = ntohs(x); @@ -1939,11 +1918,6 @@ ushort string_to_VLAN(char *s)  	return htons(id);  } -IPaddr_t getenv_IPaddr (char *var) -{ -	return (string_to_ip(getenv(var))); -} -  ushort getenv_VLAN(char *var)  {  	return (string_to_VLAN(getenv(var))); |