Hi,

I would like to fix some warings in ifconfig when compiled with
WARNINGS=yes.

- Move all prototypes and variables used in multiple .c files into
  common ifconfig.h.  Basically rename brconfig.h to ifconfig.h and
  also use it for sff.c.
- Fix missing prototypes.
- Global variable s is a bad name as it shadows local variables.
  Call it sock and use it everywhere.

There are more warnings, but the diff is long enough already.

ok?

bluhm

Index: sbin/ifconfig/brconfig.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/brconfig.c,v
retrieving revision 1.22
diff -u -p -r1.22 brconfig.c
--- sbin/ifconfig/brconfig.c    28 Jun 2019 13:32:44 -0000      1.22
+++ sbin/ifconfig/brconfig.c    17 Oct 2019 13:12:51 -0000
@@ -47,7 +47,7 @@
 #include <limits.h>
 #include <arpa/inet.h>

-#include "brconfig.h"
+#include "ifconfig.h"

 void bridge_ifsetflag(const char *, u_int32_t);
 void bridge_ifclrflag(const char *, u_int32_t);
@@ -202,7 +202,7 @@ addlocal(const char *ifsname, int d)
        /* Add local */
        strlcpy(breq.ifbr_name, name, sizeof(breq.ifbr_name));
        strlcpy(breq.ifbr_ifsname, ifsname, sizeof(breq.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGADDL, (caddr_t)&breq) == -1) {
+       if (ioctl(sock, SIOCBRDGADDL, (caddr_t)&breq) == -1) {
                if (errno == EEXIST)
                        return;
                else
@@ -217,12 +217,12 @@ bridge_ifsetflag(const char *ifsname, u_

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifsname, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGGIFFLGS, (caddr_t)&req) == -1)
+       if (ioctl(sock, SIOCBRDGGIFFLGS, (caddr_t)&req) == -1)
                err(1, "%s: ioctl SIOCBRDGGIFFLGS %s", name, ifsname);

        req.ifbr_ifsflags |= flag & ~IFBIF_RO_MASK;

-       if (ioctl(s, SIOCBRDGSIFFLGS, (caddr_t)&req) == -1)
+       if (ioctl(sock, SIOCBRDGSIFFLGS, (caddr_t)&req) == -1)
                err(1, "%s: ioctl SIOCBRDGSIFFLGS %s", name, ifsname);
 }

@@ -234,12 +234,12 @@ bridge_ifclrflag(const char *ifsname, u_
        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifsname, sizeof(req.ifbr_ifsname));

-       if (ioctl(s, SIOCBRDGGIFFLGS, (caddr_t)&req) == -1)
+       if (ioctl(sock, SIOCBRDGGIFFLGS, (caddr_t)&req) == -1)
                err(1, "%s: ioctl SIOCBRDGGIFFLGS %s", name, ifsname);

        req.ifbr_ifsflags &= ~(flag | IFBIF_RO_MASK);

-       if (ioctl(s, SIOCBRDGSIFFLGS, (caddr_t)&req) == -1)
+       if (ioctl(sock, SIOCBRDGSIFFLGS, (caddr_t)&req) == -1)
                err(1, "%s: ioctl SIOCBRDGSIFFLGS %s", name, ifsname);
 }

@@ -250,7 +250,7 @@ bridge_flushall(const char *val, int p)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        req.ifbr_ifsflags = IFBF_FLUSHALL;
-       if (ioctl(s, SIOCBRDGFLUSH, &req) == -1)
+       if (ioctl(sock, SIOCBRDGFLUSH, &req) == -1)
                err(1, "%s", name);
 }

@@ -261,7 +261,7 @@ bridge_flush(const char *val, int p)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        req.ifbr_ifsflags = IFBF_FLUSHDYN;
-       if (ioctl(s, SIOCBRDGFLUSH, &req) == -1)
+       if (ioctl(sock, SIOCBRDGFLUSH, &req) == -1)
                err(1, "%s", name);
 }

@@ -275,7 +275,7 @@ bridge_cfg(const char *delim)
        u_int16_t bprio;

        strlcpy(ifbp.ifbop_name, name, sizeof(ifbp.ifbop_name));
-       if (ioctl(s, SIOCBRDGGPARAM, (caddr_t)&ifbp) == -1) {
+       if (ioctl(sock, SIOCBRDGGPARAM, (caddr_t)&ifbp) == -1) {
                if (errno == ENOTTY)
                        return;
                err(1, "%s SIOCBRDGGPARAM", name);
@@ -323,7 +323,7 @@ bridge_list(char *delim)
                        err(1, "malloc");
                bifc.ifbic_buf = inbuf = inb;
                strlcpy(bifc.ifbic_name, name, sizeof(bifc.ifbic_name));
-               if (ioctl(s, SIOCBRDGIFS, &bifc) == -1) {
+               if (ioctl(sock, SIOCBRDGIFS, &bifc) == -1) {
                        if (errno == ENOTTY)
                                return;
                        err(1, "%s SIOCBRDGIFS", name);
@@ -371,7 +371,7 @@ bridge_add(const char *ifn, int d)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGADD, &req) == -1) {
+       if (ioctl(sock, SIOCBRDGADD, &req) == -1) {
                if (errno == EEXIST)
                        return;
                err(1, "%s: %s", name, ifn);
@@ -385,7 +385,7 @@ bridge_delete(const char *ifn, int d)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGDEL, &req) == -1)
+       if (ioctl(sock, SIOCBRDGDEL, &req) == -1)
                err(1, "%s: %s", name, ifn);
 }

@@ -396,7 +396,7 @@ bridge_addspan(const char *ifn, int d)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGADDS, &req) == -1) {
+       if (ioctl(sock, SIOCBRDGADDS, &req) == -1) {
                if (errno == EEXIST)
                        return;
                err(1, "%s: %s", name, ifn);
@@ -410,7 +410,7 @@ bridge_delspan(const char *ifn, int d)

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGDELS, &req) == -1)
+       if (ioctl(sock, SIOCBRDGDELS, &req) == -1)
                err(1, "%s: %s", name, ifn);
 }

@@ -430,7 +430,7 @@ bridge_timeout(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_ctime = newtime;
-       if (ioctl(s, SIOCBRDGSTO, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSTO, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -449,7 +449,7 @@ bridge_maxage(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_maxage = v;
-       if (ioctl(s, SIOCBRDGSMA, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSMA, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -468,7 +468,7 @@ bridge_priority(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_prio = v;
-       if (ioctl(s, SIOCBRDGSPRI, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSPRI, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -500,7 +500,7 @@ bridge_protect(const char *ifname, const
                str = strtok(NULL, ",");
        }

-       if (ioctl(s, SIOCBRDGSIFPROT, (caddr_t)&breq) == -1)
+       if (ioctl(sock, SIOCBRDGSIFPROT, (caddr_t)&breq) == -1)
                err(1, "%s: %s", name, val);

        free(optlist);
@@ -516,7 +516,7 @@ bridge_unprotect(const char *ifname, int

        breq.ifbr_protected = 0;

-       if (ioctl(s, SIOCBRDGSIFPROT, (caddr_t)&breq) == -1)
+       if (ioctl(sock, SIOCBRDGSIFPROT, (caddr_t)&breq) == -1)
                err(1, "%s: %d", name, 0);
 }

@@ -536,7 +536,7 @@ bridge_proto(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_prio = proto;
-       if (ioctl(s, SIOCBRDGSPROTO, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSPROTO, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -555,7 +555,7 @@ bridge_fwddelay(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_fwddelay = v;
-       if (ioctl(s, SIOCBRDGSFD, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSFD, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -574,7 +574,7 @@ bridge_hellotime(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_hellotime = v;
-       if (ioctl(s, SIOCBRDGSHT, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSHT, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -593,7 +593,7 @@ bridge_maxaddr(const char *arg, int d)

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_csize = newsize;
-       if (ioctl(s, SIOCBRDGSCACHE, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSCACHE, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -610,7 +610,7 @@ bridge_deladdr(const char *addr, int d)

        bcopy(ea, &ifba.ifba_dst, sizeof(struct ether_addr));

-       if (ioctl(s, SIOCBRDGDADDR, &ifba) == -1)
+       if (ioctl(sock, SIOCBRDGDADDR, &ifba) == -1)
                err(1, "%s: %s", name, addr);
 }

@@ -631,7 +631,7 @@ bridge_ifprio(const char *ifname, const
                err(1, "invalid arg for ifpriority: %s", val);
        breq.ifbr_priority = v;

-       if (ioctl(s, SIOCBRDGSIFPRIO, (caddr_t)&breq) == -1)
+       if (ioctl(sock, SIOCBRDGSIFPRIO, (caddr_t)&breq) == -1)
                err(1, "%s: %s", name, val);
 }

@@ -653,7 +653,7 @@ bridge_ifcost(const char *ifname, const

        breq.ifbr_path_cost = v;

-       if (ioctl(s, SIOCBRDGSIFCOST, (caddr_t)&breq) == -1)
+       if (ioctl(sock, SIOCBRDGSIFCOST, (caddr_t)&breq) == -1)
                err(1, "%s: %s", name, val);
 }

@@ -667,7 +667,7 @@ bridge_noifcost(const char *ifname, int

        breq.ifbr_path_cost = 0;

-       if (ioctl(s, SIOCBRDGSIFCOST, (caddr_t)&breq) == -1)
+       if (ioctl(sock, SIOCBRDGSIFCOST, (caddr_t)&breq) == -1)
                err(1, "%s", name);
 }

@@ -687,7 +687,7 @@ bridge_addaddr(const char *ifname, const
        bcopy(ea, &ifba.ifba_dst, sizeof(struct ether_addr));
        ifba.ifba_flags = IFBAF_STATIC;

-       if (ioctl(s, SIOCBRDGSADDR, &ifba) == -1)
+       if (ioctl(sock, SIOCBRDGSADDR, &ifba) == -1)
                err(1, "%s: %s", name, addr);
 }

@@ -714,7 +714,7 @@ bridge_addrs(const char *delim, int d)
                        err(1, "malloc");
                ifbac.ifbac_buf = inbuf = inb;
                strlcpy(ifbac.ifbac_name, name, sizeof(ifbac.ifbac_name));
-               if (ioctl(s, SIOCBRDGRTS, &ifbac) == -1) {
+               if (ioctl(sock, SIOCBRDGRTS, &ifbac) == -1) {
                        if (errno == ENETDOWN)
                                return;
                        err(1, "%s", name);
@@ -752,7 +752,7 @@ bridge_holdcnt(const char *value, int d)
                err(1, "holdcnt %s %s", value, errstr);

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
-       if (ioctl(s, SIOCBRDGSTXHC, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCBRDGSTXHC, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -767,12 +767,12 @@ is_bridge(char *brdg)

        strlcpy(ifr.ifr_name, brdg, sizeof(ifr.ifr_name));

-       if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
                return (0);

        ifbac.ifbac_len = 0;
        strlcpy(ifbac.ifbac_name, brdg, sizeof(ifbac.ifbac_name));
-       if (ioctl(s, SIOCBRDGRTS, (caddr_t)&ifbac) == -1) {
+       if (ioctl(sock, SIOCBRDGRTS, (caddr_t)&ifbac) == -1) {
                if (errno == ENETDOWN)
                        return (1);
                return (0);
@@ -790,7 +790,7 @@ bridge_status(void)
                return;

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
                return;

        bridge_cfg("\t");
@@ -801,11 +801,11 @@ bridge_status(void)
                return;

        strlcpy(bp1.ifbrp_name, name, sizeof(bp1.ifbrp_name));
-       if (ioctl(s, SIOCBRDGGCACHE, (caddr_t)&bp1) == -1)
+       if (ioctl(sock, SIOCBRDGGCACHE, (caddr_t)&bp1) == -1)
                return;

        strlcpy(bp2.ifbrp_name, name, sizeof(bp2.ifbrp_name));
-       if (ioctl(s, SIOCBRDGGTO, (caddr_t)&bp2) == -1)
+       if (ioctl(sock, SIOCBRDGGTO, (caddr_t)&bp2) == -1)
                return;

        printf("\tAddresses (max cache: %u, timeout: %u):\n",
@@ -821,7 +821,7 @@ bridge_flushrule(const char *ifname, int

        strlcpy(req.ifbr_name, name, sizeof(req.ifbr_name));
        strlcpy(req.ifbr_ifsname, ifname, sizeof(req.ifbr_ifsname));
-       if (ioctl(s, SIOCBRDGFRL, &req) == -1)
+       if (ioctl(sock, SIOCBRDGFRL, &req) == -1)
                err(1, "%s: %s", name, ifname);
 }

@@ -841,7 +841,7 @@ bridge_rules(const char *ifname, int use
                ifc.ifbrl_buf = inbuf = inb;
                strlcpy(ifc.ifbrl_name, name, sizeof(ifc.ifbrl_name));
                strlcpy(ifc.ifbrl_ifsname, ifname, sizeof(ifc.ifbrl_ifsname));
-               if (ioctl(s, SIOCBRDGGRL, &ifc) == -1)
+               if (ioctl(sock, SIOCBRDGGRL, &ifc) == -1)
                        err(1, "ioctl(SIOCBRDGGRL)");
                if (ifc.ifbrl_len + sizeof(*ifrp) < len)
                        break;
@@ -1020,7 +1020,7 @@ bridge_rule(int targc, char **targv, int
                }
        }

-       if (ioctl(s, SIOCBRDGARL, &rule) == -1) {
+       if (ioctl(sock, SIOCBRDGARL, &rule) == -1) {
                warn("%s", name);
                return (1);
        }
@@ -1151,31 +1151,31 @@ is_switch(char *swname)
        struct ifbrparam bp;

        strlcpy(bp.ifbrp_name, swname, sizeof(bp.ifbrp_name));
-       if (ioctl(s, SIOCSWGDPID, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCSWGDPID, (caddr_t)&bp) == -1)
                return (0);

        return (1);
 }

-void
+static void
 switch_cfg(char *delim)
 {
        struct ifbrparam bp;

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
-       if (ioctl(s, SIOCSWGDPID, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCSWGDPID, (caddr_t)&bp) == -1)
                err(1, "%s", name);

        printf("%sdatapath %#016llx", delim, bp.ifbrp_datapath);

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
-       if (ioctl(s, SIOCSWGMAXFLOW, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCSWGMAXFLOW, (caddr_t)&bp) == -1)
                err(1, "%s", name);

        printf(" maxflow %d", bp.ifbrp_maxflow);

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
-       if (ioctl(s, SIOCSWGMAXGROUP, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCSWGMAXGROUP, (caddr_t)&bp) == -1)
                err(1, "%s", name);

        printf(" maxgroup %d\n", bp.ifbrp_maxgroup);
@@ -1190,7 +1190,7 @@ switch_status(void)
                return;

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)&ifr) == -1)
                return;

        switch_cfg("\t");
@@ -1215,7 +1215,7 @@ switch_datapathid(const char *arg, int d

        strlcpy(bp.ifbrp_name, name, sizeof(bp.ifbrp_name));
        bp.ifbrp_datapath = newdpid;
-       if (ioctl(s, SIOCSWSDPID, (caddr_t)&bp) == -1)
+       if (ioctl(sock, SIOCSWSDPID, (caddr_t)&bp) == -1)
                err(1, "%s", name);
 }

@@ -1235,7 +1235,7 @@ switch_portno(const char *ifname, const
                errx(1, "invalid arg for portidx: %s", val);

        breq.ifbr_portno = newportidx;
-       if (ioctl(s, SIOCSWSPORTNO, (caddr_t)&breq) == -1) {
+       if (ioctl(sock, SIOCSWSPORTNO, (caddr_t)&breq) == -1) {
                if (errno == EEXIST)
                        return;
                else
Index: sbin/ifconfig/brconfig.h
===================================================================
RCS file: sbin/ifconfig/brconfig.h
diff -N sbin/ifconfig/brconfig.h
--- sbin/ifconfig/brconfig.h    25 Jul 2019 13:56:23 -0000      1.15
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-/*     $OpenBSD: brconfig.h,v 1.15 2019/07/25 13:56:23 krw Exp $       */
-
-/*
- * Copyright (c) 2009 Claudio Jeker <clau...@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-extern int aflag;
-extern int ifaliases;
-extern int s;
-extern char name[IFNAMSIZ];
-
-void setdiscover(const char *, int);
-void unsetdiscover(const char *, int);
-void setblocknonip(const char *, int);
-void unsetblocknonip(const char *, int);
-void setlearn(const char *, int);
-void unsetlearn(const char *, int);
-void setstp(const char *, int);
-void unsetstp(const char *, int);
-void setedge(const char *, int);
-void unsetedge(const char *, int);
-void setautoedge(const char *, int);
-void unsetautoedge(const char *, int);
-void setptp(const char *, int);
-void unsetptp(const char *, int);
-void setautoptp(const char *, int);
-void unsetautoptp(const char *, int);
-void addlocal(const char *, int);
-
-void bridge_add(const char *, int);
-void bridge_delete(const char *, int);
-void bridge_addspan(const char *, int);
-void bridge_delspan(const char *, int);
-void bridge_flush(const char *, int);
-void bridge_flushall(const char *, int);
-void bridge_addaddr(const char *, const char *);
-void bridge_deladdr(const char *, int);
-void bridge_maxaddr(const char *, int);
-void bridge_addrs(const char *, int);
-void bridge_hellotime(const char *, int);
-void bridge_fwddelay(const char *, int);
-void bridge_maxage(const char *, int);
-void bridge_protect(const char *, const char *);
-void bridge_unprotect(const char *, int);
-void bridge_proto(const char *, int);
-void bridge_ifprio(const char *, const char *);
-void bridge_ifcost(const char *, const char *);
-void bridge_noifcost(const char *, int);
-void bridge_timeout(const char *, int);
-void bridge_holdcnt(const char *, int);
-void bridge_priority(const char *, int);
-void bridge_rules(const char *, int);
-void bridge_rulefile(const char *, int);
-void bridge_flushrule(const char *, int);
-int is_bridge(char *);
-void bridge_status(void);
-int bridge_rule(int, char **, int);
-void switch_status(void);
-void switch_datapathid(const char *, int);
-void switch_portno(const char *, const char *);
-
-#define        IFFBITS                                                         
\
-       "\024\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6STATICARP" \
-       "\7RUNNING\10NOARP\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX"    \
-       "\15LINK0\16LINK1\17LINK2\20MULTICAST"  \
-       "\23INET6_NOPRIVACY\24MPLS\25WOL\26AUTOCONF6\27INET6_NOSOII" \
-       "\30AUTOCONF4"
-
-void printb(char *, unsigned int, unsigned char *);
-
Index: sbin/ifconfig/ifconfig.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/ifconfig.c,v
retrieving revision 1.412
diff -u -p -r1.412 ifconfig.c
--- sbin/ifconfig/ifconfig.c    2 Sep 2019 12:54:21 -0000       1.412
+++ sbin/ifconfig/ifconfig.c    17 Oct 2019 13:13:56 -0000
@@ -106,12 +106,13 @@
 #include <util.h>
 #include <ifaddrs.h>

-#include "brconfig.h"
 #ifndef SMALL
 #include <dev/usb/mbim.h>
 #include <dev/usb/if_umb.h>
 #endif /* SMALL */

+#include "ifconfig.h"
+
 #define MINIMUM(a, b)  (((a) < (b)) ? (a) : (b))
 #define MAXIMUM(a, b)  (((a) > (b)) ? (a) : (b))

@@ -161,7 +162,7 @@ int flags, xflags, setaddr, setipdst, do
 u_long metric, mtu;
 int    rdomainid;
 int    llprio;
-int    clearaddr, s;
+int    clearaddr, sock;
 int    newaddr = 0;
 int    af = AF_INET;
 int    explicit_prefix = 0;
@@ -343,7 +344,6 @@ void        utf16_to_char(uint16_t *, int, char
 int    char_to_utf16(const char *, uint16_t *, size_t);
 void   transceiver(const char *, int);
 void   transceiverdump(const char *, int);
-int    if_sff_info(int, const char *, int);
 #else
 void   setignore(const char *, int);
 #endif
@@ -637,6 +637,13 @@ const struct       cmd {
        { NULL, /*illegal*/0,           0,              NULL },
 };

+#define        IFFBITS                                                         
\
+       "\024\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6STATICARP"  \
+       "\7RUNNING\10NOARP\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX"    \
+       "\15LINK0\16LINK1\17LINK2\20MULTICAST"                          \
+       "\23INET6_NOPRIVACY\24MPLS\25WOL\26AUTOCONF6\27INET6_NOSOII"    \
+       "\30AUTOCONF4"
+
 int    getinfo(struct ifreq *, int);
 void   getsock(int);
 void   printgroupattribs(char *);
@@ -924,7 +931,7 @@ nextarg:

        if (clearaddr) {
                (void) strlcpy(rafp->af_ridreq, name, sizeof(ifr.ifr_name));
-               if (ioctl(s, rafp->af_difaddr, rafp->af_ridreq) == -1) {
+               if (ioctl(sock, rafp->af_difaddr, rafp->af_ridreq) == -1) {
                        if (errno == EADDRNOTAVAIL && (doalias >= 0)) {
                                /* means no previous address for interface */
                        } else
@@ -933,7 +940,7 @@ nextarg:
        }
        if (newaddr) {
                (void) strlcpy(rafp->af_addreq, name, sizeof(ifr.ifr_name));
-               if (ioctl(s, rafp->af_aifaddr, rafp->af_addreq) == -1)
+               if (ioctl(sock, rafp->af_aifaddr, rafp->af_addreq) == -1)
                        err(1, "SIOCAIFADDR");
        }
        return (0);
@@ -947,9 +954,9 @@ getsock(int naf)
        if (oaf == naf)
                return;
        if (oaf != -1)
-               close(s);
-       s = socket(naf, SOCK_DGRAM, 0);
-       if (s == -1)
+               close(sock);
+       sock = socket(naf, SOCK_DGRAM, 0);
+       if (sock == -1)
                oaf = -1;
        else
                oaf = naf;
@@ -960,45 +967,45 @@ getinfo(struct ifreq *ifr, int create)
 {

        getsock(af);
-       if (s == -1)
+       if (sock == -1)
                err(1, "socket");
        if (!isdigit((unsigned char)name[strlen(name) - 1]))
                return (-1);    /* ignore groups here */
-       if (ioctl(s, SIOCGIFFLAGS, (caddr_t)ifr) == -1) {
+       if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)ifr) == -1) {
                int oerrno = errno;

                if (!create)
                        return (-1);
-               if (ioctl(s, SIOCIFCREATE, (caddr_t)ifr) == -1) {
+               if (ioctl(sock, SIOCIFCREATE, (caddr_t)ifr) == -1) {
                        errno = oerrno;
                        return (-1);
                }
-               if (ioctl(s, SIOCGIFFLAGS, (caddr_t)ifr) == -1)
+               if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)ifr) == -1)
                        return (-1);
        }
        flags = ifr->ifr_flags & 0xffff;
-       if (ioctl(s, SIOCGIFXFLAGS, (caddr_t)ifr) == -1)
+       if (ioctl(sock, SIOCGIFXFLAGS, (caddr_t)ifr) == -1)
                ifr->ifr_flags = 0;
        xflags = ifr->ifr_flags;
-       if (ioctl(s, SIOCGIFMETRIC, (caddr_t)ifr) == -1)
+       if (ioctl(sock, SIOCGIFMETRIC, (caddr_t)ifr) == -1)
                metric = 0;
        else
                metric = ifr->ifr_metric;
 #ifdef SMALL
-       if (ioctl(s, SIOCGIFMTU, (caddr_t)ifr) == -1)
+       if (ioctl(sock, SIOCGIFMTU, (caddr_t)ifr) == -1)
 #else
-       if (is_bridge(name) || ioctl(s, SIOCGIFMTU, (caddr_t)ifr) == -1)
+       if (is_bridge(name) || ioctl(sock, SIOCGIFMTU, (caddr_t)ifr) == -1)
 #endif
                mtu = 0;
        else
                mtu = ifr->ifr_mtu;
 #ifndef SMALL
-       if (ioctl(s, SIOCGIFRDOMAIN, (caddr_t)ifr) == -1)
+       if (ioctl(sock, SIOCGIFRDOMAIN, (caddr_t)ifr) == -1)
                rdomainid = 0;
        else
                rdomainid = ifr->ifr_rdomainid;
 #endif
-       if (ioctl(s, SIOCGIFLLPRIO, (caddr_t)ifr) == -1)
+       if (ioctl(sock, SIOCGIFLLPRIO, (caddr_t)ifr) == -1)
                llprio = 0;
        else
                llprio = ifr->ifr_llprio;
@@ -1016,7 +1023,7 @@ printgroup(char *groupname, int ifaliase
        getsock(AF_INET);
        bzero(&ifgr, sizeof(ifgr));
        strlcpy(ifgr.ifgr_name, groupname, sizeof(ifgr.ifgr_name));
-       if (ioctl(s, SIOCGIFGMEMB, (caddr_t)&ifgr) == -1) {
+       if (ioctl(sock, SIOCGIFGMEMB, (caddr_t)&ifgr) == -1) {
                if (errno == EINVAL || errno == ENOTTY ||
                    errno == ENOENT)
                        return (-1);
@@ -1027,7 +1034,7 @@ printgroup(char *groupname, int ifaliase
        len = ifgr.ifgr_len;
        if ((ifgr.ifgr_groups = calloc(1, len)) == NULL)
                err(1, "printgroup");
-       if (ioctl(s, SIOCGIFGMEMB, (caddr_t)&ifgr) == -1)
+       if (ioctl(sock, SIOCGIFGMEMB, (caddr_t)&ifgr) == -1)
                err(1, "SIOCGIFGMEMB");

        for (ifg = ifgr.ifgr_groups; ifg && len >= sizeof(struct ifg_req);
@@ -1049,7 +1056,7 @@ printgroupattribs(char *groupname)
        getsock(AF_INET);
        bzero(&ifgr, sizeof(ifgr));
        strlcpy(ifgr.ifgr_name, groupname, sizeof(ifgr.ifgr_name));
-       if (ioctl(s, SIOCGIFGATTR, (caddr_t)&ifgr) == -1)
+       if (ioctl(sock, SIOCGIFGATTR, (caddr_t)&ifgr) == -1)
                err(1, "SIOCGIFGATTR");

        printf("%s:", groupname);
@@ -1085,7 +1092,7 @@ setgroupattribs(char *groupname, int arg
        else
                usage();

-       if (ioctl(s, SIOCSIFGATTR, (caddr_t)&ifgr) == -1)
+       if (ioctl(sock, SIOCSIFGATTR, (caddr_t)&ifgr) == -1)
                err(1, "SIOCSIFGATTR");
 }

@@ -1197,7 +1204,7 @@ clone_create(const char *addr, int param
        getsock(AF_INET);

        (void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCIFCREATE, &ifr) == -1)
+       if (ioctl(sock, SIOCIFCREATE, &ifr) == -1)
                err(1, "SIOCIFCREATE");
 }

@@ -1207,7 +1214,7 @@ clone_destroy(const char *addr, int para
 {

        (void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCIFDESTROY, &ifr) == -1)
+       if (ioctl(sock, SIOCIFDESTROY, &ifr) == -1)
                err(1, "SIOCIFDESTROY");
 }

@@ -1222,7 +1229,7 @@ list_cloners(void)

        getsock(AF_INET);

-       if (ioctl(s, SIOCIFGCLONERS, &ifcr) == -1)
+       if (ioctl(sock, SIOCIFGCLONERS, &ifcr) == -1)
                err(1, "SIOCIFGCLONERS for count");

        buf = calloc(ifcr.ifcr_total, IFNAMSIZ);
@@ -1232,7 +1239,7 @@ list_cloners(void)
        ifcr.ifcr_count = ifcr.ifcr_total;
        ifcr.ifcr_buffer = buf;

-       if (ioctl(s, SIOCIFGCLONERS, &ifcr) == -1)
+       if (ioctl(sock, SIOCIFGCLONERS, &ifcr) == -1)
                err(1, "SIOCIFGCLONERS for names");

        /*
@@ -1284,7 +1291,7 @@ setifrtlabel(const char *label, int d)
                ifr.ifr_data = (caddr_t)(const char *)"";
        else
                ifr.ifr_data = (caddr_t)label;
-       if (ioctl(s, SIOCSIFRTLABEL, &ifr) == -1)
+       if (ioctl(sock, SIOCSIFRTLABEL, &ifr) == -1)
                warn("SIOCSIFRTLABEL");
 }
 #endif
@@ -1309,7 +1316,7 @@ void
 setifdesc(const char *val, int ignored)
 {
        ifr.ifr_data = (caddr_t)val;
-       if (ioctl(s, SIOCSIFDESCR, &ifr) == -1)
+       if (ioctl(sock, SIOCSIFDESCR, &ifr) == -1)
                warn("SIOCSIFDESCR");
 }

@@ -1318,7 +1325,7 @@ void
 unsetifdesc(const char *noval, int ignored)
 {
        ifr.ifr_data = (caddr_t)(const char *)"";
-       if (ioctl(s, SIOCSIFDESCR, &ifr) == -1)
+       if (ioctl(sock, SIOCSIFDESCR, &ifr) == -1)
                warn("SIOCSIFDESCR");
 }

@@ -1371,7 +1378,7 @@ setifflags(const char *vname, int value)

        bcopy((char *)&ifr, (char *)&my_ifr, sizeof(struct ifreq));

-       if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&my_ifr) == -1)
+       if (ioctl(sock, SIOCGIFFLAGS, (caddr_t)&my_ifr) == -1)
                err(1, "SIOCGIFFLAGS");
        (void) strlcpy(my_ifr.ifr_name, name, sizeof(my_ifr.ifr_name));
        flags = my_ifr.ifr_flags;
@@ -1382,7 +1389,7 @@ setifflags(const char *vname, int value)
        } else
                flags |= value;
        my_ifr.ifr_flags = flags;
-       if (ioctl(s, SIOCSIFFLAGS, (caddr_t)&my_ifr) == -1)
+       if (ioctl(sock, SIOCSIFFLAGS, (caddr_t)&my_ifr) == -1)
                err(1, "SIOCSIFFLAGS");
 }

@@ -1394,7 +1401,7 @@ setifxflags(const char *vname, int value

        bcopy((char *)&ifr, (char *)&my_ifr, sizeof(struct ifreq));

-       if (ioctl(s, SIOCGIFXFLAGS, (caddr_t)&my_ifr) == -1)
+       if (ioctl(sock, SIOCGIFXFLAGS, (caddr_t)&my_ifr) == -1)
                warn("SIOCGIFXFLAGS");
        (void) strlcpy(my_ifr.ifr_name, name, sizeof(my_ifr.ifr_name));
        xflags = my_ifr.ifr_flags;
@@ -1405,7 +1412,7 @@ setifxflags(const char *vname, int value
        } else
                xflags |= value;
        my_ifr.ifr_flags = xflags;
-       if (ioctl(s, SIOCSIFXFLAGS, (caddr_t)&my_ifr) == -1)
+       if (ioctl(sock, SIOCSIFXFLAGS, (caddr_t)&my_ifr) == -1)
                warn("SIOCSIFXFLAGS");
 }

@@ -1416,7 +1423,7 @@ addaf(const char *vname, int value)

        strlcpy(ifar.ifar_name, name, sizeof(ifar.ifar_name));
        ifar.ifar_af = value;
-       if (ioctl(s, SIOCIFAFATTACH, (caddr_t)&ifar) == -1)
+       if (ioctl(sock, SIOCIFAFATTACH, (caddr_t)&ifar) == -1)
                warn("SIOCIFAFATTACH");
 }

@@ -1427,7 +1434,7 @@ removeaf(const char *vname, int value)

        strlcpy(ifar.ifar_name, name, sizeof(ifar.ifar_name));
        ifar.ifar_af = value;
-       if (ioctl(s, SIOCIFAFDETACH, (caddr_t)&ifar) == -1)
+       if (ioctl(sock, SIOCIFAFDETACH, (caddr_t)&ifar) == -1)
                warn("SIOCIFAFDETACH");
 }

@@ -1542,7 +1549,7 @@ setifmetric(const char *val, int ignored
        ifr.ifr_metric = strtonum(val, 0, INT_MAX, &errmsg);
        if (errmsg)
                errx(1, "metric %s: %s", val, errmsg);
-       if (ioctl(s, SIOCSIFMETRIC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFMETRIC, (caddr_t)&ifr) == -1)
                warn("SIOCSIFMETRIC");
 }
 #endif
@@ -1558,7 +1565,7 @@ setifmtu(const char *val, int d)
        ifr.ifr_mtu = strtonum(val, 0, INT_MAX, &errmsg);
        if (errmsg)
                errx(1, "mtu %s: %s", val, errmsg);
-       if (ioctl(s, SIOCSIFMTU, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFMTU, (caddr_t)&ifr) == -1)
                warn("SIOCSIFMTU");
 }

@@ -1573,7 +1580,7 @@ setifllprio(const char *val, int d)
        ifr.ifr_llprio = strtonum(val, 0, UCHAR_MAX, &errmsg);
        if (errmsg)
                errx(1, "llprio %s: %s", val, errmsg);
-       if (ioctl(s, SIOCSIFLLPRIO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFLLPRIO, (caddr_t)&ifr) == -1)
                warn("SIOCSIFLLPRIO");
 }

@@ -1592,7 +1599,7 @@ setifgroup(const char *group_name, int d

        if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
                errx(1, "setifgroup: group name too long");
-       if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1) {
+       if (ioctl(sock, SIOCAIFGROUP, (caddr_t)&ifgr) == -1) {
                if (errno != EEXIST)
                        err(1," SIOCAIFGROUP");
        }
@@ -1613,7 +1620,7 @@ unsetifgroup(const char *group_name, int

        if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
                errx(1, "unsetifgroup: group name too long");
-       if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1)
+       if (ioctl(sock, SIOCDIFGROUP, (caddr_t)&ifgr) == -1)
                err(1, "SIOCDIFGROUP");
 }

@@ -1747,7 +1754,7 @@ setifnwid(const char *val, int d)
        (void)strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        (void)strlcpy(nwidname, nwid.i_nwid, sizeof(nwidname));
        ifr.ifr_data = (caddr_t)&nwid;
-       if (ioctl(s, SIOCS80211NWID, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCS80211NWID, (caddr_t)&ifr) == -1)
                warn("SIOCS80211NWID");
 }

@@ -1759,7 +1766,7 @@ process_join_commands(void)
                return;

        ifr.ifr_data = (caddr_t)&join;
-       if (ioctl(s, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
                err(1, "SIOCS80211JOIN");
 }

@@ -1806,7 +1813,7 @@ delifjoin(const char *val, int d)

        if (d == -1) {
                ifr.ifr_data = (caddr_t)&join;
-               if (ioctl(s, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
+               if (ioctl(sock, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
                        err(1, "SIOCS80211JOIN");
        }

@@ -1818,7 +1825,7 @@ delifjoin(const char *val, int d)
                join.i_flags |= IEEE80211_JOIN_ANY;
        (void)strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_data = (caddr_t)&join;
-       if (ioctl(s, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
                err(1, "SIOCS80211JOIN");
 }

@@ -1834,13 +1841,13 @@ delifjoinlist(const char *val, int d)

        if (d == -1) {
                ifr.ifr_data = (caddr_t)&join;
-               if (ioctl(s, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
+               if (ioctl(sock, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
                        err(1, "SIOCS80211JOIN");
                return;
        }

        ifr.ifr_data = (caddr_t)&join;
-       if (ioctl(s, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCS80211JOIN, (caddr_t)&ifr) == -1)
                err(1, "SIOCS80211JOIN");
 }

@@ -1864,7 +1871,7 @@ setifbssid(const char *val, int d)
                    sizeof(bssid.i_bssid));
        }
        strlcpy(bssid.i_name, name, sizeof(bssid.i_name));
-       if (ioctl(s, SIOCS80211BSSID, &bssid) == -1)
+       if (ioctl(sock, SIOCS80211BSSID, &bssid) == -1)
                warn("SIOCS80211BSSID");
 }

@@ -1963,7 +1970,7 @@ setifnwkey(const char *val, int d)
                return;
        }

-       if (ioctl(s, SIOCS80211NWKEY, (caddr_t)&nwkey) == -1)
+       if (ioctl(sock, SIOCS80211NWKEY, (caddr_t)&nwkey) == -1)
                warn("SIOCS80211NWKEY");
 }

@@ -1984,7 +1991,7 @@ setifwpa(const char *val, int d)
                return;
        }

-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2018,14 +2025,14 @@ setifwpaprotos(const char *val, int d)

        memset(&wpa, 0, sizeof(wpa));
        (void)strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_protos = rval;
        /* Let the kernel set up the appropriate default ciphers. */
        wpa.i_ciphers = 0;
        wpa.i_groupcipher = 0;

-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2061,13 +2068,13 @@ setifwpaakms(const char *val, int d)

        memset(&wpa, 0, sizeof(wpa));
        (void)strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_akms = rval;
        /* Enable WPA for 802.1x here. PSK case is handled in setifwpakey(). */
        wpa.i_enabled = ((rval & IEEE80211_WPA_AKM_8021X) != 0);

-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2122,11 +2129,11 @@ setifwpaciphers(const char *val, int d)

        memset(&wpa, 0, sizeof(wpa));
        (void)strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_ciphers = rval;

-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2143,7 +2150,7 @@ setifwpagroupcipher(const char *val, int

        memset(&wpa, 0, sizeof(wpa));
        (void)strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_groupcipher = cipher;

@@ -2153,7 +2160,7 @@ setifwpagroupcipher(const char *val, int
                return;
        }

-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2181,7 +2188,7 @@ setifwpakey(const char *val, int d)
                } else {
                        warnx("no nwid or join command, guessing nwid to use");

-                       if (ioctl(s, SIOCG80211NWID, (caddr_t)&ifr) == -1)
+                       if (ioctl(sock, SIOCG80211NWID, (caddr_t)&ifr) == -1)
                                err(1, "SIOCG80211NWID");
                }

@@ -2218,16 +2225,16 @@ setifwpakey(const char *val, int d)
                return;
        }

-       if (ioctl(s, SIOCS80211WPAPSK, (caddr_t)&psk) == -1)
+       if (ioctl(sock, SIOCS80211WPAPSK, (caddr_t)&psk) == -1)
                err(1, "SIOCS80211WPAPSK");

        /* And ... automatically enable or disable WPA */
        memset(&wpa, 0, sizeof(wpa));
        (void)strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCG80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_enabled = psk.i_enabled;
-       if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
+       if (ioctl(sock, SIOCS80211WPAPARMS, (caddr_t)&wpa) == -1)
                err(1, "SIOCS80211WPAPARMS");
 }

@@ -2256,7 +2263,7 @@ setifchan(const char *val, int d)

        strlcpy(channel.i_name, name, sizeof(channel.i_name));
        channel.i_channel = (u_int16_t)chan;
-       if (ioctl(s, SIOCS80211CHANNEL, (caddr_t)&channel) == -1)
+       if (ioctl(sock, SIOCS80211CHANNEL, (caddr_t)&channel) == -1)
                warn("SIOCS80211CHANNEL");
 }

@@ -2286,7 +2293,7 @@ setifnwflag(const char *val, int d)
        if (flag == 0)
                errx(1, "Invalid nwflag: %s", val);

-       if (ioctl(s, SIOCG80211FLAGS, (caddr_t)&ifr) != 0)
+       if (ioctl(sock, SIOCG80211FLAGS, (caddr_t)&ifr) != 0)
                err(1, "SIOCG80211FLAGS");

        if (d)
@@ -2294,7 +2301,7 @@ setifnwflag(const char *val, int d)
        else
                ifr.ifr_flags |= flag;

-       if (ioctl(s, SIOCS80211FLAGS, (caddr_t)&ifr) != 0)
+       if (ioctl(sock, SIOCS80211FLAGS, (caddr_t)&ifr) != 0)
                err(1, "SIOCS80211FLAGS");
 }

@@ -2312,7 +2319,7 @@ setifpowersave(const char *val, int d)
        const char *errmsg = NULL;

        (void)strlcpy(power.i_name, name, sizeof(power.i_name));
-       if (ioctl(s, SIOCG80211POWER, (caddr_t)&power) == -1) {
+       if (ioctl(sock, SIOCG80211POWER, (caddr_t)&power) == -1) {
                warn("SIOCG80211POWER");
                return;
        }
@@ -2324,7 +2331,7 @@ setifpowersave(const char *val, int d)
        }

        power.i_enabled = d == -1 ? 0 : 1;
-       if (ioctl(s, SIOCS80211POWER, (caddr_t)&power) == -1)
+       if (ioctl(sock, SIOCS80211POWER, (caddr_t)&power) == -1)
                warn("SIOCS80211POWER");
 }
 #endif
@@ -2347,7 +2354,7 @@ print_cipherset(u_int32_t cipherset)
        }
 }

-void
+static void
 print_assoc_failures(uint32_t assoc_fail)
 {
        /* Filter out the most obvious failure cases. */
@@ -2383,35 +2390,35 @@ ieee80211_status(void)
        memset(&ifr, 0, sizeof(ifr));
        ifr.ifr_data = (caddr_t)&nwid;
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       inwid = ioctl(s, SIOCG80211NWID, (caddr_t)&ifr);
+       inwid = ioctl(sock, SIOCG80211NWID, (caddr_t)&ifr);

        ifr.ifr_data = (caddr_t)&join;
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       ijoin = ioctl(s, SIOCG80211JOIN, (caddr_t)&ifr);
+       ijoin = ioctl(sock, SIOCG80211JOIN, (caddr_t)&ifr);

        memset(&nwkey, 0, sizeof(nwkey));
        strlcpy(nwkey.i_name, name, sizeof(nwkey.i_name));
-       inwkey = ioctl(s, SIOCG80211NWKEY, (caddr_t)&nwkey);
+       inwkey = ioctl(sock, SIOCG80211NWKEY, (caddr_t)&nwkey);

        memset(&psk, 0, sizeof(psk));
        strlcpy(psk.i_name, name, sizeof(psk.i_name));
-       ipsk = ioctl(s, SIOCG80211WPAPSK, (caddr_t)&psk);
+       ipsk = ioctl(sock, SIOCG80211WPAPSK, (caddr_t)&psk);

        memset(&power, 0, sizeof(power));
        strlcpy(power.i_name, name, sizeof(power.i_name));
-       ipwr = ioctl(s, SIOCG80211POWER, &power);
+       ipwr = ioctl(sock, SIOCG80211POWER, &power);

        memset(&channel, 0, sizeof(channel));
        strlcpy(channel.i_name, name, sizeof(channel.i_name));
-       ichan = ioctl(s, SIOCG80211CHANNEL, (caddr_t)&channel);
+       ichan = ioctl(sock, SIOCG80211CHANNEL, (caddr_t)&channel);

        memset(&bssid, 0, sizeof(bssid));
        strlcpy(bssid.i_name, name, sizeof(bssid.i_name));
-       ibssid = ioctl(s, SIOCG80211BSSID, &bssid);
+       ibssid = ioctl(sock, SIOCG80211BSSID, &bssid);

        memset(&wpa, 0, sizeof(wpa));
        strlcpy(wpa.i_name, name, sizeof(wpa.i_name));
-       iwpa = ioctl(s, SIOCG80211WPAPARMS, &wpa);
+       iwpa = ioctl(sock, SIOCG80211WPAPARMS, &wpa);

        /* check if any ieee80211 option is active */
        if (inwid == 0 || ijoin == 0 || inwkey == 0 || ipsk == 0 ||
@@ -2446,7 +2453,7 @@ ieee80211_status(void)
                bzero(&nr, sizeof(nr));
                bcopy(bssid.i_bssid, &nr.nr_macaddr, sizeof(nr.nr_macaddr));
                strlcpy(nr.nr_ifname, name, sizeof(nr.nr_ifname));
-               if (ioctl(s, SIOCG80211NODE, &nr) == 0) {
+               if (ioctl(sock, SIOCG80211NODE, &nr) == 0) {
                        if (nr.nr_rssi) {
                                if (nr.nr_max_rssi)
                                        printf(" %u%%",
@@ -2492,7 +2499,7 @@ ieee80211_status(void)
        if (ipwr == 0 && power.i_enabled)
                printf(" powersave on (%dms sleep)", power.i_maxsleep);

-       if (ioctl(s, SIOCG80211FLAGS, (caddr_t)&ifr) == 0 &&
+       if (ioctl(sock, SIOCG80211FLAGS, (caddr_t)&ifr) == 0 &&
            ifr.ifr_flags) {
                putchar(' ');
                printb_status(ifr.ifr_flags, IEEE80211_F_USERBITS);
@@ -2540,7 +2547,7 @@ join_status(void)
                ja.ja_size = jsz * sizeof(*jn);
                strlcpy(ja.ja_ifname, name, sizeof(ja.ja_ifname));

-               if ((r = ioctl(s, SIOCG80211JOINALL, &ja)) != 0) {
+               if ((r = ioctl(sock, SIOCG80211JOINALL, &ja)) != 0) {
                        if (errno == E2BIG) {
                                jsz += 100;
                                jn = recallocarray(jn, ojsz, jsz, sizeof(*jn));
@@ -2622,7 +2629,7 @@ ieee80211_listchans(void)
        ca.i_chans = chans;
        strlcpy(ca.i_name, name, sizeof(ca.i_name));

-       if (ioctl(s, SIOCG80211ALLCHANS, &ca) != 0) {
+       if (ioctl(sock, SIOCG80211ALLCHANS, &ca) != 0) {
                warn("SIOCG80211ALLCHANS");
                return;
        }
@@ -2666,7 +2673,7 @@ ieee80211_listnodes(void)
        bzero(&ifr, sizeof(ifr));
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));

-       if (ioctl(s, SIOCS80211SCAN, (caddr_t)&ifr) != 0) {
+       if (ioctl(sock, SIOCS80211SCAN, (caddr_t)&ifr) != 0) {
                if (errno == EPERM)
                        printf("\t\tno permission to scan\n");
                return;
@@ -2678,7 +2685,7 @@ ieee80211_listnodes(void)
        na.na_size = sizeof(nr);
        strlcpy(na.na_ifname, name, sizeof(na.na_ifname));

-       if (ioctl(s, SIOCG80211ALLNODES, &na) != 0) {
+       if (ioctl(sock, SIOCG80211ALLNODES, &na) != 0) {
                warn("SIOCG80211ALLNODES");
                return;
        }
@@ -2726,7 +2733,7 @@ ieee80211_printnode(struct ieee80211_nod

        if (nr->nr_pwrsave)
                printf("powersave ");
-       /*
+       /*
         * Print our current Tx rate for associated nodes.
         * Print the fastest supported rate for APs.
         */
@@ -2792,7 +2799,7 @@ init_current_media(void)
                (void) memset(&ifmr, 0, sizeof(ifmr));
                (void) strlcpy(ifmr.ifm_name, name, sizeof(ifmr.ifm_name));

-               if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1) {
+               if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1) {
                        /*
                         * If we get E2BIG, the kernel is telling us
                         * that there are more, so we can ignore it.
@@ -2828,7 +2835,7 @@ process_media_commands(void)
        (void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_media = media_current;

-       if (ioctl(s, SIOCSIFMEDIA, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFMEDIA, (caddr_t)&ifr) == -1)
                err(1, "SIOCSIFMEDIA");
 }

@@ -3199,7 +3206,7 @@ phys_status(int force)

        memset(&req, 0, sizeof(req));
        (void) strlcpy(req.iflr_name, name, sizeof(req.iflr_name));
-       if (ioctl(s, SIOCGLIFPHYADDR, (caddr_t)&req) == -1) {
+       if (ioctl(sock, SIOCGLIFPHYADDR, (caddr_t)&req) == -1) {
                if (errno != EADDRNOTAVAIL)
                        return;

@@ -3209,21 +3216,21 @@ phys_status(int force)
        printf("\ttunnel: ");
        print_tunnel(r);

-       if (ioctl(s, SIOCGLIFPHYTTL, (caddr_t)&ifr) == 0) {
+       if (ioctl(sock, SIOCGLIFPHYTTL, (caddr_t)&ifr) == 0) {
                if (ifr.ifr_ttl == -1)
                        printf(" ttl copy");
                else if (ifr.ifr_ttl > 0)
                        printf(" ttl %d", ifr.ifr_ttl);
        }

-       if (ioctl(s, SIOCGLIFPHYDF, (caddr_t)&ifr) == 0)
+       if (ioctl(sock, SIOCGLIFPHYDF, (caddr_t)&ifr) == 0)
                printf(" %s", ifr.ifr_df ? "df" : "nodf");

 #ifndef SMALL
-       if (ioctl(s, SIOCGLIFPHYECN, (caddr_t)&ifr) == 0)
+       if (ioctl(sock, SIOCGLIFPHYECN, (caddr_t)&ifr) == 0)
                printf(" %s", ifr.ifr_metric ? "ecn" : "noecn");

-       if (ioctl(s, SIOCGLIFPHYRTABLE, (caddr_t)&ifr) == 0 &&
+       if (ioctl(sock, SIOCGLIFPHYRTABLE, (caddr_t)&ifr) == 0 &&
            (rdomainid != 0 || ifr.ifr_rdomainid != 0))
                printf(" rdomain %d", ifr.ifr_rdomainid);
 #endif
@@ -3297,7 +3304,7 @@ status(int link, struct sockaddr_dl *sdl
        (void) memset(&ifrdesc, 0, sizeof(ifrdesc));
        (void) strlcpy(ifrdesc.ifr_name, name, sizeof(ifrdesc.ifr_name));
        ifrdesc.ifr_data = (caddr_t)&ifdescr;
-       if (ioctl(s, SIOCGIFDESCR, &ifrdesc) == 0 &&
+       if (ioctl(sock, SIOCGIFDESCR, &ifrdesc) == 0 &&
            strlen(ifrdesc.ifr_data))
                printf("\tdescription: %s\n", ifrdesc.ifr_data);

@@ -3305,7 +3312,7 @@ status(int link, struct sockaddr_dl *sdl
                printf("%cindex %u", sep, sdl->sdl_index);
                sep = ' ';
        }
-       if (!is_bridge(name) && ioctl(s, SIOCGIFPRIORITY, &ifrdesc) == 0) {
+       if (!is_bridge(name) && ioctl(sock, SIOCGIFPRIORITY, &ifrdesc) == 0) {
                printf("%cpriority %d", sep, ifrdesc.ifr_metric);
                sep = ' ';
        }
@@ -3315,11 +3322,11 @@ status(int link, struct sockaddr_dl *sdl
 #ifndef SMALL
        (void) memset(&ikardesc, 0, sizeof(ikardesc));
        (void) strlcpy(ikardesc.ikar_name, name, sizeof(ikardesc.ikar_name));
-       if (ioctl(s, SIOCGETKALIVE, &ikardesc) == 0 &&
+       if (ioctl(sock, SIOCGETKALIVE, &ikardesc) == 0 &&
            (ikardesc.ikar_timeo != 0 || ikardesc.ikar_cnt != 0))
                printf("\tkeepalive: timeout %d count %d\n",
                    ikardesc.ikar_timeo, ikardesc.ikar_cnt);
-       if (ioctl(s, SIOCGIFPAIR, &ifrdesc) == 0 && ifrdesc.ifr_index != 0 &&
+       if (ioctl(sock, SIOCGIFPAIR, &ifrdesc) == 0 && ifrdesc.ifr_index != 0 &&
            if_indextoname(ifrdesc.ifr_index, ifname) != NULL)
                printf("\tpatch: %s\n", ifname);
 #endif
@@ -3339,7 +3346,7 @@ status(int link, struct sockaddr_dl *sdl
        (void) memset(&ifmr, 0, sizeof(ifmr));
        (void) strlcpy(ifmr.ifm_name, name, sizeof(ifmr.ifm_name));

-       if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1) {
+       if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1) {
                /*
                 * Interface doesn't support SIOC{G,S}IFMEDIA.
                 */
@@ -3359,7 +3366,7 @@ status(int link, struct sockaddr_dl *sdl
                err(1, "calloc");
        ifmr.ifm_ulist = media_list;

-       if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1)
+       if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) == -1)
                err(1, "SIOCGIFMEDIA");

        printf("\tmedia: ");
@@ -3407,7 +3414,7 @@ status(int link, struct sockaddr_dl *sdl
        }

        if (showtransceiver) {
-               if (if_sff_info(s, name, 0) == -1)
+               if (if_sff_info(name, 0) == -1)
                        if (!aflag && errno != EPERM && errno != ENOTTY)
                                warn("%s transceiver", name);
        }
@@ -3470,7 +3477,7 @@ in_status(int force)
        struct sockaddr_in *sin, sin2;

        getsock(AF_INET);
-       if (s == -1) {
+       if (sock == -1) {
                if (errno == EPROTONOSUPPORT)
                        return;
                err(1, "socket");
@@ -3488,7 +3495,7 @@ in_status(int force)

        printf("\tinet %s", inet_ntoa(sin->sin_addr));
        (void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCGIFNETMASK, (caddr_t)&ifr) == -1) {
+       if (ioctl(sock, SIOCGIFNETMASK, (caddr_t)&ifr) == -1) {
                if (errno != EADDRNOTAVAIL)
                        warn("SIOCGIFNETMASK");
                memset(&ifr.ifr_addr, 0, sizeof(ifr.ifr_addr));
@@ -3497,7 +3504,7 @@ in_status(int force)
                    ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr;
        if (flags & IFF_POINTOPOINT) {
                memcpy(&ifr.ifr_addr, &sin2, sizeof(sin2));
-               if (ioctl(s, SIOCGIFDSTADDR, (caddr_t)&ifr) == -1) {
+               if (ioctl(sock, SIOCGIFDSTADDR, (caddr_t)&ifr) == -1) {
                        if (errno == EADDRNOTAVAIL)
                            memset(&ifr.ifr_addr, 0, sizeof(ifr.ifr_addr));
                        else
@@ -3510,7 +3517,7 @@ in_status(int force)
        printf(" netmask 0x%x", ntohl(netmask.sin_addr.s_addr));
        if (flags & IFF_BROADCAST) {
                memcpy(&ifr.ifr_addr, &sin2, sizeof(sin2));
-               if (ioctl(s, SIOCGIFBRDADDR, (caddr_t)&ifr) == -1) {
+               if (ioctl(sock, SIOCGIFBRDADDR, (caddr_t)&ifr) == -1) {
                        if (errno == EADDRNOTAVAIL)
                            memset(&ifr.ifr_addr, 0, sizeof(ifr.ifr_addr));
                        else
@@ -3557,7 +3564,7 @@ in6_alias(struct in6_ifreq *creq)

        /* Get the non-alias address for this interface. */
        getsock(AF_INET6);
-       if (s == -1) {
+       if (sock == -1) {
                if (errno == EPROTONOSUPPORT)
                        return;
                err(1, "socket");
@@ -3576,7 +3583,7 @@ in6_alias(struct in6_ifreq *creq)
                (void) memset(&ifr6, 0, sizeof(ifr6));
                (void) strlcpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name));
                ifr6.ifr_addr = creq->ifr_addr;
-               if (ioctl(s, SIOCGIFDSTADDR_IN6, (caddr_t)&ifr6) == -1) {
+               if (ioctl(sock, SIOCGIFDSTADDR_IN6, (caddr_t)&ifr6) == -1) {
                        if (errno != EADDRNOTAVAIL)
                                warn("SIOCGIFDSTADDR_IN6");
                        (void) memset(&ifr6.ifr_addr, 0, sizeof(ifr6.ifr_addr));
@@ -3594,7 +3601,7 @@ in6_alias(struct in6_ifreq *creq)
        (void) memset(&ifr6, 0, sizeof(ifr6));
        (void) strlcpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name));
        ifr6.ifr_addr = creq->ifr_addr;
-       if (ioctl(s, SIOCGIFNETMASK_IN6, (caddr_t)&ifr6) == -1) {
+       if (ioctl(sock, SIOCGIFNETMASK_IN6, (caddr_t)&ifr6) == -1) {
                if (errno != EADDRNOTAVAIL)
                        warn("SIOCGIFNETMASK_IN6");
        } else {
@@ -3606,7 +3613,7 @@ in6_alias(struct in6_ifreq *creq)
        (void) memset(&ifr6, 0, sizeof(ifr6));
        (void) strlcpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name));
        ifr6.ifr_addr = creq->ifr_addr;
-       if (ioctl(s, SIOCGIFAFLAG_IN6, (caddr_t)&ifr6) == -1) {
+       if (ioctl(sock, SIOCGIFAFLAG_IN6, (caddr_t)&ifr6) == -1) {
                if (errno != EADDRNOTAVAIL)
                        warn("SIOCGIFAFLAG_IN6");
        } else {
@@ -3636,7 +3643,7 @@ in6_alias(struct in6_ifreq *creq)
                (void) strlcpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name));
                ifr6.ifr_addr = creq->ifr_addr;
                lifetime = &ifr6.ifr_ifru.ifru_lifetime;
-               if (ioctl(s, SIOCGIFALIFETIME_IN6, (caddr_t)&ifr6) == -1) {
+               if (ioctl(sock, SIOCGIFALIFETIME_IN6, (caddr_t)&ifr6) == -1) {
                        if (errno != EADDRNOTAVAIL)
                                warn("SIOCGIFALIFETIME_IN6");
                } else if (lifetime->ia6t_preferred || lifetime->ia6t_expire) {
@@ -3707,7 +3714,7 @@ settunnel(const char *src, const char *d
        (void) strlcpy(req.iflr_name, name, sizeof(req.iflr_name));
        memcpy(&req.addr, srcres->ai_addr, srcres->ai_addrlen);
        memcpy(&req.dstaddr, dstres->ai_addr, dstres->ai_addrlen);
-       if (ioctl(s, SIOCSLIFPHYADDR, &req) == -1)
+       if (ioctl(sock, SIOCSLIFPHYADDR, &req) == -1)
                warn("SIOCSLIFPHYADDR");

        freeaddrinfo(srcres);
@@ -3742,7 +3749,7 @@ settunneladdr(const char *addr, int igno
        req.dstaddr.ss_len = 2;
        req.dstaddr.ss_family = AF_UNSPEC;

-       if (ioctl(s, SIOCSLIFPHYADDR, &req) == -1)
+       if (ioctl(sock, SIOCSLIFPHYADDR, &req) == -1)
                warn("tunneladdr %s", addr);

        freeaddrinfo(res);
@@ -3752,7 +3759,7 @@ settunneladdr(const char *addr, int igno
 void
 deletetunnel(const char *ignored, int alsoignored)
 {
-       if (ioctl(s, SIOCDIFPHYADDR, &ifr) == -1)
+       if (ioctl(sock, SIOCDIFPHYADDR, &ifr) == -1)
                warn("SIOCDIFPHYADDR");
 }

@@ -3768,7 +3775,7 @@ settunnelinst(const char *id, int param)

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_rdomainid = rdomainid;
-       if (ioctl(s, SIOCSLIFPHYRTABLE, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYRTABLE, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYRTABLE");
 }

@@ -3777,7 +3784,7 @@ unsettunnelinst(const char *ignored, int
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_rdomainid = 0;
-       if (ioctl(s, SIOCSLIFPHYRTABLE, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYRTABLE, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYRTABLE");
 }

@@ -3797,7 +3804,7 @@ settunnelttl(const char *id, int param)

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_ttl = ttl;
-       if (ioctl(s, SIOCSLIFPHYTTL, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYTTL, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYTTL");
 }

@@ -3806,7 +3813,7 @@ settunneldf(const char *ignored, int als
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_df = 1;
-       if (ioctl(s, SIOCSLIFPHYDF, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYDF, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYDF");
 }

@@ -3815,7 +3822,7 @@ settunnelnodf(const char *ignored, int a
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_df = 0;
-       if (ioctl(s, SIOCSLIFPHYDF, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYDF, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYDF");
 }

@@ -3824,7 +3831,7 @@ settunnelecn(const char *ignored, int al
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_metric = 1;
-       if (ioctl(s, SIOCSLIFPHYECN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYECN, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYECN");
 }

@@ -3833,7 +3840,7 @@ settunnelnoecn(const char *ignored, int
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_metric = 0;
-       if (ioctl(s, SIOCSLIFPHYECN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSLIFPHYECN, (caddr_t)&ifr) == -1)
                warn("SIOCSLIFPHYECN");
 }

@@ -3845,7 +3852,7 @@ setvnetflowid(const char *ignored, int a
                errx(1, "vnetflowid: name is too long");

        ifr.ifr_vnetid = 1;
-       if (ioctl(s, SIOCSVNETFLOWID, &ifr) == -1)
+       if (ioctl(sock, SIOCSVNETFLOWID, &ifr) == -1)
                warn("SIOCSVNETFLOWID");
 }

@@ -3857,11 +3864,11 @@ delvnetflowid(const char *ignored, int a
                errx(1, "vnetflowid: name is too long");

        ifr.ifr_vnetid = 0;
-       if (ioctl(s, SIOCSVNETFLOWID, &ifr) == -1)
+       if (ioctl(sock, SIOCSVNETFLOWID, &ifr) == -1)
                warn("SIOCSVNETFLOWID");
 }

-void
+static void
 pwe3_neighbor(void)
 {
        const char *prefix = "pwe3 remote label";
@@ -3875,7 +3882,7 @@ pwe3_neighbor(void)
            sizeof(req.iflr_name))
                errx(1, "pwe3 neighbor: name is too long");

-       if (ioctl(s, SIOCGPWE3NEIGHBOR, &req) == -1) {
+       if (ioctl(sock, SIOCGPWE3NEIGHBOR, &req) == -1) {
                if (errno != EADDRNOTAVAIL)
                        return;

@@ -3899,7 +3906,7 @@ pwe3_neighbor(void)
        printf(" %s %u on %s", prefix, smpls->smpls_label, hbuf);
 }

-void
+static void
 pwe3_cword(void)
 {
        struct ifreq req;
@@ -3909,14 +3916,14 @@ pwe3_cword(void)
            sizeof(req.ifr_name))
                errx(1, "pwe3 control word: name is too long");

-       if (ioctl(s, SIOCGPWE3CTRLWORD, &req) == -1) {
+       if (ioctl(sock, SIOCGPWE3CTRLWORD, &req) == -1) {
                return;
        }

        printf(" %s", req.ifr_pwe3 ? "cw" : "nocw");
 }

-void
+static void
 pwe3_fword(void)
 {
        struct ifreq req;
@@ -3926,7 +3933,7 @@ pwe3_fword(void)
            sizeof(req.ifr_name))
                errx(1, "pwe3 control word: name is too long");

-       if (ioctl(s, SIOCGPWE3FAT, &req) == -1)
+       if (ioctl(sock, SIOCGPWE3FAT, &req) == -1)
                return;

        printf(" %s", req.ifr_pwe3 ? "fat" : "nofat");
@@ -3940,7 +3947,7 @@ mpls_status(void)
        bzero(&shim, sizeof(shim));
        ifr.ifr_data = (caddr_t)&shim;

-       if (ioctl(s, SIOCGETLABEL, (caddr_t)&ifr) == -1) {
+       if (ioctl(sock, SIOCGETLABEL, (caddr_t)&ifr) == -1) {
                if (errno != EADDRNOTAVAIL)
                        return;

@@ -3968,7 +3975,7 @@ setmplslabel(const char *val, int d)

        if (estr)
                errx(1, "mpls label %s is %s", val, estr);
-       if (ioctl(s, SIOCSETLABEL, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETLABEL, (caddr_t)&ifr) == -1)
                warn("SIOCSETLABEL");
 }

@@ -3982,11 +3989,11 @@ unsetmplslabel(const char *val, int d)
            sizeof(req.ifr_name))
                errx(1, "interface name is too long");

-       if (ioctl(s, SIOCDELLABEL, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCDELLABEL, (caddr_t)&ifr) == -1)
                warn("-mplslabel");
 }

-void
+static void
 setpwe3(unsigned long cmd, const char *cmdname, int value)
 {
        struct ifreq req;
@@ -3998,7 +4005,7 @@ setpwe3(unsigned long cmd, const char *c

        req.ifr_pwe3 = value;

-       if (ioctl(s, cmd, &req) == -1)
+       if (ioctl(sock, cmd, &req) == -1)
                warn("%s", cmdname);
 }

@@ -4062,7 +4069,7 @@ setpwe3neighbor(const char *label, const

        freeaddrinfo(res);

-       if (ioctl(s, SIOCSPWE3NEIGHBOR, &req) == -1)
+       if (ioctl(sock, SIOCSPWE3NEIGHBOR, &req) == -1)
                warn("pweneighbor");
 }

@@ -4076,7 +4083,7 @@ unsetpwe3neighbor(const char *val, int d
            sizeof(req.ifr_name))
                errx(1, "interface name is too long");

-       if (ioctl(s, SIOCDPWE3NEIGHBOR, &req) == -1)
+       if (ioctl(sock, SIOCDPWE3NEIGHBOR, &req) == -1)
                warn("-pweneighbor");
 }

@@ -4089,7 +4096,7 @@ transceiver(const char *value, int d)
 void
 transceiverdump(const char *value, int d)
 {
-       if (if_sff_info(s, name, 1) == -1)
+       if (if_sff_info(name, 1) == -1)
                err(1, "%s transceiver", name);
 }
 #endif /* SMALL */
@@ -4101,7 +4108,7 @@ getvnetflowid(struct ifencap *ife)
            sizeof(ifr.ifr_name))
                errx(1, "vnetflowid: name is too long");

-       if (ioctl(s, SIOCGVNETFLOWID, &ifr) == -1)
+       if (ioctl(sock, SIOCGVNETFLOWID, &ifr) == -1)
                return;

        if (ifr.ifr_vnetid)
@@ -4125,7 +4132,7 @@ setvnetid(const char *id, int param)
        }

        ifr.ifr_vnetid = vnetid;
-       if (ioctl(s, SIOCSVNETID, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVNETID, (caddr_t)&ifr) == -1)
                warn("SIOCSVNETID");
 }

@@ -4133,7 +4140,7 @@ setvnetid(const char *id, int param)
 void
 delvnetid(const char *ignored, int alsoignored)
 {
-       if (ioctl(s, SIOCDVNETID, &ifr) == -1)
+       if (ioctl(sock, SIOCDVNETID, &ifr) == -1)
                warn("SIOCDVNETID");
 }

@@ -4144,7 +4151,7 @@ getvnetid(struct ifencap *ife)
            sizeof(ifr.ifr_name))
                errx(1, "vnetid: name is too long");

-       if (ioctl(s, SIOCGVNETID, &ifr) == -1) {
+       if (ioctl(sock, SIOCGVNETID, &ifr) == -1) {
                if (errno != EADDRNOTAVAIL)
                        return;

@@ -4174,7 +4181,7 @@ setifparent(const char *id, int param)
            sizeof(ifp.ifp_parent))
                errx(1, "parent: parent too long");

-       if (ioctl(s, SIOCSIFPARENT, (caddr_t)&ifp) == -1)
+       if (ioctl(sock, SIOCSIFPARENT, (caddr_t)&ifp) == -1)
                warn("SIOCSIFPARENT");
 }

@@ -4182,7 +4189,7 @@ setifparent(const char *id, int param)
 void
 delifparent(const char *ignored, int alsoignored)
 {
-       if (ioctl(s, SIOCDIFPARENT, &ifr) == -1)
+       if (ioctl(sock, SIOCDIFPARENT, &ifr) == -1)
                warn("SIOCDIFPARENT");
 }

@@ -4196,7 +4203,7 @@ getifparent(struct ifencap *ife)
            sizeof(ifp.ifp_name))
                errx(1, "parent: name too long");

-       if (ioctl(s, SIOCGIFPARENT, (caddr_t)&ifp) == -1) {
+       if (ioctl(sock, SIOCGIFPARENT, (caddr_t)&ifp) == -1) {
                if (errno != EADDRNOTAVAIL)
                        return;

@@ -4216,7 +4223,7 @@ gettxprio(struct ifencap *ife)
            sizeof(ifr.ifr_name))
                errx(1, "hdr prio: name is too long");

-       if (ioctl(s, SIOCGTXHPRIO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGTXHPRIO, (caddr_t)&ifr) == -1)
                return;

        ife->ife_flags |= IFE_TXHPRIO_SET;
@@ -4243,7 +4250,7 @@ settxprio(const char *val, int d)
                        errx(1, "tx prio %s: %s", val, errmsg);
        }

-       if (ioctl(s, SIOCSTXHPRIO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSTXHPRIO, (caddr_t)&ifr) == -1)
                warn("SIOCSTXHPRIO");
 }

@@ -4254,7 +4261,7 @@ getrxprio(struct ifencap *ife)
            sizeof(ifr.ifr_name))
                errx(1, "hdr prio: name is too long");

-       if (ioctl(s, SIOCGRXHPRIO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGRXHPRIO, (caddr_t)&ifr) == -1)
                return;

        ife->ife_flags |= IFE_RXHPRIO_SET;
@@ -4283,7 +4290,7 @@ setrxprio(const char *val, int d)
                        errx(1, "rx prio %s: %s", val, errmsg);
        }

-       if (ioctl(s, SIOCSRXHPRIO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSRXHPRIO, (caddr_t)&ifr) == -1)
                warn("SIOCSRXHPRIO");
 }
 #endif
@@ -4376,7 +4383,7 @@ settrunkport(const char *val, int d)
        strlcpy(rp.rp_ifname, name, sizeof(rp.rp_ifname));
        strlcpy(rp.rp_portname, val, sizeof(rp.rp_portname));

-       if (ioctl(s, SIOCSTRUNKPORT, &rp) == -1)
+       if (ioctl(sock, SIOCSTRUNKPORT, &rp) == -1)
                err(1, "SIOCSTRUNKPORT");
 }

@@ -4389,7 +4396,7 @@ unsettrunkport(const char *val, int d)
        strlcpy(rp.rp_ifname, name, sizeof(rp.rp_ifname));
        strlcpy(rp.rp_portname, val, sizeof(rp.rp_portname));

-       if (ioctl(s, SIOCSTRUNKDELPORT, &rp) == -1)
+       if (ioctl(sock, SIOCSTRUNKDELPORT, &rp) == -1)
                err(1, "SIOCSTRUNKDELPORT");
 }

@@ -4413,7 +4420,7 @@ settrunkproto(const char *val, int d)
                errx(1, "Invalid trunk protocol: %s", val);

        strlcpy(ra.ra_ifname, name, sizeof(ra.ra_ifname));
-       if (ioctl(s, SIOCSTRUNK, &ra) != 0)
+       if (ioctl(sock, SIOCSTRUNK, &ra) != 0)
                err(1, "SIOCSTRUNK");
 }

@@ -4426,7 +4433,7 @@ settrunklacpmode(const char *val, int d)
        bzero(&ra, sizeof(ra));
        strlcpy(ra.ra_ifname, name, sizeof(ra.ra_ifname));

-       if (ioctl(s, SIOCGTRUNK, &ra) != 0)
+       if (ioctl(sock, SIOCGTRUNK, &ra) != 0)
                err(1, "SIOCGTRUNK");

        if (ra.ra_proto != TRUNK_PROTO_LACP)
@@ -4446,7 +4453,7 @@ settrunklacpmode(const char *val, int d)
        else
                tops.to_lacpopts.lacp_mode = 0;

-       if (ioctl(s, SIOCSTRUNKOPTS, &tops) != 0)
+       if (ioctl(sock, SIOCSTRUNKOPTS, &tops) != 0)
                err(1, "SIOCSTRUNKOPTS");
 }

@@ -4459,7 +4466,7 @@ settrunklacptimeout(const char *val, int
        bzero(&ra, sizeof(ra));
        strlcpy(ra.ra_ifname, name, sizeof(ra.ra_ifname));

-       if (ioctl(s, SIOCGTRUNK, &ra) != 0)
+       if (ioctl(sock, SIOCGTRUNK, &ra) != 0)
                err(1, "SIOCGTRUNK");

        if (ra.ra_proto != TRUNK_PROTO_LACP)
@@ -4479,7 +4486,7 @@ settrunklacptimeout(const char *val, int
        else
                tops.to_lacpopts.lacp_timeout = 0;

-       if (ioctl(s, SIOCSTRUNKOPTS, &tops) != 0)
+       if (ioctl(sock, SIOCSTRUNKOPTS, &tops) != 0)
                err(1, "SIOCSTRUNKOPTS");
 }

@@ -4499,14 +4506,14 @@ trunk_status(void)
        strlcpy(rp.rp_ifname, name, sizeof(rp.rp_ifname));
        strlcpy(rp.rp_portname, name, sizeof(rp.rp_portname));

-       if (ioctl(s, SIOCGTRUNKPORT, &rp) == 0)
+       if (ioctl(sock, SIOCGTRUNKPORT, &rp) == 0)
                isport = 1;

        strlcpy(ra.ra_ifname, name, sizeof(ra.ra_ifname));
        ra.ra_size = sizeof(rpbuf);
        ra.ra_port = rpbuf;

-       if (ioctl(s, SIOCGTRUNK, &ra) == 0) {
+       if (ioctl(sock, SIOCGTRUNK, &ra) == 0) {
                lp = (struct lacp_opreq *)&ra.ra_lacpreq;

                for (i = 0; i < (sizeof(tpr) / sizeof(tpr[0])); i++) {
@@ -4599,7 +4606,7 @@ carp_status(void)
        memset((char *)&carpr, 0, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                return;

        if (carpr.carpr_vhids[0] == 0)
@@ -4651,13 +4658,13 @@ setcarp_passwd(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        bzero(carpr.carpr_key, CARP_KEY_LEN);
        strlcpy((char *)carpr.carpr_key, val, CARP_KEY_LEN);

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4676,13 +4683,13 @@ setcarp_vhid(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        carpr.carpr_vhids[0] = vhid;
        carpr.carpr_vhids[1] = 0;

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4701,12 +4708,12 @@ setcarp_advskew(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        carpr.carpr_advskews[0] = advskew;

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4725,12 +4732,12 @@ setcarp_advbase(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        carpr.carpr_advbase = advbase;

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4745,7 +4752,7 @@ setcarppeer(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        bzero(&hints, sizeof(hints));
@@ -4762,7 +4769,7 @@ setcarppeer(const char *val, int d)
        carpr.carpr_peer.s_addr = ((struct sockaddr_in *)
            peerres->ai_addr)->sin_addr.s_addr;

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");

        freeaddrinfo(peerres);
@@ -4776,12 +4783,12 @@ unsetcarppeer(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        bzero(&carpr.carpr_peer, sizeof(carpr.carpr_peer));

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4795,7 +4802,7 @@ setcarp_state(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        for (i = 0; i <= CARP_MAXSTATE; i++) {
@@ -4805,7 +4812,7 @@ setcarp_state(const char *val, int d)
                }
        }

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4818,12 +4825,12 @@ setcarpdev(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        strlcpy(carpr.carpr_carpdev, val, sizeof(carpr.carpr_carpdev));

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4837,7 +4844,7 @@ setcarp_nodes(const char *val, int d)
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        bzero(carpr.carpr_vhids, sizeof(carpr.carpr_vhids));
@@ -4867,7 +4874,7 @@ setcarp_nodes(const char *val, int d)
        }
        free(optlist);

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4880,7 +4887,7 @@ setcarp_balancing(const char *val, int d
        bzero(&carpr, sizeof(struct carpreq));
        ifr.ifr_data = (caddr_t)&carpr;

-       if (ioctl(s, SIOCGVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCGVH");

        for (i = 0; i <= CARP_BAL_MAXID; i++)
@@ -4892,7 +4899,7 @@ setcarp_balancing(const char *val, int d

        carpr.carpr_balancing = i;

-       if (ioctl(s, SIOCSVH, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSVH, (caddr_t)&ifr) == -1)
                err(1, "SIOCSVH");
 }

@@ -4904,12 +4911,12 @@ setpfsync_syncdev(const char *val, int d
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        strlcpy(preq.pfsyncr_syncdev, val, sizeof(preq.pfsyncr_syncdev));

-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");
 }

@@ -4922,12 +4929,12 @@ unsetpfsync_syncdev(const char *val, int
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        bzero(&preq.pfsyncr_syncdev, sizeof(preq.pfsyncr_syncdev));

-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");
 }

@@ -4942,7 +4949,7 @@ setpfsync_syncpeer(const char *val, int
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        memset(&hints, 0, sizeof(hints));
@@ -4959,7 +4966,7 @@ setpfsync_syncpeer(const char *val, int
        preq.pfsyncr_syncpeer.s_addr = ((struct sockaddr_in *)
            peerres->ai_addr)->sin_addr.s_addr;

-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");

        freeaddrinfo(peerres);
@@ -4974,12 +4981,12 @@ unsetpfsync_syncpeer(const char *val, in
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        preq.pfsyncr_syncpeer.s_addr = 0;

-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");
 }

@@ -4998,12 +5005,12 @@ setpfsync_maxupd(const char *val, int d)
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        preq.pfsyncr_maxupdates = maxupdates;

-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");
 }

@@ -5015,11 +5022,11 @@ setpfsync_defer(const char *val, int d)
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCGETPFSYNC");

        preq.pfsyncr_defer = d;
-       if (ioctl(s, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFSYNC, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFSYNC");
 }

@@ -5031,7 +5038,7 @@ pfsync_status(void)
        bzero(&preq, sizeof(struct pfsyncreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFSYNC, (caddr_t)&ifr) == -1)
                return;

        if (preq.pfsyncr_syncdev[0] != '\0') {
@@ -5056,7 +5063,7 @@ pflow_status(void)
        bzero(&preq, sizeof(struct pflowreq));
        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCGETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGETPFLOW, (caddr_t)&ifr) == -1)
                 return;

        if (preq.flowsrc.ss_family == AF_INET || preq.flowsrc.ss_family ==
@@ -5187,7 +5194,7 @@ setpflow_sender(const char *val, int d)
        preq.addrmask |= PFLOW_MASK_SRCIP;
        pflow_addr(val, &preq.flowsrc);

-       if (ioctl(s, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFLOW");
 }

@@ -5199,7 +5206,7 @@ unsetpflow_sender(const char *val, int d
        bzero(&preq, sizeof(struct pflowreq));
        preq.addrmask |= PFLOW_MASK_SRCIP;
        ifr.ifr_data = (caddr_t)&preq;
-       if (ioctl(s, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFLOW");
 }

@@ -5213,7 +5220,7 @@ setpflow_receiver(const char *val, int d
        preq.addrmask |= PFLOW_MASK_DSTIP;
        pflow_addr(val, &preq.flowdst);

-       if (ioctl(s, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFLOW");
 }

@@ -5225,7 +5232,7 @@ unsetpflow_receiver(const char *val, int
        bzero(&preq, sizeof(struct pflowreq));
        ifr.ifr_data = (caddr_t)&preq;
        preq.addrmask |= PFLOW_MASK_DSTIP;
-       if (ioctl(s, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFLOW");
 }

@@ -5253,7 +5260,7 @@ setpflowproto(const char *val, int d)

        ifr.ifr_data = (caddr_t)&preq;

-       if (ioctl(s, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSETPFLOW, (caddr_t)&ifr) == -1)
                err(1, "SIOCSETPFLOW");
 }

@@ -5266,7 +5273,7 @@ pppoe_status(void)
        memset(&state, 0, sizeof(state));

        strlcpy(parms.ifname, name, sizeof(parms.ifname));
-       if (ioctl(s, PPPOEGETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOEGETPARMS, &parms) == -1)
                return;

        printf("\tdev: %s ", parms.eth_ifname);
@@ -5277,7 +5284,7 @@ pppoe_status(void)
                printf("svc: %s ", parms.service_name);

        strlcpy(state.ifname, name, sizeof(state.ifname));
-       if (ioctl(s, PPPOEGETSESSION, &state) == -1)
+       if (ioctl(sock, PPPOEGETSESSION, &state) == -1)
                err(1, "PPPOEGETSESSION");

        printf("state: ");
@@ -5333,12 +5340,12 @@ setpppoe_dev(const char *val, int d)
        struct pppoediscparms parms;

        strlcpy(parms.ifname, name, sizeof(parms.ifname));
-       if (ioctl(s, PPPOEGETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOEGETPARMS, &parms) == -1)
                return;

        strlcpy(parms.eth_ifname, val, sizeof(parms.eth_ifname));

-       if (ioctl(s, PPPOESETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOESETPARMS, &parms) == -1)
                err(1, "PPPOESETPARMS");
 }

@@ -5349,7 +5356,7 @@ setpppoe_svc(const char *val, int d)
        struct pppoediscparms parms;

        strlcpy(parms.ifname, name, sizeof(parms.ifname));
-       if (ioctl(s, PPPOEGETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOEGETPARMS, &parms) == -1)
                return;

        if (d == 0)
@@ -5357,7 +5364,7 @@ setpppoe_svc(const char *val, int d)
        else
                memset(parms.service_name, 0, sizeof(parms.service_name));

-       if (ioctl(s, PPPOESETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOESETPARMS, &parms) == -1)
                err(1, "PPPOESETPARMS");
 }

@@ -5368,7 +5375,7 @@ setpppoe_ac(const char *val, int d)
        struct pppoediscparms parms;

        strlcpy(parms.ifname, name, sizeof(parms.ifname));
-       if (ioctl(s, PPPOEGETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOEGETPARMS, &parms) == -1)
                return;

        if (d == 0)
@@ -5376,7 +5383,7 @@ setpppoe_ac(const char *val, int d)
        else
                memset(parms.ac_name, 0, sizeof(parms.ac_name));

-       if (ioctl(s, PPPOESETPARMS, &parms) == -1)
+       if (ioctl(sock, PPPOESETPARMS, &parms) == -1)
                err(1, "PPPOESETPARMS");
 }

@@ -5387,7 +5394,7 @@ spppauthinfo(struct sauthreq *spa, int d

        ifr.ifr_data = (caddr_t)spa;
        spa->cmd = d == 0 ? SPPPIOGMAUTH : SPPPIOGHAUTH;
-       if (ioctl(s, SIOCGSPPPPARAMS, &ifr) == -1)
+       if (ioctl(sock, SIOCGSPPPPARAMS, &ifr) == -1)
                err(1, "SIOCGSPPPPARAMS(SPPPIOGXAUTH)");
 }

@@ -5408,7 +5415,7 @@ setspppproto(const char *val, int d)
                errx(1, "setpppproto");

        spa.cmd = d == 0 ? SPPPIOSMAUTH : SPPPIOSHAUTH;
-       if (ioctl(s, SIOCSSPPPPARAMS, &ifr) == -1)
+       if (ioctl(sock, SIOCSSPPPPARAMS, &ifr) == -1)
                err(1, "SIOCSSPPPPARAMS(SPPPIOSXAUTH)");
 }

@@ -5431,7 +5438,7 @@ setspppname(const char *val, int d)
                errx(1, "setspppname");

        spa.cmd = d == 0 ? SPPPIOSMAUTH : SPPPIOSHAUTH;
-       if (ioctl(s, SIOCSSPPPPARAMS, &ifr) == -1)
+       if (ioctl(sock, SIOCSSPPPPARAMS, &ifr) == -1)
                err(1, "SIOCSSPPPPARAMS(SPPPIOSXAUTH)");
 }

@@ -5454,7 +5461,7 @@ setspppkey(const char *val, int d)
                errx(1, "setspppkey");

        spa.cmd = d == 0 ? SPPPIOSMAUTH : SPPPIOSHAUTH;
-       if (ioctl(s, SIOCSSPPPPARAMS, &ifr) == -1)
+       if (ioctl(sock, SIOCSSPPPPARAMS, &ifr) == -1)
                err(1, "SIOCSSPPPPARAMS(SPPPIOSXAUTH)");
 }

@@ -5487,7 +5494,7 @@ setsppppeerflag(const char *val, int d)
                spa.flags |= flag;

        spa.cmd = SPPPIOSHAUTH;
-       if (ioctl(s, SIOCSSPPPPARAMS, &ifr) == -1)
+       if (ioctl(sock, SIOCSSPPPPARAMS, &ifr) == -1)
                err(1, "SIOCSSPPPPARAMS(SPPPIOSXAUTH)");
 }

@@ -5530,7 +5537,7 @@ sppp_status(void)

        ifr.ifr_data = (caddr_t)&spr;
        spr.cmd = SPPPIOGDEFS;
-       if (ioctl(s, SIOCGSPPPPARAMS, &ifr) == -1) {
+       if (ioctl(sock, SIOCGSPPPPARAMS, &ifr) == -1) {
                return;
        }

@@ -5583,7 +5590,7 @@ setkeepalive(const char *timeout, const
        strlcpy(ikar.ikar_name, name, sizeof(ikar.ikar_name));
        ikar.ikar_timeo = t;
        ikar.ikar_cnt = c;
-       if (ioctl(s, SIOCSETKALIVE, (caddr_t)&ikar) == -1)
+       if (ioctl(sock, SIOCSETKALIVE, (caddr_t)&ikar) == -1)
                warn("SIOCSETKALIVE");
 }

@@ -5594,7 +5601,7 @@ unsetkeepalive(const char *val, int d)

        bzero(&ikar, sizeof(ikar));
        strlcpy(ikar.ikar_name, name, sizeof(ikar.ikar_name));
-       if (ioctl(s, SIOCSETKALIVE, (caddr_t)&ikar) == -1)
+       if (ioctl(sock, SIOCSETKALIVE, (caddr_t)&ikar) == -1)
                warn("SIOCSETKALIVE");
 }

@@ -5610,7 +5617,7 @@ setifpriority(const char *id, int param)

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_metric = prio;
-       if (ioctl(s, SIOCSIFPRIORITY, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFPRIORITY, (caddr_t)&ifr) == -1)
                warn("SIOCSIFPRIORITY");
 }

@@ -5630,7 +5637,7 @@ const struct umb_valdescr umb_classalias
        { 0, NULL }
 };

-int
+static int
 umb_descr2val(const struct umb_valdescr *vdp, char *str)
 {
        while (vdp->descr != NULL) {
@@ -5658,7 +5665,7 @@ umb_status(void)

        memset((char *)&mi, 0, sizeof(mi));
        ifr.ifr_data = (caddr_t)&mi;
-       if (ioctl(s, SIOCGUMBINFO, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGUMBINFO, (caddr_t)&ifr) == -1)
                return;

        if (mi.nwerror) {
@@ -5887,7 +5894,7 @@ umb_pinop(int op, int is_puk, const char

        memset(&mp, 0, sizeof (mp));
        ifr.ifr_data = (caddr_t)&mp;
-       if (ioctl(s, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCGUMBPARAM");

        mp.op = op;
@@ -5902,7 +5909,7 @@ umb_pinop(int op, int is_puk, const char
                errx(1, "new PIN too long");
        }

-       if (ioctl(s, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCSUMBPARAM");
 }

@@ -5913,7 +5920,7 @@ umb_apn(const char *apn, int d)

        memset(&mp, 0, sizeof (mp));
        ifr.ifr_data = (caddr_t)&mp;
-       if (ioctl(s, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCGUMBPARAM");

        if (d != 0)
@@ -5922,7 +5929,7 @@ umb_apn(const char *apn, int d)
            sizeof (mp.apn))) == -1)
                errx(1, "APN too long");

-       if (ioctl(s, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCSUMBPARAM");
 }

@@ -5940,13 +5947,13 @@ umb_setclass(const char *val, int d)

        memset(&mp, 0, sizeof (mp));
        ifr.ifr_data = (caddr_t)&mp;
-       if (ioctl(s, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCGUMBPARAM");
        if (d != -1)
                mp.preferredclasses = umb_parse_classes(val);
        else
                mp.preferredclasses = MBIM_DATACLASS_NONE;
-       if (ioctl(s, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCSUMBPARAM");
 }

@@ -5957,10 +5964,10 @@ umb_roaming(const char *val, int d)

        memset(&mp, 0, sizeof (mp));
        ifr.ifr_data = (caddr_t)&mp;
-       if (ioctl(s, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCGUMBPARAM");
        mp.roaming = d;
-       if (ioctl(s, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSUMBPARAM, (caddr_t)&ifr) == -1)
                err(1, "SIOCSUMBPARAM");
 }

@@ -6245,7 +6252,7 @@ getifgroups(void)
        memset(&ifgr, 0, sizeof(ifgr));
        strlcpy(ifgr.ifgr_name, name, IFNAMSIZ);

-       if (ioctl(s, SIOCGIFGROUP, (caddr_t)&ifgr) == -1) {
+       if (ioctl(sock, SIOCGIFGROUP, (caddr_t)&ifgr) == -1) {
                if (errno == EINVAL || errno == ENOTTY)
                        return;
                else
@@ -6257,7 +6264,7 @@ getifgroups(void)
            sizeof(struct ifg_req));
        if (ifgr.ifgr_groups == NULL)
                err(1, "getifgroups");
-       if (ioctl(s, SIOCGIFGROUP, (caddr_t)&ifgr) == -1)
+       if (ioctl(sock, SIOCGIFGROUP, (caddr_t)&ifgr) == -1)
                err(1, "SIOCGIFGROUP");

        cnt = 0;
@@ -6291,11 +6298,11 @@ printifhwfeatures(const char *unused, in
        }
        bzero(&ifrdat, sizeof(ifrdat));
        ifr.ifr_data = (caddr_t)&ifrdat;
-       if (ioctl(s, SIOCGIFDATA, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCGIFDATA, (caddr_t)&ifr) == -1)
                err(1, "SIOCGIFDATA");
        printb("\thwfeatures", (u_int)ifrdat.ifi_capabilities, HWFEATURESBITS);

-       if (ioctl(s, SIOCGIFHARDMTU, (caddr_t)&ifr) != -1) {
+       if (ioctl(sock, SIOCGIFHARDMTU, (caddr_t)&ifr) != -1) {
                if (ifr.ifr_hardmtu)
                        printf(" hardmtu %u", ifr.ifr_hardmtu);
        }
@@ -6336,7 +6343,7 @@ setiflladdr(const char *addr, int param)
        ifr.ifr_addr.sa_len = ETHER_ADDR_LEN;
        ifr.ifr_addr.sa_family = AF_LINK;
        bcopy(eap, ifr.ifr_addr.sa_data, ETHER_ADDR_LEN);
-       if (ioctl(s, SIOCSIFLLADDR, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFLLADDR, (caddr_t)&ifr) == -1)
                warn("SIOCSIFLLADDR");
 }

@@ -6353,7 +6360,7 @@ setrdomain(const char *id, int param)

        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_rdomainid = rdomainid;
-       if (ioctl(s, SIOCSIFRDOMAIN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFRDOMAIN, (caddr_t)&ifr) == -1)
                warn("SIOCSIFRDOMAIN");
 }

@@ -6362,7 +6369,7 @@ unsetrdomain(const char *ignored, int al
 {
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
        ifr.ifr_rdomainid = 0;
-       if (ioctl(s, SIOCSIFRDOMAIN, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFRDOMAIN, (caddr_t)&ifr) == -1)
                warn("SIOCSIFRDOMAIN");
 }
 #endif
@@ -6376,7 +6383,7 @@ setpair(const char *val, int d)
                errno = ENOENT;
                err(1, "patch %s", val);
        }
-       if (ioctl(s, SIOCSIFPAIR, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFPAIR, (caddr_t)&ifr) == -1)
                warn("SIOCSIFPAIR");
 }

@@ -6385,7 +6392,7 @@ unsetpair(const char *val, int d)
 {
        ifr.ifr_index = 0;
        strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-       if (ioctl(s, SIOCSIFPAIR, (caddr_t)&ifr) == -1)
+       if (ioctl(sock, SIOCSIFPAIR, (caddr_t)&ifr) == -1)
                warn("SIOCSIFPAIR");
 }
 #endif
Index: sbin/ifconfig/ifconfig.h
===================================================================
RCS file: sbin/ifconfig/ifconfig.h
diff -N sbin/ifconfig/ifconfig.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ sbin/ifconfig/ifconfig.h    17 Oct 2019 13:11:53 -0000
@@ -0,0 +1,76 @@
+/*     $OpenBSD: brconfig.h,v 1.15 2019/07/25 13:56:23 krw Exp $       */
+
+/*
+ * Copyright (c) 2009 Claudio Jeker <clau...@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+extern int aflag;
+extern int ifaliases;
+extern int sock;
+extern char name[IFNAMSIZ];
+
+void printb(char *, unsigned int, unsigned char *);
+
+void setdiscover(const char *, int);
+void unsetdiscover(const char *, int);
+void setblocknonip(const char *, int);
+void unsetblocknonip(const char *, int);
+void setlearn(const char *, int);
+void unsetlearn(const char *, int);
+void setstp(const char *, int);
+void unsetstp(const char *, int);
+void setedge(const char *, int);
+void unsetedge(const char *, int);
+void setautoedge(const char *, int);
+void unsetautoedge(const char *, int);
+void setptp(const char *, int);
+void unsetptp(const char *, int);
+void setautoptp(const char *, int);
+void unsetautoptp(const char *, int);
+void addlocal(const char *, int);
+
+void bridge_add(const char *, int);
+void bridge_delete(const char *, int);
+void bridge_addspan(const char *, int);
+void bridge_delspan(const char *, int);
+void bridge_flush(const char *, int);
+void bridge_flushall(const char *, int);
+void bridge_addaddr(const char *, const char *);
+void bridge_deladdr(const char *, int);
+void bridge_maxaddr(const char *, int);
+void bridge_addrs(const char *, int);
+void bridge_hellotime(const char *, int);
+void bridge_fwddelay(const char *, int);
+void bridge_maxage(const char *, int);
+void bridge_protect(const char *, const char *);
+void bridge_unprotect(const char *, int);
+void bridge_proto(const char *, int);
+void bridge_ifprio(const char *, const char *);
+void bridge_ifcost(const char *, const char *);
+void bridge_noifcost(const char *, int);
+void bridge_timeout(const char *, int);
+void bridge_holdcnt(const char *, int);
+void bridge_priority(const char *, int);
+void bridge_rules(const char *, int);
+void bridge_rulefile(const char *, int);
+void bridge_flushrule(const char *, int);
+int is_bridge(char *);
+void bridge_status(void);
+int bridge_rule(int, char **, int);
+void switch_status(void);
+void switch_datapathid(const char *, int);
+void switch_portno(const char *, const char *);
+
+int if_sff_info(const char *, int);
Index: sbin/ifconfig/sff.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/sff.c,v
retrieving revision 1.21
diff -u -p -r1.21 sff.c
--- sbin/ifconfig/sff.c 30 Aug 2019 03:52:21 -0000      1.21
+++ sbin/ifconfig/sff.c 17 Oct 2019 13:13:11 -0000
@@ -34,6 +34,8 @@
 #include <limits.h>
 #include <vis.h>

+#include "ifconfig.h"
+
 #ifndef nitems
 #define nitems(_a)     (sizeof((_a)) / sizeof((_a)[0]))
 #endif
@@ -344,9 +346,9 @@ static const struct sff_media_map upper_
 };

 static void    hexdump(const void *, size_t);
-static int     if_sff8472(int, const char *, int, const struct if_sffpage *);
-static int     if_sff8636(int, const char *, int, const struct if_sffpage *);
-static int     if_inf8077(int, const char *, int, const struct if_sffpage *);
+static int     if_sff8472(const char *, int, const struct if_sffpage *);
+static int     if_sff8636(const char *, int, const struct if_sffpage *);
+static int     if_inf8077(const char *, int, const struct if_sffpage *);

 static const char *
 sff_id_name(uint8_t id)
@@ -407,18 +409,18 @@ if_sffpage_dump(const char *ifname, cons
 }

 int
-if_sff_info(int s, const char *ifname, int dump)
+if_sff_info(const char *ifname, int dump)
 {
        struct if_sffpage pg0;
        int error = 0;
        uint8_t id, ext_id;

        if_sffpage_init(&pg0, ifname, IFSFF_ADDR_EEPROM, 0);
-       if (ioctl(s, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1) {
+       if (ioctl(sock, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1) {
                if (errno == ENXIO) {
                        /* try 1 for XFP cos myx which can't switch pages... */
                        if_sffpage_init(&pg0, ifname, IFSFF_ADDR_EEPROM, 1);
-                       if (ioctl(s, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1)
+                       if (ioctl(sock, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1)
                                return (-1);
                } else
                        return (-1);
@@ -439,22 +441,22 @@ if_sff_info(int s, const char *ifname, i
                }
                /* FALLTHROUGH */
        case SFF8024_ID_GBIC:
-               error = if_sff8472(s, ifname, dump, &pg0);
+               error = if_sff8472(ifname, dump, &pg0);
                break;
        case SFF8024_ID_XFP:
                if (pg0.sff_page != 1) {
                        if_sffpage_init(&pg0, ifname, IFSFF_ADDR_EEPROM, 1);
-                       if (ioctl(s, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1)
+                       if (ioctl(sock, SIOCGIFSFFPAGE, (caddr_t)&pg0) == -1)
                                return (-1);
                        if (dump)
                                if_sffpage_dump(ifname, &pg0);
                }
-               error = if_inf8077(s, ifname, dump, &pg0);
+               error = if_inf8077(ifname, dump, &pg0);
                break;
        case SFF8024_ID_QSFP:
        case SFF8024_ID_QSFP_PLUS:
        case SFF8024_ID_QSFP28:
-               error = if_sff8636(s, ifname, dump, &pg0);
+               error = if_sff8636(ifname, dump, &pg0);
                break;
        default:
                printf("\n");
@@ -484,7 +486,7 @@ if_sff_ascii_print(const struct if_sffpa
        printf("%s", name);

        for (;;) {
-               int ch = d[end];
+               ch = d[end];
                if (!isspace(ch) && ch != '\0')
                        break;

@@ -578,7 +580,7 @@ if_sff_printdist(const char *type, int v
 static void
 if_sff_printmedia(const struct if_sffpage *pg, const struct sff_media_map *m)
 {
-       uint8_t con, dist;
+       uint8_t con;
        unsigned int wavelength;

        con = pg->sff_data[m->connector_type];
@@ -611,7 +613,7 @@ if_sff_printmedia(const struct if_sffpag
 }

 static int
-if_sff8472(int s, const char *ifname, int dump, const struct if_sffpage *pg0)
+if_sff8472(const char *ifname, int dump, const struct if_sffpage *pg0)
 {
        struct if_sffpage ddm;
        uint8_t ddm_types;
@@ -636,7 +638,7 @@ if_sff8472(int s, const char *ifname, in
                return (0);

        if_sffpage_init(&ddm, ifname, IFSFF_ADDR_DDM, 0);
-       if (ioctl(s, SIOCGIFSFFPAGE, (caddr_t)&ddm) == -1)
+       if (ioctl(sock, SIOCGIFSFFPAGE, (caddr_t)&ddm) == -1)
                return (-1);

        if (dump)
@@ -714,7 +716,7 @@ if_upper_strings(const struct if_sffpage
 }

 static int
-if_inf8077(int s, const char *ifname, int dump, const struct if_sffpage *pg1)
+if_inf8077(const char *ifname, int dump, const struct if_sffpage *pg1)
 {
        if_upper_strings(pg1);

@@ -722,7 +724,7 @@ if_inf8077(int s, const char *ifname, in
 }

 static int
-if_sff8636_thresh(int s, const char *ifname, int dump,
+if_sff8636_thresh(const char *ifname, int dump,
     const struct if_sffpage *pg0)
 {
        struct if_sffpage pg3;
@@ -730,7 +732,7 @@ if_sff8636_thresh(int s, const char *ifn
        struct sff_thresholds temp, vcc, tx, rx, bias;

        if_sffpage_init(&pg3, ifname, IFSFF_ADDR_EEPROM, 3);
-       if (ioctl(s, SIOCGIFSFFPAGE, (caddr_t)&pg3) == -1) {
+       if (ioctl(sock, SIOCGIFSFFPAGE, (caddr_t)&pg3) == -1) {
                if (dump)
                        warn("%s SIOCGIFSFFPAGE page 3", ifname);
                return (-1);
@@ -817,7 +819,7 @@ if_sff8636_thresh(int s, const char *ifn
 }

 static int
-if_sff8636(int s, const char *ifname, int dump, const struct if_sffpage *pg0)
+if_sff8636(const char *ifname, int dump, const struct if_sffpage *pg0)
 {
        int16_t temp;
        uint8_t maxcasetemp;
@@ -844,7 +846,7 @@ if_sff8636(int s, const char *ifname, in
        }

        flat = pg0->sff_data[SFF8436_STATUS2] & SFF8436_STATUS2_FLAT_MEM;
-       if (!flat && if_sff8636_thresh(s, ifname, dump, pg0) == 0) {
+       if (!flat && if_sff8636_thresh(ifname, dump, pg0) == 0) {
                if (!dump)
                        return (0);
        }

Reply via email to