iwinfo: add hardware description for QCA MIPS WiSoCs
[project/iwinfo.git] / iwinfo_cli.c
index ca003c4c2ab8be1be760bae93b8f803bd7543c34..4976790e835670337d4dbbe6814a6ead51e64df0 100644 (file)
@@ -58,7 +58,7 @@ static char * format_channel(int ch)
 
 static char * format_frequency(int freq)
 {
-       static char buf[10];
+       static char buf[11];
 
        if (freq <= 0)
                snprintf(buf, sizeof(buf), "unknown");
@@ -158,6 +158,9 @@ static char * format_enc_ciphers(int ciphers)
        if (ciphers & IWINFO_CIPHER_CCMP)
                pos += sprintf(pos, "CCMP, ");
 
+       if (ciphers & IWINFO_CIPHER_GCMP)
+               pos += sprintf(pos, "GCMP, ");
+
        if (ciphers & IWINFO_CIPHER_WRAP)
                pos += sprintf(pos, "WRAP, ");
 
@@ -445,6 +448,24 @@ static char * print_channel(const struct iwinfo_ops *iw, const char *ifname)
        return format_channel(ch);
 }
 
+static char * print_center_chan1(const struct iwinfo_ops *iw, const char *ifname)
+{
+       int ch;
+       if (iw->center_chan1(ifname, &ch))
+               ch = -1;
+
+       return format_channel(ch);
+}
+
+static char * print_center_chan2(const struct iwinfo_ops *iw, const char *ifname)
+{
+       int ch;
+       if (iw->center_chan2(ifname, &ch))
+               ch = -1;
+
+       return format_channel(ch);
+}
+
 static char * print_frequency(const struct iwinfo_ops *iw, const char *ifname)
 {
        int freq;
@@ -566,6 +587,11 @@ static void print_info(const struct iwinfo_ops *iw, const char *ifname)
                print_mode(iw, ifname),
                print_channel(iw, ifname),
                print_frequency(iw, ifname));
+       if (iw->center_chan1 != NULL) {
+               printf("          Center Channel 1: %s",
+                       print_center_chan1(iw, ifname));
+               printf(" 2: %s\n", print_center_chan2(iw, ifname));
+       }
        printf("          Tx-Power: %s  Link Quality: %s/%s\n",
                print_txpower(iw, ifname),
                print_quality(iw, ifname),