* [PATCH] net: Move library functions to net/lib.c
@ 2015-07-02 6:36 Sascha Hauer
2015-07-02 7:38 ` Antony Pavlov
0 siblings, 1 reply; 3+ messages in thread
From: Sascha Hauer @ 2015-07-02 6:36 UTC (permalink / raw)
To: Barebox List
Some network related functions are also needed when networking
is disabled. Move these to a separate file which is always compiled.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
net/Makefile | 1 +
net/lib.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
net/net.c | 78 ------------------------------------------
3 files changed, 109 insertions(+), 78 deletions(-)
create mode 100644 net/lib.c
diff --git a/net/Makefile b/net/Makefile
index 58bf143..8d564e7 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1,3 +1,4 @@
+obj-y += lib.o
obj-$(CONFIG_NET) += eth.o
obj-$(CONFIG_NET) += net.o
obj-$(CONFIG_NET_NFS) += nfs.o
diff --git a/net/lib.c b/net/lib.c
new file mode 100644
index 0000000..04abfc2
--- /dev/null
+++ b/net/lib.c
@@ -0,0 +1,108 @@
+/*
+ * net.c - barebox networking support
+ *
+ * Copyright (c) 2015 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
+ *
+ * based on U-Boot (LiMon) code
+ *
+ * Copyright 1994 - 2000 Neil Russell.
+ * Copyright 2000 Roland Borde
+ * Copyright 2000 Paolo Scaffardi
+ * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
+ *
+ * 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 version 2
+ * as published by the Free Software Foundation.
+ *
+ * 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.
+ *
+ */
+
+#include <common.h>
+#include <net.h>
+#include <linux/ctype.h>
+
+int string_to_ethaddr(const char *str, u8 enetaddr[6])
+{
+ int reg;
+ char *e;
+
+ if (!str || strlen(str) != 17) {
+ memset(enetaddr, 0, 6);
+ return -EINVAL;
+ }
+
+ if (str[2] != ':' || str[5] != ':' || str[8] != ':' ||
+ str[11] != ':' || str[14] != ':')
+ return -EINVAL;
+
+ for (reg = 0; reg < 6; ++reg) {
+ enetaddr[reg] = simple_strtoul (str, &e, 16);
+ str = e + 1;
+ }
+
+ return 0;
+}
+
+void ethaddr_to_string(const u8 enetaddr[6], char *str)
+{
+ sprintf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
+ enetaddr[0], enetaddr[1], enetaddr[2], enetaddr[3],
+ enetaddr[4], enetaddr[5]);
+}
+
+void print_IPaddr (IPaddr_t x)
+{
+ puts(ip_to_string(x));
+}
+
+char *ip_to_string (IPaddr_t x)
+{
+ static char s[sizeof("xxx.xxx.xxx.xxx")];
+
+ x = ntohl (x);
+ sprintf (s, "%d.%d.%d.%d",
+ (int) ((x >> 24) & 0xff),
+ (int) ((x >> 16) & 0xff),
+ (int) ((x >> 8) & 0xff), (int) ((x >> 0) & 0xff)
+ );
+ return s;
+}
+
+int string_to_ip(const char *s, IPaddr_t *ip)
+{
+ IPaddr_t addr = 0;
+ char *e;
+ int i;
+
+ if (!s)
+ return -EINVAL;
+
+ for (i = 0; i < 4; i++) {
+ unsigned long val;
+
+ if (!isdigit(*s))
+ return -EINVAL;
+
+ val = simple_strtoul(s, &e, 10);
+ if (val > 255)
+ return -EINVAL;
+
+ addr = (addr << 8) | val;
+
+ if (*e != '.' && i != 3)
+ return -EINVAL;
+
+ s = e + 1;
+ }
+
+ *ip = htonl(addr);
+ return 0;
+}
+
diff --git a/net/net.c b/net/net.c
index 75292c7..9380664 100644
--- a/net/net.c
+++ b/net/net.c
@@ -62,50 +62,6 @@ uint16_t net_checksum(unsigned char *ptr, int len)
return xsum & 0xffff;
}
-char *ip_to_string (IPaddr_t x)
-{
- static char s[sizeof("xxx.xxx.xxx.xxx")];
-
- x = ntohl (x);
- sprintf (s, "%d.%d.%d.%d",
- (int) ((x >> 24) & 0xff),
- (int) ((x >> 16) & 0xff),
- (int) ((x >> 8) & 0xff), (int) ((x >> 0) & 0xff)
- );
- return s;
-}
-
-int string_to_ip(const char *s, IPaddr_t *ip)
-{
- IPaddr_t addr = 0;
- char *e;
- int i;
-
- if (!s)
- return -EINVAL;
-
- for (i = 0; i < 4; i++) {
- unsigned long val;
-
- if (!isdigit(*s))
- return -EINVAL;
-
- val = simple_strtoul(s, &e, 10);
- if (val > 255)
- return -EINVAL;
-
- addr = (addr << 8) | val;
-
- if (*e != '.' && i != 3)
- return -EINVAL;
-
- s = e + 1;
- }
-
- *ip = htonl(addr);
- return 0;
-}
-
IPaddr_t getenv_ip(const char *name)
{
IPaddr_t ip;
@@ -131,40 +87,6 @@ int setenv_ip(const char *name, IPaddr_t ip)
return 0;
}
-void print_IPaddr (IPaddr_t x)
-{
- puts(ip_to_string(x));
-}
-
-int string_to_ethaddr(const char *str, u8 enetaddr[6])
-{
- int reg;
- char *e;
-
- if (!str || strlen(str) != 17) {
- memset(enetaddr, 0, 6);
- return -EINVAL;
- }
-
- if (str[2] != ':' || str[5] != ':' || str[8] != ':' ||
- str[11] != ':' || str[14] != ':')
- return -EINVAL;
-
- for (reg = 0; reg < 6; ++reg) {
- enetaddr[reg] = simple_strtoul (str, &e, 16);
- str = e + 1;
- }
-
- return 0;
-}
-
-void ethaddr_to_string(const u8 enetaddr[6], char *str)
-{
- sprintf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
- enetaddr[0], enetaddr[1], enetaddr[2], enetaddr[3],
- enetaddr[4], enetaddr[5]);
-}
-
static unsigned char *arp_ether;
static IPaddr_t arp_wait_ip;
--
2.1.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] net: Move library functions to net/lib.c
2015-07-02 6:36 [PATCH] net: Move library functions to net/lib.c Sascha Hauer
@ 2015-07-02 7:38 ` Antony Pavlov
2015-07-02 7:40 ` Sascha Hauer
0 siblings, 1 reply; 3+ messages in thread
From: Antony Pavlov @ 2015-07-02 7:38 UTC (permalink / raw)
To: Sascha Hauer; +Cc: Barebox List
On Thu, 2 Jul 2015 08:36:53 +0200
Sascha Hauer <s.hauer@pengutronix.de> wrote:
> Some network related functions are also needed when networking
> is disabled. Move these to a separate file which is always compiled.
>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> net/Makefile | 1 +
> net/lib.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> net/net.c | 78 ------------------------------------------
> 3 files changed, 109 insertions(+), 78 deletions(-)
> create mode 100644 net/lib.c
>
> diff --git a/net/Makefile b/net/Makefile
> index 58bf143..8d564e7 100644
> --- a/net/Makefile
> +++ b/net/Makefile
> @@ -1,3 +1,4 @@
> +obj-y += lib.o
> obj-$(CONFIG_NET) += eth.o
> obj-$(CONFIG_NET) += net.o
> obj-$(CONFIG_NET_NFS) += nfs.o
> diff --git a/net/lib.c b/net/lib.c
> new file mode 100644
> index 0000000..04abfc2
> --- /dev/null
> +++ b/net/lib.c
> @@ -0,0 +1,108 @@
> +/*
> + * net.c - barebox networking support
> + *
> + * Copyright (c) 2015 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
> + *
> + * based on U-Boot (LiMon) code
> + *
> + * Copyright 1994 - 2000 Neil Russell.
> + * Copyright 2000 Roland Borde
> + * Copyright 2000 Paolo Scaffardi
> + * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
> + *
> + * 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 version 2
> + * as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + */
> +
> +#include <common.h>
> +#include <net.h>
> +#include <linux/ctype.h>
> +
> +int string_to_ethaddr(const char *str, u8 enetaddr[6])
> +{
> + int reg;
> + char *e;
> +
> + if (!str || strlen(str) != 17) {
> + memset(enetaddr, 0, 6);
> + return -EINVAL;
> + }
> +
> + if (str[2] != ':' || str[5] != ':' || str[8] != ':' ||
> + str[11] != ':' || str[14] != ':')
> + return -EINVAL;
> +
> + for (reg = 0; reg < 6; ++reg) {
> + enetaddr[reg] = simple_strtoul (str, &e, 16);
> + str = e + 1;
> + }
> +
> + return 0;
> +}
> +
> +void ethaddr_to_string(const u8 enetaddr[6], char *str)
> +{
> + sprintf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
> + enetaddr[0], enetaddr[1], enetaddr[2], enetaddr[3],
> + enetaddr[4], enetaddr[5]);
> +}
> +
> +void print_IPaddr (IPaddr_t x)
> +{
> + puts(ip_to_string(x));
> +}
> +
> +char *ip_to_string (IPaddr_t x)
> +{
> + static char s[sizeof("xxx.xxx.xxx.xxx")];
> +
> + x = ntohl (x);
> + sprintf (s, "%d.%d.%d.%d",
can we fix coding style here?
--
Best regards,
Antony Pavlov
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] net: Move library functions to net/lib.c
2015-07-02 7:38 ` Antony Pavlov
@ 2015-07-02 7:40 ` Sascha Hauer
0 siblings, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2015-07-02 7:40 UTC (permalink / raw)
To: Antony Pavlov; +Cc: Barebox List
On Thu, Jul 02, 2015 at 10:38:01AM +0300, Antony Pavlov wrote:
> On Thu, 2 Jul 2015 08:36:53 +0200
> Sascha Hauer <s.hauer@pengutronix.de> wrote:
>
> > Some network related functions are also needed when networking
> > is disabled. Move these to a separate file which is always compiled.
> >
> > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > ---
> > net/Makefile | 1 +
> > net/lib.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > net/net.c | 78 ------------------------------------------
> > 3 files changed, 109 insertions(+), 78 deletions(-)
> > create mode 100644 net/lib.c
> >
> > diff --git a/net/Makefile b/net/Makefile
> > index 58bf143..8d564e7 100644
> > --- a/net/Makefile
> > +++ b/net/Makefile
> > @@ -1,3 +1,4 @@
> > +obj-y += lib.o
> > obj-$(CONFIG_NET) += eth.o
> > obj-$(CONFIG_NET) += net.o
> > obj-$(CONFIG_NET_NFS) += nfs.o
> > diff --git a/net/lib.c b/net/lib.c
> > new file mode 100644
> > index 0000000..04abfc2
> > --- /dev/null
> > +++ b/net/lib.c
> > @@ -0,0 +1,108 @@
> > +/*
> > + * net.c - barebox networking support
> > + *
> > + * Copyright (c) 2015 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
> > + *
> > + * based on U-Boot (LiMon) code
> > + *
> > + * Copyright 1994 - 2000 Neil Russell.
> > + * Copyright 2000 Roland Borde
> > + * Copyright 2000 Paolo Scaffardi
> > + * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
> > + *
> > + * 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 version 2
> > + * as published by the Free Software Foundation.
> > + *
> > + * 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.
> > + *
> > + */
> > +
> > +#include <common.h>
> > +#include <net.h>
> > +#include <linux/ctype.h>
> > +
> > +int string_to_ethaddr(const char *str, u8 enetaddr[6])
> > +{
> > + int reg;
> > + char *e;
> > +
> > + if (!str || strlen(str) != 17) {
> > + memset(enetaddr, 0, 6);
> > + return -EINVAL;
> > + }
> > +
> > + if (str[2] != ':' || str[5] != ':' || str[8] != ':' ||
> > + str[11] != ':' || str[14] != ':')
> > + return -EINVAL;
> > +
> > + for (reg = 0; reg < 6; ++reg) {
> > + enetaddr[reg] = simple_strtoul (str, &e, 16);
> > + str = e + 1;
> > + }
> > +
> > + return 0;
> > +}
> > +
> > +void ethaddr_to_string(const u8 enetaddr[6], char *str)
> > +{
> > + sprintf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
> > + enetaddr[0], enetaddr[1], enetaddr[2], enetaddr[3],
> > + enetaddr[4], enetaddr[5]);
> > +}
> > +
> > +void print_IPaddr (IPaddr_t x)
> > +{
> > + puts(ip_to_string(x));
> > +}
> > +
> > +char *ip_to_string (IPaddr_t x)
> > +{
> > + static char s[sizeof("xxx.xxx.xxx.xxx")];
> > +
> > + x = ntohl (x);
> > + sprintf (s, "%d.%d.%d.%d",
>
> can we fix coding style here?
Sure, just did that. The remaining style issues now are "consider using
strict_strtoul".
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-07-02 7:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-02 6:36 [PATCH] net: Move library functions to net/lib.c Sascha Hauer
2015-07-02 7:38 ` Antony Pavlov
2015-07-02 7:40 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox