projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
upgrade the ixp4xx ethernet driver to v0.3.1, split the Gateway 7001 support to two...
[openwrt.git]
/
package
/
broadcom-wl
/
src
/
wlc
/
wlc.c
diff --git
a/package/broadcom-wl/src/wlc/wlc.c
b/package/broadcom-wl/src/wlc/wlc.c
index
2d6b846
..
382e83a
100644
(file)
--- a/
package/broadcom-wl/src/wlc/wlc.c
+++ b/
package/broadcom-wl/src/wlc/wlc.c
@@
-92,7
+92,11
@@
struct wlc_call {
/* can't use the system include because of the stupid broadcom header files */
extern struct ether_addr *ether_aton(const char *asc);
/* can't use the system include because of the stupid broadcom header files */
extern struct ether_addr *ether_aton(const char *asc);
-extern char *ether_ntoa(const struct ether_addr *addr);
+static inline int my_ether_ntoa(unsigned char *ea, char *buf)
+{
+ return sprintf(buf, "%02x:%02x:%02x:%02x:%02x:%02x",
+ ea[0], ea[1], ea[2], ea[3], ea[4], ea[5]);
+}
/*
* find the starting point of wl.o in memory
/*
* find the starting point of wl.o in memory
@@
-476,8
+480,10
@@
static int wlc_maclist(wlc_param param, void *data, void *value)
ret = wl_ioctl(interface, (ioc >> 16) & 0xffff, wlbuf, sizeof(wlbuf));
if (!ret)
ret = wl_ioctl(interface, (ioc >> 16) & 0xffff, wlbuf, sizeof(wlbuf));
if (!ret)
- while (list->count)
- str += sprintf(str, "%s%s", ((((char *) value) == str) ? "" : " "), ether_ntoa(&list->ea[list->count-- - 1]));
+ while (list->count) {
+ str += sprintf(str, "%s", ((((char *) value) == str) ? "" : " "));
+ str += my_ether_ntoa((unsigned char *) &list->ea[list->count-- - 1], str);
+ }
return ret;
} else {
return ret;
} else {
@@
-663,13
+669,12
@@
static int wlc_ifname(wlc_param param, void *data, void *value)
static int wlc_wdsmac(wlc_param param, void *data, void *value)
{
static int wlc_wdsmac(wlc_param param, void *data, void *value)
{
-
static struct ether_addr mac
;
+
unsigned char mac[6]
;
int ret = 0;
ret = wl_ioctl(interface, WLC_WDS_GET_REMOTE_HWADDR, &mac, 6);
int ret = 0;
ret = wl_ioctl(interface, WLC_WDS_GET_REMOTE_HWADDR, &mac, 6);
- if (ret == 0) {
- strcpy((char *) value, ether_ntoa(&mac));
- }
+ if (ret == 0)
+ my_ether_ntoa(mac, value);
return ret;
}
return ret;
}
@@
-894,6
+899,20
@@
static const struct wlc_call wlc_calls[] = {
.data.str = "wme_noack",
.desc = "WME ACK disable request",
},
.data.str = "wme_noack",
.desc = "WME ACK disable request",
},
+ {
+ .name = "802.11d",
+ .param = INT,
+ .handler = wlc_ioctl,
+ .data.num = ((WLC_GET_REGULATORY << 16) | WLC_SET_REGULATORY),
+ .desc = "Enable/disable 802.11d regulatory management",
+ },
+ {
+ .name = "802.11h",
+ .param = INT,
+ .handler = wlc_ioctl,
+ .data.num = ((WLC_GET_SPECT_MANAGMENT << 16) | WLC_SET_SPECT_MANAGMENT),
+ .desc = "Enable/disable 802.11h spectrum management",
+ },
{
.name = "fragthresh",
.param = INT,
{
.name = "fragthresh",
.param = INT,
This page took
0.026516 seconds
and
4
git commands to generate.