Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 265000
Collapse All | Expand All

(-)acx-20080210.orig/ioctl.c (-8 / +9 lines)
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;

Return to bug 265000