projects
/
project
/
luci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libiwinfo: add restricted flag for freqlist
[project/luci.git]
/
contrib
/
package
/
iwinfo
/
src
/
iwinfo_wext.c
diff --git
a/contrib/package/iwinfo/src/iwinfo_wext.c
b/contrib/package/iwinfo/src/iwinfo_wext.c
index
8ea3802
..
298fd93
100644
(file)
--- a/
contrib/package/iwinfo/src/iwinfo_wext.c
+++ b/
contrib/package/iwinfo/src/iwinfo_wext.c
@@
-89,7
+89,10
@@
static int wext_ioctl(const char *ifname, int cmd, struct iwreq *wrq)
{
/* prepare socket */
if( ioctl_socket == -1 )
{
/* prepare socket */
if( ioctl_socket == -1 )
+ {
ioctl_socket = socket(AF_INET, SOCK_DGRAM, 0);
ioctl_socket = socket(AF_INET, SOCK_DGRAM, 0);
+ fcntl(ioctl_socket, F_SETFD, fcntl(ioctl_socket, F_GETFD) | FD_CLOEXEC);
+ }
if( !strncmp(ifname, "mon.", 4) )
strncpy(wrq->ifr_name, &ifname[4], IFNAMSIZ);
if( !strncmp(ifname, "mon.", 4) )
strncpy(wrq->ifr_name, &ifname[4], IFNAMSIZ);
@@
-110,6
+113,14
@@
int wext_probe(const char *ifname)
return 0;
}
return 0;
}
+void wext_close(void)
+{
+ wext_scan_close();
+
+ if( ioctl_socket > -1 )
+ close(ioctl_socket);
+}
+
int wext_get_mode(const char *ifname, char *buf)
{
struct iwreq wrq;
int wext_get_mode(const char *ifname, char *buf)
{
struct iwreq wrq;
@@
-184,7
+195,7
@@
int wext_get_bssid(const char *ifname, char *buf)
return 0;
}
return 0;
}
- return -1;
+ return -1;
}
int wext_get_bitrate(const char *ifname, int *buf)
}
int wext_get_bitrate(const char *ifname, int *buf)
@@
-197,7
+208,7
@@
int wext_get_bitrate(const char *ifname, int *buf)
return 0;
}
return 0;
}
- return -1;
+ return -1;
}
int wext_get_channel(const char *ifname, int *buf)
}
int wext_get_channel(const char *ifname, int *buf)
@@
-235,7
+246,7
@@
int wext_get_channel(const char *ifname, int *buf)
}
}
}
}
- return -1;
+ return -1;
}
int wext_get_frequency(const char *ifname, int *buf)
}
int wext_get_frequency(const char *ifname, int *buf)
@@
-273,7
+284,7
@@
int wext_get_frequency(const char *ifname, int *buf)
}
}
}
}
- return -1;
+ return -1;
}
int wext_get_txpower(const char *ifname, int *buf)
}
int wext_get_txpower(const char *ifname, int *buf)
@@
-413,7
+424,7
@@
int wext_get_txpwrlist(const char *ifname, char *buf, int *len)
return 0;
}
return 0;
}
- return -1;
+ return -1;
}
int wext_get_freqlist(const char *ifname, char *buf, int *len)
}
int wext_get_freqlist(const char *ifname, char *buf, int *len)
@@
-433,8
+444,9
@@
int wext_get_freqlist(const char *ifname, char *buf, int *len)
for(i = 0; i < range.num_frequency; i++)
{
for(i = 0; i < range.num_frequency; i++)
{
- entry.mhz = wext_freq2mhz(&range.freq[i]);
- entry.channel = range.freq[i].i;
+ entry.mhz = wext_freq2mhz(&range.freq[i]);
+ entry.channel = range.freq[i].i;
+ entry.restricted = 0;
memcpy(&buf[bl], &entry, sizeof(struct iwinfo_freqlist_entry));
bl += sizeof(struct iwinfo_freqlist_entry);
memcpy(&buf[bl], &entry, sizeof(struct iwinfo_freqlist_entry));
bl += sizeof(struct iwinfo_freqlist_entry);
@@
-447,6
+459,18
@@
int wext_get_freqlist(const char *ifname, char *buf, int *len)
return -1;
}
return -1;
}
+int wext_get_country(const char *ifname, char *buf)
+{
+ sprintf(buf, "00");
+ return 0;
+}
+
+int wext_get_countrylist(const char *ifname, char *buf, int *len)
+{
+ /* Stub */
+ return -1;
+}
+
int wext_get_encryption(const char *ifname, char *buf)
{
/* No reliable crypto info in wext */
int wext_get_encryption(const char *ifname, char *buf)
{
/* No reliable crypto info in wext */
@@
-458,4
+482,3
@@
int wext_get_mbssid_support(const char *ifname, int *buf)
/* No multi bssid support atm */
return -1;
}
/* No multi bssid support atm */
return -1;
}
-