2
0
forked from Ivasoft/openwrt

add "swconfig list" support

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36282
This commit is contained in:
John Crispin
2013-04-09 14:19:05 +00:00
parent f90f025f20
commit f13ae9965c
3 changed files with 41 additions and 0 deletions

View File

@@ -624,6 +624,36 @@ done:
return NL_SKIP;
}
static int
list_switch(struct nl_msg *msg, void *arg)
{
struct swlib_scan_arg *sa = arg;
struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
struct switch_dev *dev;
const char *name;
const char *alias;
if (nla_parse(tb, SWITCH_ATTR_MAX, genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0)
goto done;
if (!tb[SWITCH_ATTR_DEV_NAME] || !tb[SWITCH_ATTR_NAME])
goto done;
printf("Found: %s - %s\n", nla_get_string(tb[SWITCH_ATTR_DEV_NAME]),
nla_get_string(tb[SWITCH_ATTR_ALIAS]));
done:
return NL_SKIP;
}
void
swlib_list(void)
{
if (swlib_priv_init() < 0)
return;
swlib_call(SWITCH_CMD_GET_SWITCH, list_switch, NULL, NULL);
swlib_priv_free();
}
struct switch_dev *
swlib_connect(const char *name)