cli: print the band on the frequency list
[project/iwinfo.git] / iwinfo_lua.c
index 76160b6812dc2dc5dd3aec24ca4e86000fdf4532..ecf257d67678331425bbc2a8a496d20ba038a060 100644 (file)
@@ -61,6 +61,15 @@ static char * iwinfo_crypto_print_ciphers(int ciphers)
        if (ciphers & IWINFO_CIPHER_CCMP)
                pos += sprintf(pos, "CCMP, ");
 
+       if (ciphers & IWINFO_CIPHER_CCMP256)
+               pos += sprintf(pos, "CCMP-256, ");
+
+       if (ciphers & IWINFO_CIPHER_GCMP)
+               pos += sprintf(pos, "GCMP, ");
+
+       if (ciphers & IWINFO_CIPHER_GCMP256)
+               pos += sprintf(pos, "GCMP-256, ");
+
        if (ciphers & IWINFO_CIPHER_WRAP)
                pos += sprintf(pos, "WRAP, ");
 
@@ -146,10 +155,12 @@ static char * iwinfo_crypto_desc(struct iwinfo_crypto_entry *c)
 
                                for (i = 0; i < 3; i++)
                                        if (c->wpa_version & (1 << i))
+                                       {
                                                if (i)
                                                        pos += sprintf(pos, "WPA%d/", i + 1);
                                                else
                                                        pos += sprintf(pos, "WPA/");
+                                       }
 
                                pos--;
 
@@ -265,6 +276,9 @@ static void set_rateinfo(lua_State *L, struct iwinfo_rate_entry *r, bool rx)
        lua_pushboolean(L, r->is_vht);
        lua_setfield(L, -2, rx ? "rx_vht" : "tx_vht");
 
+       lua_pushboolean(L, r->is_he);
+       lua_setfield(L, -2, rx ? "rx_he" : "tx_he");
+
        lua_pushnumber(L, r->mhz);
        lua_setfield(L, -2, rx ? "rx_mhz" : "tx_mhz");
 
@@ -279,7 +293,7 @@ static void set_rateinfo(lua_State *L, struct iwinfo_rate_entry *r, bool rx)
                lua_pushboolean(L, r->is_short_gi);
                lua_setfield(L, -2, rx ? "rx_short_gi" : "tx_short_gi");
        }
-       else if (r->is_vht)
+       else if (r->is_vht || r->is_he)
        {
                lua_pushnumber(L, r->mcs);
                lua_setfield(L, -2, rx ? "rx_mcs" : "tx_mcs");
@@ -287,8 +301,18 @@ static void set_rateinfo(lua_State *L, struct iwinfo_rate_entry *r, bool rx)
                lua_pushnumber(L, r->nss);
                lua_setfield(L, -2, rx ? "rx_nss" : "tx_nss");
 
-               lua_pushboolean(L, r->is_short_gi);
-               lua_setfield(L, -2, rx ? "rx_short_gi" : "tx_short_gi");
+               if (r->is_he) {
+                       lua_pushnumber(L, r->he_gi);
+                       lua_setfield(L, -2, rx ? "rx_he_gi" : "tx_he_gi");
+
+                       lua_pushnumber(L, r->he_dcm);
+                       lua_setfield(L, -2, rx ? "rx_he_dcm" : "tx_he_dcm");
+               }
+
+               if (r->is_vht) {
+                       lua_pushboolean(L, r->is_short_gi);
+                       lua_setfield(L, -2, rx ? "rx_short_gi" : "tx_short_gi");
+               }
        }
 }
 
@@ -434,18 +458,6 @@ static int iwinfo_L_scanlist(lua_State *L, int (*func)(const char *, char *, int
                        lua_pushnumber(L, (e->signal - 0x100));
                        lua_setfield(L, -2, "signal");
 
-                       /* BSS load */
-                       if (e->has_bss_load) {
-                               lua_pushnumber(L, e->station_count);
-                               lua_setfield(L, -2, "station_count");
-
-                               lua_pushnumber(L, e->channel_utilization);
-                               lua_setfield(L, -2, "channel_utilization");
-
-                               lua_pushnumber(L, e->admission_capacity);
-                               lua_setfield(L, -2, "admission_capacity");
-                       }
-
                        /* Crypto */
                        iwinfo_L_cryptotable(L, &e->crypto);
                        lua_setfield(L, -2, "encryption");
@@ -539,6 +551,9 @@ static int iwinfo_L_hwmodelist(lua_State *L, int (*func)(const char *, int *))
                lua_pushboolean(L, hwmodes & IWINFO_80211_AD);
                lua_setfield(L, -2, "ad");
 
+               lua_pushboolean(L, hwmodes & IWINFO_80211_AX);
+               lua_setfield(L, -2, "ax");
+
                return 1;
        }
 
@@ -763,6 +778,7 @@ LUA_WRAP_STRUCT_OP(nl80211,hardware_id)
 #endif
 
 /* Wext */
+#ifdef USE_WEXT
 LUA_WRAP_INT_OP(wext,channel)
 LUA_WRAP_INT_OP(wext,frequency)
 LUA_WRAP_INT_OP(wext,frequency_offset)
@@ -789,6 +805,7 @@ LUA_WRAP_STRUCT_OP(wext,htmodelist)
 LUA_WRAP_STRUCT_OP(wext,encryption)
 LUA_WRAP_STRUCT_OP(wext,mbssid_support)
 LUA_WRAP_STRUCT_OP(wext,hardware_id)
+#endif
 
 #ifdef USE_WL
 /* Broadcom table */
@@ -890,6 +907,7 @@ static const luaL_reg R_nl80211[] = {
 #endif
 
 /* Wext table */
+#ifdef USE_WEXT
 static const luaL_reg R_wext[] = {
        LUA_REG(wext,channel),
        LUA_REG(wext,frequency),
@@ -919,6 +937,7 @@ static const luaL_reg R_wext[] = {
        LUA_REG(wext,phyname),
        { NULL, NULL }
 };
+#endif
 
 /* Common */
 static const luaL_reg R_common[] = {
@@ -958,12 +977,14 @@ LUALIB_API int luaopen_iwinfo(lua_State *L) {
        lua_setfield(L, -2, "nl80211");
 #endif
 
+#ifdef USE_WEXT
        luaL_newmetatable(L, IWINFO_WEXT_META);
        luaL_register(L, NULL, R_common);
        luaL_register(L, NULL, R_wext);
        lua_pushvalue(L, -1);
        lua_setfield(L, -2, "__index");
        lua_setfield(L, -2, "wext");
+#endif
 
        return 1;
 }