libiwinfo: add restricted flag for freqlist
[project/luci.git] / contrib / package / iwinfo / src / iwinfo.lua
index caa2816..76b9e4a 100755 (executable)
@@ -105,9 +105,10 @@ function print_freqlist(api, dev)
 
        if fl and #fl > 0 then
                for _, fe in ipairs(fl) do
 
        if fl and #fl > 0 then
                for _, fe in ipairs(fl) do
-                       printf("%s %.3f GHz (Channel %d)",
+                       printf("%s %.3f GHz (Channel %d)%s",
                                (cc == fe.channel) and "*" or " ",
                                (cc == fe.channel) and "*" or " ",
-                               n(fe.mhz) / 1000, n(fe.channel))
+                               n(fe.mhz) / 1000, n(fe.channel),
+                               fe.restricted and " [restricted]" or "")
                end
        else
                print("No frequency information available")
                end
        else
                print("No frequency information available")
@@ -132,6 +133,25 @@ function print_assoclist(api, dev)
        print("")
 end
 
        print("")
 end
 
+function print_countrylist(api, dev)
+       local iw = iwinfo[api]
+       local cl = iw.countrylist(dev)
+       local cc = iw.country(dev)
+       local ce
+
+       if cl and #cl > 0 then
+               for _, ce in ipairs(cl) do
+                       printf("%s %4s  %s",
+                               (cc == ce.alpha2) and "*" or " ",
+                               ce.ccode, ce.name)
+               end
+       else
+               print("No country code information available")
+       end
+
+       print("")
+end
+
 
 if #arg ~= 2 then
        print("Usage:")
 
 if #arg ~= 2 then
        print("Usage:")
@@ -140,6 +160,7 @@ if #arg ~= 2 then
        print(" iwinfo <device> txpowerlist")
        print(" iwinfo <device> freqlist")
        print(" iwinfo <device> assoclist")
        print(" iwinfo <device> txpowerlist")
        print(" iwinfo <device> freqlist")
        print(" iwinfo <device> assoclist")
+       print(" iwinfo <device> countrylist")
        os.exit(1)
 end
 
        os.exit(1)
 end
 
@@ -166,6 +187,9 @@ elseif arg[2]:match("^f") then
 elseif arg[2]:match("^a") then
        print_assoclist(api, dev)
 
 elseif arg[2]:match("^a") then
        print_assoclist(api, dev)
 
+elseif arg[2]:match("^c") then
+       print_countrylist(api, dev)
+
 else
        print("Unknown command: " .. arg[2])
 end
 else
        print("Unknown command: " .. arg[2])
 end