iwe.u.data.length = list->ssidLen; 
iwe.u.data.length = bss->ssidLen; 
static inline char *airo_translate_scan(struct net_device *dev,					char *current_ev,					char *end_buf,					BSSListRid *list){	struct airo_info *ai = dev->priv;	struct iw_event		iwe;		/* Temporary buffer */	u16			capabilities;	char *			current_val;	/* For rates */	int			i;	/* First entry *MUST* be the AP MAC address */	iwe.cmd = SIOCGIWAP;	iwe.u.ap_addr.sa_family = ARPHRD_ETHER;	memcpy(iwe.u.ap_addr.sa_data, list->bssid, ETH_ALEN);	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_ADDR_LEN);	/* Other entries will be displayed in the order we give them */	/* Add the ESSID */	iwe.u.data.length = list->ssidLen;	if(iwe.u.data.length > 32)		iwe.u.data.length = 32;	iwe.cmd = SIOCGIWESSID;	iwe.u.data.flags = 1;	current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, list->ssid);	/* Add mode */	iwe.cmd = SIOCGIWMODE;	capabilities = le16_to_cpu(list->cap);	if(capabilities & (CAP_ESS | CAP_IBSS)) {		if(capabilities & CAP_ESS)			iwe.u.mode = IW_MODE_MASTER;		else			iwe.u.mode = IW_MODE_ADHOC;		current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN);	}	/* Add frequency */	iwe.cmd = SIOCGIWFREQ;	iwe.u.freq.m = le16_to_cpu(list->dsChannel);	iwe.u.freq.m = frequency_list[iwe.u.freq.m] * 100000;	iwe.u.freq.e = 1;	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_FREQ_LEN);	/* Add quality statistics */	iwe.cmd = IWEVQUAL;	if (ai->rssi)		iwe.u.qual.level = 0x100 - ai->rssi[list->rssi].rssidBm;	else		iwe.u.qual.level = (list->rssi + 321) / 2;	iwe.u.qual.noise = 0;	iwe.u.qual.qual = 0;	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_QUAL_LEN);	/* Add encryption capability */	iwe.cmd = SIOCGIWENCODE;	if(capabilities & CAP_PRIVACY)		iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;	else		iwe.u.data.flags = IW_ENCODE_DISABLED;	iwe.u.data.length = 0;	current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, list->ssid);	/* Rate : stuffing multiple values in a single event require a bit	 * more of magic - Jean II */	current_val = current_ev + IW_EV_LCP_LEN;	iwe.cmd = SIOCGIWRATE;	/* Those two flags are ignored... */	iwe.u.bitrate.fixed = iwe.u.bitrate.disabled = 0;	/* Max 8 values */	for(i = 0 ; i < 8 ; i++) {		/* NULL terminated */		if(list->rates[i] == 0)			break;		/* Bit rate given in 500 kb/s units (+ 0x80) */		iwe.u.bitrate.value = ((list->rates[i] & 0x7f) * 500000);		/* Add new value to event */		current_val = iwe_stream_add_value(current_ev, current_val, end_buf, &iwe, IW_EV_PARAM_LEN);	}	/* Check if we added any event */	if((current_val - current_ev) > IW_EV_LCP_LEN)		current_ev = current_val;	/* The other data in the scan result are not really	 * interesting, so for now drop it - Jean II */	return current_ev;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/41480af27a85d6008d9e11db8bc2730407c25e1d/airo.c/clean/drivers/net/wireless/airo.c