Lines 488-493
Link Here
|
488 |
/* helper. not sure whether it's really a _s_leeping fn */ |
488 |
/* helper. not sure whether it's really a _s_leeping fn */ |
489 |
static char* |
489 |
static char* |
490 |
acx_s_scan_add_station( |
490 |
acx_s_scan_add_station( |
|
|
491 |
struct iw_request_info *info, |
491 |
acx_device_t *adev, |
492 |
acx_device_t *adev, |
492 |
char *ptr, |
493 |
char *ptr, |
493 |
char *end_buf, |
494 |
char *end_buf, |
Lines 503-516
Link Here
|
503 |
iwe.u.ap_addr.sa_family = ARPHRD_ETHER; |
504 |
iwe.u.ap_addr.sa_family = ARPHRD_ETHER; |
504 |
MAC_COPY(iwe.u.ap_addr.sa_data, bss->bssid); |
505 |
MAC_COPY(iwe.u.ap_addr.sa_data, bss->bssid); |
505 |
acxlog_mac(L_IOCTL, "scan, station address: ", bss->bssid, "\n"); |
506 |
acxlog_mac(L_IOCTL, "scan, station address: ", bss->bssid, "\n"); |
506 |
ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_ADDR_LEN); |
507 |
ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_ADDR_LEN); |
507 |
|
508 |
|
508 |
/* Add ESSID */ |
509 |
/* Add ESSID */ |
509 |
iwe.cmd = SIOCGIWESSID; |
510 |
iwe.cmd = SIOCGIWESSID; |
510 |
iwe.u.data.length = bss->essid_len; |
511 |
iwe.u.data.length = bss->essid_len; |
511 |
iwe.u.data.flags = 1; |
512 |
iwe.u.data.flags = 1; |
512 |
log(L_IOCTL, "scan, essid: %s\n", bss->essid); |
513 |
log(L_IOCTL, "scan, essid: %s\n", bss->essid); |
513 |
ptr = iwe_stream_add_point(ptr, end_buf, &iwe, bss->essid); |
514 |
ptr = iwe_stream_add_point(info, ptr, end_buf, &iwe, bss->essid); |
514 |
|
515 |
|
515 |
/* Add mode */ |
516 |
/* Add mode */ |
516 |
iwe.cmd = SIOCGIWMODE; |
517 |
iwe.cmd = SIOCGIWMODE; |
Lines 520-526
Link Here
|
520 |
else |
521 |
else |
521 |
iwe.u.mode = IW_MODE_ADHOC; |
522 |
iwe.u.mode = IW_MODE_ADHOC; |
522 |
log(L_IOCTL, "scan, mode: %d\n", iwe.u.mode); |
523 |
log(L_IOCTL, "scan, mode: %d\n", iwe.u.mode); |
523 |
ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_UINT_LEN); |
524 |
ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_UINT_LEN); |
524 |
} |
525 |
} |
525 |
|
526 |
|
526 |
/* Add frequency */ |
527 |
/* Add frequency */ |
Lines 528-534
Link Here
|
528 |
iwe.u.freq.m = acx_channel_freq[bss->channel - 1] * 100000; |
529 |
iwe.u.freq.m = acx_channel_freq[bss->channel - 1] * 100000; |
529 |
iwe.u.freq.e = 1; |
530 |
iwe.u.freq.e = 1; |
530 |
log(L_IOCTL, "scan, frequency: %d\n", iwe.u.freq.m); |
531 |
log(L_IOCTL, "scan, frequency: %d\n", iwe.u.freq.m); |
531 |
ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_FREQ_LEN); |
532 |
ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_FREQ_LEN); |
532 |
|
533 |
|
533 |
/* Add link quality */ |
534 |
/* Add link quality */ |
534 |
iwe.cmd = IWEVQUAL; |
535 |
iwe.cmd = IWEVQUAL; |
Lines 546-552
Link Here
|
546 |
iwe.u.qual.updated = 7; |
547 |
iwe.u.qual.updated = 7; |
547 |
log(L_IOCTL, "scan, link quality: %d/%d/%d\n", |
548 |
log(L_IOCTL, "scan, link quality: %d/%d/%d\n", |
548 |
iwe.u.qual.level, iwe.u.qual.noise, iwe.u.qual.qual); |
549 |
iwe.u.qual.level, iwe.u.qual.noise, iwe.u.qual.qual); |
549 |
ptr = iwe_stream_add_event(ptr, end_buf, &iwe, IW_EV_QUAL_LEN); |
550 |
ptr = iwe_stream_add_event(info, ptr, end_buf, &iwe, IW_EV_QUAL_LEN); |
550 |
|
551 |
|
551 |
/* Add encryption */ |
552 |
/* Add encryption */ |
552 |
iwe.cmd = SIOCGIWENCODE; |
553 |
iwe.cmd = SIOCGIWENCODE; |
Lines 556-562
Link Here
|
556 |
iwe.u.data.flags = IW_ENCODE_DISABLED; |
557 |
iwe.u.data.flags = IW_ENCODE_DISABLED; |
557 |
iwe.u.data.length = 0; |
558 |
iwe.u.data.length = 0; |
558 |
log(L_IOCTL, "scan, encryption flags: %X\n", iwe.u.data.flags); |
559 |
log(L_IOCTL, "scan, encryption flags: %X\n", iwe.u.data.flags); |
559 |
ptr = iwe_stream_add_point(ptr, end_buf, &iwe, bss->essid); |
560 |
ptr = iwe_stream_add_point(info, ptr, end_buf, &iwe, bss->essid); |
560 |
|
561 |
|
561 |
/* add rates */ |
562 |
/* add rates */ |
562 |
iwe.cmd = SIOCGIWRATE; |
563 |
iwe.cmd = SIOCGIWRATE; |
Lines 570-576
Link Here
|
570 |
if (rate & 1) { |
571 |
if (rate & 1) { |
571 |
iwe.u.bitrate.value = *p * 500000; /* units of 500kb/s */ |
572 |
iwe.u.bitrate.value = *p * 500000; /* units of 500kb/s */ |
572 |
log(L_IOCTL, "scan, rate: %d\n", iwe.u.bitrate.value); |
573 |
log(L_IOCTL, "scan, rate: %d\n", iwe.u.bitrate.value); |
573 |
ptr_rate = iwe_stream_add_value(ptr, ptr_rate, end_buf, |
574 |
ptr_rate = iwe_stream_add_value(info, ptr, ptr_rate, end_buf, |
574 |
&iwe, IW_EV_PARAM_LEN); |
575 |
&iwe, IW_EV_PARAM_LEN); |
575 |
} |
576 |
} |
576 |
rate >>= 1; |
577 |
rate >>= 1; |
Lines 625-631
Link Here
|
625 |
for (i = 0; i < ARRAY_SIZE(adev->sta_list); i++) { |
626 |
for (i = 0; i < ARRAY_SIZE(adev->sta_list); i++) { |
626 |
struct client *bss = &adev->sta_list[i]; |
627 |
struct client *bss = &adev->sta_list[i]; |
627 |
if (!bss->used) continue; |
628 |
if (!bss->used) continue; |
628 |
ptr = acx_s_scan_add_station(adev, ptr, |
629 |
ptr = acx_s_scan_add_station(info, adev, ptr, |
629 |
extra + IW_SCAN_MAX_DATA, bss); |
630 |
extra + IW_SCAN_MAX_DATA, bss); |
630 |
} |
631 |
} |
631 |
dwrq->length = ptr - extra; |
632 |
dwrq->length = ptr - extra; |