- 论坛徽章:
- 0
|
5可用积分
iwlist.c中的
print_scanning_info()
{
.........
wrq.u.data.pointer = buffer;
wrq.u.data.flags = 0;
wrq.u.data.length = buflen;
if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0)
{
.........
}
}
通过上面的程序可以得到信道扫描结果,但是得到的是所有信道(14个)的扫描结果。
但是我想得到当前信道的扫描结果。
在wireless.h中有/* Scanning request flags */
#define IW_SCAN_DEFAULT 0x0000 /* Default scan of the driver */
#define IW_SCAN_ALL_ESSID 0x0001 /* Scan all ESSIDs */
#define IW_SCAN_THIS_ESSID 0x0002 /* Scan only this ESSID */
#define IW_SCAN_ALL_FREQ 0x0004 /* Scan all Frequencies */
#define IW_SCAN_THIS_FREQ 0x0008 /* Scan only this Frequency */
#define IW_SCAN_ALL_MODE 0x0010 /* Scan all Modes */
#define IW_SCAN_THIS_MODE 0x0020 /* Scan only this Mode */
#define IW_SCAN_ALL_RATE 0x0040 /* Scan all Bit-Rates */
#define IW_SCAN_THIS_RATE 0x0080 /* Scan only this Bit-Rate */
我想wrq.u.data.flags = IW_SCAN_THIS_FREQ 就可以实现当前信道扫描。但是没有得到想要的结果。
着一块我不太熟悉。请教!!! |
|