aboutsummaryrefslogtreecommitdiff
path: root/networking/libiproute/iplink.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-06-20 09:05:00 +0000
committerEric Andersen <andersen@codepoet.org>2003-06-20 09:05:00 +0000
commit0f08e53535a7a1c0d4f7699f2e4224a255921559 (patch)
treeceebbc8c3fd94050aaf8a775807a49ae25286981 /networking/libiproute/iplink.c
parent8876fb2f59a0b515b3121d5894933eef88ce566a (diff)
downloadbusybox-0f08e53535a7a1c0d4f7699f2e4224a255921559.tar.gz
Patch from Lars Kellogg-Stedman:
I'm building BusyBox using a development kit for MontaVista Hardhat Linux (PPC) -- which, at least in this instance, is based around kernel 2.2.14. I've had to massage a few files in networking/libiproute/ to make it compile. Specifically: (1) Added a #include <sys/uio.h> for the iovec structure in libnetlink.c, (2) Put ifdefs in ll_types.c and ll_proto.c around various constants (ETH_P_xxx and ARPHRD_xxx) that weren't defined, (3) Make do_changename() in iplink.c require a kernel >= 2.4.0 -- the ifr structure in my environment doesn't have the ifr_name attribute. I've assumed this is a kernel dependency -- let me know if I ought to be checking something else. In the absence of the correct kernel, do_changename() always returns 0. Attached is a patch against the current CVS that will make these changes. -- Lars
Diffstat (limited to 'networking/libiproute/iplink.c')
-rw-r--r--networking/libiproute/iplink.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index f826ba081..daab6938d 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -12,6 +12,7 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
+#include <linux/version.h>
#include <errno.h>
#include <stdlib.h>
@@ -95,6 +96,7 @@ static int do_chflags(char *dev, __u32 flags, __u32 mask)
static int do_changename(char *dev, char *newdev)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0)
struct ifreq ifr;
int fd;
int err;
@@ -112,6 +114,8 @@ static int do_changename(char *dev, char *newdev)
}
close(fd);
return err;
+#endif
+ return 0;
}
static int set_qlen(char *dev, int qlen)