/*
* Small implementation of brctl for busybox.
*
- * Copyright (C) 2008 by Bernhard Fischer
+ * Copyright (C) 2008 by Bernhard Reutner-Fischer
*
* Some helper functions from bridge-utils are
* Copyright (C) 2000 Lennert Buytenhek
#include <linux/sockios.h>
#include <net/if.h>
+#ifndef SIOCBRADDBR
+# define SIOCBRADDBR BRCTL_ADD_BRIDGE
+#endif
+#ifndef SIOCBRDELBR
+# define SIOCBRDELBR BRCTL_DEL_BRIDGE
+#endif
+#ifndef SIOCBRADDIF
+# define SIOCBRADDIF BRCTL_ADD_IF
+#endif
+#ifndef SIOCBRDELIF
+# define SIOCBRDELIF BRCTL_DEL_IF
+#endif
+
+
/* Maximum number of ports supported per bridge interface. */
#ifndef MAX_PORTS
#define MAX_PORTS 32
int brctl_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int brctl_main(int argc ATTRIBUTE_UNUSED, char **argv)
+int brctl_main(int argc UNUSED_PARAM, char **argv)
{
static const char keywords[] ALIGN1 =
"addbr\0" "delbr\0" "addif\0" "delif\0"
- USE_FEATURE_BRCTL_FANCY(
+ IF_FEATURE_BRCTL_FANCY(
"stp\0"
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
)
- USE_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
+ IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
- USE_FEATURE_BRCTL_FANCY(,
+ IF_FEATURE_BRCTL_FANCY(,
ARG_stp,
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
)
- USE_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
+ IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
};
int fd;
if (!if_indextoname(bridx[i], brname))
bb_perror_msg_and_die("can't get bridge name for index %d", i);
- safe_strncpy(ifr.ifr_name, brname, IFNAMSIZ);
+ strncpy_IFNAMSIZ(ifr.ifr_name, brname);
arm_ioctl(args, BRCTL_GET_BRIDGE_INFO,
(unsigned long) &bi, 0);
if (!*argv) /* all but 'addif/delif' need at least two arguments */
bb_show_usage();
- safe_strncpy(ifr.ifr_name, br, IFNAMSIZ);
+ strncpy_IFNAMSIZ(ifr.ifr_name, br);
if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
brif = *argv;
ifr.ifr_ifindex = if_nametoindex(brif);