ifconfig(8): Add 'lscan'. Like 'scan', but displays long SSIDs.
authorSascha Wildner <saw@online.de>
Sat, 14 Oct 2017 08:38:45 +0000 (10:38 +0200)
committerSascha Wildner <saw@online.de>
Sat, 14 Oct 2017 08:38:45 +0000 (10:38 +0200)
Submitted-by: Max Herrgard <herrgard@gmail.com>
sbin/ifconfig/ifconfig.8
sbin/ifconfig/ifieee80211.c

index a3c6087..e0d63be 100644 (file)
@@ -28,7 +28,7 @@
 .\"     From: @(#)ifconfig.8   8.3 (Berkeley) 1/5/94
 .\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.124 2006/10/10 09:44:08 ru Exp $
 .\"
-.Dd November 12, 2012
+.Dd October 14, 2017
 .Dt IFCONFIG 8
 .Os
 .Sh NAME
@@ -1300,6 +1300,10 @@ for examining parameters when WME mode is disabled.
 See the description of the
 .Cm wme
 directive for information on the various parameters.
+.It Cm lscan
+A variant of
+.Cm scan
+(see below) that displays long SSIDs.
 .It Cm maxretry Ar count
 Set the maximum number of tries to use in sending unicast frames.
 The default setting is 6 but drivers may override this with a value
index 1a2b17a..5e1bbfa 100644 (file)
@@ -3147,7 +3147,7 @@ printmimo(const struct ieee80211_mimo_info *mi)
 }
 
 static void
-list_scan(int s)
+list_scan(int s, int long_ssids)
 {
        uint8_t buf[24*1024];
        char ssid[IEEE80211_NWID_LEN+1];
@@ -3161,7 +3161,7 @@ list_scan(int s)
 
        getchaninfo(s);
 
-       ssidmax = verbose ? IEEE80211_NWID_LEN - 1 : 14;
+       ssidmax = (verbose || long_ssids) ? IEEE80211_NWID_LEN - 1 : 14;
        printf("%-*.*s  %-17.17s  %4s %4s  %-7s  %3s %4s\n"
                , ssidmax, ssidmax, "SSID/MESH ID"
                , "BSSID"
@@ -3253,7 +3253,7 @@ static
 DECL_CMD_FUNC(set80211scan, val, d)
 {
        scan_and_wait(s);
-       list_scan(s);
+       list_scan(s, 0);
 }
 
 static enum ieee80211_opmode get80211opmode(int s);
@@ -3996,7 +3996,9 @@ DECL_CMD_FUNC(set80211list, arg, d)
        if (iseq(arg, "sta"))
                list_stations(s);
        else if (iseq(arg, "scan") || iseq(arg, "ap"))
-               list_scan(s);
+               list_scan(s, 0);
+       else if (iseq(arg, "lscan"))
+               list_scan(s, 1);
        else if (iseq(arg, "chan") || iseq(arg, "freq"))
                list_channels(s, 1);
        else if (iseq(arg, "active"))