cli: add command to translate uci section to phy name
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
parent
665809c7f3
commit
149ce00582
1 changed files with 81 additions and 32 deletions
113
iwinfo_cli.c
113
iwinfo_cli.c
|
@ -744,10 +744,29 @@ static void print_countrylist(const struct iwinfo_ops *iw, const char *ifname)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void lookup_phy(const struct iwinfo_ops *iw, const char *section)
|
||||||
|
{
|
||||||
|
char buf[IWINFO_BUFSIZE];
|
||||||
|
|
||||||
|
if (!iw->lookup_phy)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Not supported\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iw->lookup_phy(section, buf))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Phy not found\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("%s\n", buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i, rv = 0;
|
||||||
char *p;
|
char *p;
|
||||||
const struct iwinfo_ops *iw;
|
const struct iwinfo_ops *iw;
|
||||||
glob_t globbuf;
|
glob_t globbuf;
|
||||||
|
@ -762,6 +781,7 @@ int main(int argc, char **argv)
|
||||||
" iwinfo <device> freqlist\n"
|
" iwinfo <device> freqlist\n"
|
||||||
" iwinfo <device> assoclist\n"
|
" iwinfo <device> assoclist\n"
|
||||||
" iwinfo <device> countrylist\n"
|
" iwinfo <device> countrylist\n"
|
||||||
|
" iwinfo <backend> phyname <section>\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -791,49 +811,78 @@ int main(int argc, char **argv)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
iw = iwinfo_backend(argv[1]);
|
if (argc > 3)
|
||||||
|
|
||||||
if (!iw)
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "No such wireless device: %s\n", argv[1]);
|
iw = iwinfo_backend_by_name(argv[1]);
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 2; i < argc; i++)
|
if (!iw)
|
||||||
{
|
|
||||||
switch(argv[i][0])
|
|
||||||
{
|
{
|
||||||
case 'i':
|
fprintf(stderr, "No such wireless backend: %s\n", argv[1]);
|
||||||
print_info(iw, argv[1]);
|
rv = 1;
|
||||||
break;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (argv[2][0])
|
||||||
|
{
|
||||||
|
case 'p':
|
||||||
|
lookup_phy(iw, argv[3]);
|
||||||
|
break;
|
||||||
|
|
||||||
case 's':
|
default:
|
||||||
print_scanlist(iw, argv[1]);
|
fprintf(stderr, "Unknown command: %s\n", argv[2]);
|
||||||
break;
|
rv = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iw = iwinfo_backend(argv[1]);
|
||||||
|
|
||||||
case 't':
|
if (!iw)
|
||||||
print_txpwrlist(iw, argv[1]);
|
{
|
||||||
break;
|
fprintf(stderr, "No such wireless device: %s\n", argv[1]);
|
||||||
|
rv = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (i = 2; i < argc; i++)
|
||||||
|
{
|
||||||
|
switch(argv[i][0])
|
||||||
|
{
|
||||||
|
case 'i':
|
||||||
|
print_info(iw, argv[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'f':
|
case 's':
|
||||||
print_freqlist(iw, argv[1]);
|
print_scanlist(iw, argv[1]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'a':
|
case 't':
|
||||||
print_assoclist(iw, argv[1]);
|
print_txpwrlist(iw, argv[1]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'c':
|
case 'f':
|
||||||
print_countrylist(iw, argv[1]);
|
print_freqlist(iw, argv[1]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
case 'a':
|
||||||
fprintf(stderr, "Unknown command: %s\n", argv[i]);
|
print_assoclist(iw, argv[1]);
|
||||||
return 1;
|
break;
|
||||||
|
|
||||||
|
case 'c':
|
||||||
|
print_countrylist(iw, argv[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "Unknown command: %s\n", argv[i]);
|
||||||
|
rv = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out:
|
||||||
iwinfo_finish();
|
iwinfo_finish();
|
||||||
|
|
||||||
return 0;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue