iwinfo: print info of all existing wireless ifaces when cli is called without arguments

SVN-Revision: 36339
This commit is contained in:
Jo-Philipp Wich 2013-04-15 15:00:16 +00:00
parent eb10581ce3
commit 25ffe0446c
2 changed files with 29 additions and 2 deletions

View file

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libiwinfo PKG_NAME:=libiwinfo
PKG_RELEASE:=40 PKG_RELEASE:=41
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_CONFIG_DEPENDS := \ PKG_CONFIG_DEPENDS := \

View file

@ -17,6 +17,7 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <glob.h>
#include "iwinfo.h" #include "iwinfo.h"
@ -735,9 +736,11 @@ static void print_countrylist(const struct iwinfo_ops *iw, const char *ifname)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int i; int i;
char *p;
const struct iwinfo_ops *iw; const struct iwinfo_ops *iw;
glob_t globbuf;
if (argc < 3) if (argc > 1 && argc < 3)
{ {
fprintf(stderr, fprintf(stderr,
"Usage:\n" "Usage:\n"
@ -752,6 +755,30 @@ int main(int argc, char **argv)
return 1; return 1;
} }
if (argc == 1)
{
glob("/sys/class/net/*", 0, NULL, &globbuf);
for (i = 0; i < globbuf.gl_pathc; i++)
{
p = strrchr(globbuf.gl_pathv[i], '/');
if (!p)
continue;
iw = iwinfo_backend(++p);
if (!iw)
continue;
print_info(iw, p);
printf("\n");
}
globfree(&globbuf);
return 0;
}
iw = iwinfo_backend(argv[1]); iw = iwinfo_backend(argv[1]);
if (!iw) if (!iw)