diff options
Diffstat (limited to 'package/broadcom-wl/src')
| -rw-r--r-- | package/broadcom-wl/src/wlc/wlc.c | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/package/broadcom-wl/src/wlc/wlc.c b/package/broadcom-wl/src/wlc/wlc.c index 09cbb8453..2d6b846a0 100644 --- a/package/broadcom-wl/src/wlc/wlc.c +++ b/package/broadcom-wl/src/wlc/wlc.c @@ -644,6 +644,36 @@ static int wlc_wme_ac(wlc_param param, void *data, void *value)  	return ret;  } +static int wlc_ifname(wlc_param param, void *data, void *value) +{ +	char *val = (char *) value; +	int ret = 0; +	 +	if (param & SET) { +		if (strlen(val) < 16) +			strcpy(interface, val); +		else ret = -1; +	} +	if (param & GET) { +		strcpy(val, interface); +	} + +	return ret; +} + +static int wlc_wdsmac(wlc_param param, void *data, void *value) +{ +	static struct ether_addr mac; +	int ret = 0; +	 +	ret = wl_ioctl(interface, WLC_WDS_GET_REMOTE_HWADDR, &mac, 6); +	if (ret == 0) { +		strcpy((char *) value, ether_ntoa(&mac)); +	} + +	return ret; +} +  static const struct wlc_call wlc_calls[] = {  	{  		.name = "version", @@ -667,6 +697,12 @@ static const struct wlc_call wlc_calls[] = {  		.desc = "Accept input from stdin"  	},  	{ +		.name = "ifname", +		.param = STRING, +		.handler = wlc_ifname, +		.desc = "interface to send commands to" +	}, +	{  		.name = "up",  		.param = NOARG,  		.handler = wlc_ioctl, @@ -957,6 +993,12 @@ static const struct wlc_call wlc_calls[] = {  		.desc = "WDS link detection timeout"  	},  	{ +		.name = "wdsmac", +		.param = STRING|NOARG, +		.handler = wlc_wdsmac, +		.desc = "MAC of the remote WDS endpoint (only with wds0.* interfaces)" +	}, +	{  		.name = "afterburner",  		.param = INT,  		.handler = wlc_afterburner, | 
