亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? atmel.c

?? 優龍2410linux2.6.8內核源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
		dwrq->length = priv->SSID_size + 1;	}		dwrq->flags = !priv->connect_to_any_BSS; /* active */	return 0;}static int atmel_get_wap(struct net_device *dev,			 struct iw_request_info *info,			 struct sockaddr *awrq,			 char *extra){	struct atmel_private *priv = netdev_priv(dev);	memcpy(awrq->sa_data, priv->CurrentBSSID, 6);	awrq->sa_family = ARPHRD_ETHER;	return 0;}static int atmel_set_encode(struct net_device *dev,			    struct iw_request_info *info,			    struct iw_point *dwrq,			    char *extra){	struct atmel_private *priv = netdev_priv(dev);	/* Basic checking: do we have a key to set ?	 * Note : with the new API, it's impossible to get a NULL pointer.	 * Therefore, we need to check a key size == 0 instead.	 * New version of iwconfig properly set the IW_ENCODE_NOKEY flag	 * when no key is present (only change flags), but older versions	 * don't do it. - Jean II */	if (dwrq->length > 0) {		int index = (dwrq->flags & IW_ENCODE_INDEX) - 1;		int current_index = priv->default_key;		/* Check the size of the key */		if (dwrq->length > 13) {			return -EINVAL;		}		/* Check the index (none -> use current) */		if (index < 0 || index >= 4)			index = current_index;		else			priv->default_key = index;		/* Set the length */		if (dwrq->length > 5)			priv->wep_key_len[index] = 13;		else			if (dwrq->length > 0)				priv->wep_key_len[index] = 5;			else				/* Disable the key */				priv->wep_key_len[index] = 0;		/* Check if the key is not marked as invalid */		if(!(dwrq->flags & IW_ENCODE_NOKEY)) {			/* Cleanup */			memset(priv->wep_keys[index], 0, 13);			/* Copy the key in the driver */			memcpy(priv->wep_keys[index], extra, dwrq->length);		}		/* WE specify that if a valid key is set, encryption		 * should be enabled (user may turn it off later)		 * This is also how "iwconfig ethX key on" works */		if (index == current_index && 		    priv->wep_key_len[index] > 0) {			priv->wep_is_on = 1;			priv->exclude_unencrypted = 1;			if (priv->wep_key_len[index] > 5) {				priv->pairwise_cipher_suite = CIPHER_SUITE_WEP_64;				priv->encryption_level = 2;			} else {				priv->pairwise_cipher_suite = CIPHER_SUITE_WEP_128;				priv->encryption_level = 1;			}		}	} else {		/* Do we want to just set the transmit key index ? */		int index = (dwrq->flags & IW_ENCODE_INDEX) - 1;		if ( index>=0 && index < 4 ) {			priv->default_key = index;		} else			/* Don't complain if only change the mode */			if(!dwrq->flags & IW_ENCODE_MODE) {				return -EINVAL;			}	}	/* Read the flags */	if(dwrq->flags & IW_ENCODE_DISABLED) {		priv->wep_is_on = 0;		priv->encryption_level = 0; 			priv->pairwise_cipher_suite = CIPHER_SUITE_NONE;	} else {		priv->wep_is_on = 1;		if (priv->wep_key_len[priv->default_key] > 5) {			priv->pairwise_cipher_suite = CIPHER_SUITE_WEP_128;			priv->encryption_level = 2;		} else {			priv->pairwise_cipher_suite = CIPHER_SUITE_WEP_64;			priv->encryption_level = 1;		}	}	if(dwrq->flags & IW_ENCODE_RESTRICTED)		priv->exclude_unencrypted = 1;	if(dwrq->flags & IW_ENCODE_OPEN)		priv->exclude_unencrypted = 0;		return -EINPROGRESS;		/* Call commit handler */}static int atmel_get_encode(struct net_device *dev,			    struct iw_request_info *info,			    struct iw_point *dwrq,			    char *extra){	struct atmel_private *priv = netdev_priv(dev);	int index = (dwrq->flags & IW_ENCODE_INDEX) - 1;		if (!priv->wep_is_on)		dwrq->flags = IW_ENCODE_DISABLED;	else if (priv->exclude_unencrypted)		dwrq->flags = IW_ENCODE_RESTRICTED;	else		dwrq->flags = IW_ENCODE_OPEN;				/* Which key do we want ? -1 -> tx index */	if (index < 0 || index >= 4)		index = priv->default_key;	dwrq->flags |= index + 1;	/* Copy the key to the user buffer */	dwrq->length = priv->wep_key_len[index];	if (dwrq->length > 16) {		dwrq->length=0;	} else {		memset(extra, 0, 16);		memcpy(extra, priv->wep_keys[index], dwrq->length);	}		return 0;}static int atmel_get_name(struct net_device *dev,			  struct iw_request_info *info,			  char *cwrq,			  char *extra){	strcpy(cwrq, "IEEE 802.11-DS");	return 0;}static int atmel_set_rate(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_param *vwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);		if (vwrq->fixed == 0) {		priv->tx_rate = 3;		priv->auto_tx_rate = 1;	} else {		priv->auto_tx_rate = 0;				/* Which type of value ? */		if((vwrq->value < 4) && (vwrq->value >= 0)) {			/* Setting by rate index */		priv->tx_rate = vwrq->value;		} else {		/* Setting by frequency value */			switch (vwrq->value) {			case  1000000: priv->tx_rate = 0; break;			case  2000000: priv->tx_rate = 1; break;			case  5500000: priv->tx_rate = 2; break;			case 11000000: priv->tx_rate = 3; break;			default: return -EINVAL;			}		}	}	return -EINPROGRESS;}static int atmel_set_mode(struct net_device *dev,			  struct iw_request_info *info,			  __u32 *uwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	if (*uwrq != IW_MODE_ADHOC && *uwrq != IW_MODE_INFRA)		return -EINVAL;	priv->operating_mode = *uwrq;	return -EINPROGRESS;  }static int atmel_get_mode(struct net_device *dev,			  struct iw_request_info *info,			  __u32 *uwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);		*uwrq = priv->operating_mode;	return 0;}static int atmel_get_rate(struct net_device *dev,			 struct iw_request_info *info,			 struct iw_param *vwrq,			 char *extra){	struct atmel_private *priv = netdev_priv(dev);	if (priv->auto_tx_rate) {		vwrq->fixed = 0;		vwrq->value = 11000000;	} else {		vwrq->fixed = 1;		switch(priv->tx_rate) {		case 0: vwrq->value =  1000000; break;		case 1: vwrq->value =  2000000; break;		case 2: vwrq->value =  5500000; break;		case 3: vwrq->value = 11000000; break;		}	}	return 0;}static int atmel_set_power(struct net_device *dev,			   struct iw_request_info *info,			   struct iw_param *vwrq,			   char *extra){	struct atmel_private *priv = netdev_priv(dev);	priv->power_mode = vwrq->disabled ? 0 : 1;	return -EINPROGRESS;}static int atmel_get_power(struct net_device *dev,			   struct iw_request_info *info,			   struct iw_param *vwrq,			   char *extra){	struct atmel_private *priv = netdev_priv(dev);	vwrq->disabled = priv->power_mode ? 0 : 1;	vwrq->flags = IW_POWER_ON;	return 0;}static int atmel_set_retry(struct net_device *dev,			   struct iw_request_info *info,			   struct iw_param *vwrq,			   char *extra){	struct atmel_private *priv = netdev_priv(dev);		if(!vwrq->disabled && (vwrq->flags & IW_RETRY_LIMIT)) {		if(vwrq->flags & IW_RETRY_MAX)			priv->long_retry = vwrq->value;		else if (vwrq->flags & IW_RETRY_MIN)			priv->short_retry = vwrq->value;		else {			/* No modifier : set both */			priv->long_retry = vwrq->value;			priv->short_retry = vwrq->value;		}		return -EINPROGRESS;			}	   	return -EINVAL;}static int atmel_get_retry(struct net_device *dev,			   struct iw_request_info *info,			   struct iw_param *vwrq,			   char *extra){	struct atmel_private *priv = netdev_priv(dev);	vwrq->disabled = 0;      /* Can't be disabled */	/* Note : by default, display the min retry number */	if((vwrq->flags & IW_RETRY_MAX)) {		vwrq->flags = IW_RETRY_LIMIT | IW_RETRY_MAX;		vwrq->value = priv->long_retry;	} else {		vwrq->flags = IW_RETRY_LIMIT;		vwrq->value = priv->short_retry;		if(priv->long_retry != priv->short_retry)			vwrq->flags |= IW_RETRY_MIN;	}	return 0;}static int atmel_set_rts(struct net_device *dev,			 struct iw_request_info *info,			 struct iw_param *vwrq,			 char *extra){	struct atmel_private *priv = netdev_priv(dev);	int rthr = vwrq->value;	if(vwrq->disabled)		rthr = 2347;	if((rthr < 0) || (rthr > 2347)) {		return -EINVAL;	}	priv->rts_threshold = rthr;		return -EINPROGRESS;		/* Call commit handler */}static int atmel_get_rts(struct net_device *dev,			 struct iw_request_info *info,			 struct iw_param *vwrq,			 char *extra){	struct atmel_private *priv = netdev_priv(dev);		vwrq->value = priv->rts_threshold;	vwrq->disabled = (vwrq->value >= 2347);	vwrq->fixed = 1;	return 0;}static int atmel_set_frag(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_param *vwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	int fthr = vwrq->value;	if(vwrq->disabled)		fthr = 2346;	if((fthr < 256) || (fthr > 2346)) {		return -EINVAL;	}	fthr &= ~0x1;	/* Get an even value - is it really needed ??? */	priv->frag_threshold = fthr;		return -EINPROGRESS;		/* Call commit handler */}static int atmel_get_frag(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_param *vwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	vwrq->value = priv->frag_threshold;	vwrq->disabled = (vwrq->value >= 2346);	vwrq->fixed = 1;	return 0;}static const long frequency_list[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442,				2447, 2452, 2457, 2462, 2467, 2472, 2484 };static int atmel_set_freq(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_freq *fwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	int rc = -EINPROGRESS;		/* Call commit handler */		/* If setting by frequency, convert to a channel */	if((fwrq->e == 1) &&	   (fwrq->m >= (int) 241200000) &&	   (fwrq->m <= (int) 248700000)) {		int f = fwrq->m / 100000;		int c = 0;		while((c < 14) && (f != frequency_list[c]))			c++;		/* Hack to fall through... */		fwrq->e = 0;		fwrq->m = c + 1;	}	/* Setting by channel number */	if((fwrq->m > 1000) || (fwrq->e > 0))		rc = -EOPNOTSUPP;	else {		int channel = fwrq->m;		if (atmel_validate_channel(priv, channel) == 0) {			priv->channel = channel;		} else {			rc = -EINVAL;		} 	}	return rc;}static int atmel_get_freq(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_freq *fwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	fwrq->m = priv->channel;	fwrq->e = 0;	return 0;}static int atmel_set_scan(struct net_device *dev,			  struct iw_request_info *info,			  struct iw_param *vwrq,			  char *extra){	struct atmel_private *priv = netdev_priv(dev);	unsigned long flags;	/* Note : you may have realise

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合中文字幕国产| 亚洲一二三四在线| 国产精品99久久久久久宅男| 日韩一区二区视频在线观看| 免费看精品久久片| 精品日韩99亚洲| 国产成人午夜高潮毛片| 中文字幕中文字幕一区二区| 色综合久久中文综合久久97| 一区二区三区在线观看动漫| 精品视频一区 二区 三区| 亚洲mv大片欧洲mv大片精品| 日韩精品一区在线| proumb性欧美在线观看| 亚洲欧美日韩久久| 7777精品伊人久久久大香线蕉 | zzijzzij亚洲日本少妇熟睡| 亚洲欧洲一区二区在线播放| 在线观看视频一区二区| 日韩精品电影在线观看| 久久久久国产精品人| 99re这里只有精品首页| 日日噜噜夜夜狠狠视频欧美人| 欧美电视剧在线看免费| 99免费精品视频| 偷窥国产亚洲免费视频| 国产亚洲一区二区三区四区| 色噜噜狠狠色综合中国| 久久电影国产免费久久电影| 国产精品成人免费在线| 91.麻豆视频| 成人免费观看av| 日韩影院在线观看| 国产精品女主播av| 91精品国产色综合久久久蜜香臀| 国产999精品久久久久久绿帽| 男男成人高潮片免费网站| 国产欧美一区二区精品仙草咪| 91网站在线观看视频| 日韩高清电影一区| 国产精品色哟哟| 91精品国产综合久久精品麻豆| 高清日韩电视剧大全免费| 亚洲成人激情自拍| 国产精品色婷婷久久58| 欧美精品 国产精品| av中文一区二区三区| 久久成人免费日本黄色| 亚洲国产精品精华液网站| 久久精品视频一区二区三区| 欧美亚洲综合另类| 成人毛片在线观看| 激情综合五月天| 亚洲成人av一区二区三区| 中文字幕制服丝袜成人av| 欧美成人伊人久久综合网| 在线观看区一区二| 99久久精品免费观看| 激情综合色播激情啊| 一区二区三区精品视频| 中文字幕乱码久久午夜不卡| 欧美成人综合网站| 欧美一级片在线| 在线观看91精品国产入口| av在线一区二区| 国产 欧美在线| 国产综合久久久久久久久久久久| 日产国产欧美视频一区精品| 亚洲福利一二三区| 亚洲精品欧美专区| 中文字幕综合网| 中文在线资源观看网站视频免费不卡 | 久久久久久久久久久电影| 91麻豆精品国产91久久久更新时间 | 国内精品伊人久久久久av影院| 日韩福利电影在线观看| 丝袜诱惑亚洲看片| 天天av天天翘天天综合网| 亚洲高清免费视频| 亚洲成人免费观看| 丝袜国产日韩另类美女| 亚洲综合999| 性做久久久久久久免费看| 亚洲成人www| 三级欧美在线一区| 蜜臀av在线播放一区二区三区| 日本欧美一区二区在线观看| 人人爽香蕉精品| 麻豆精品视频在线观看免费| 久久精品国产久精国产| 久久99久久久欧美国产| 国产在线精品一区二区不卡了| 国产一区二区不卡| 成人激情综合网站| 日本高清不卡一区| 欧美日韩国产高清一区二区 | 日韩欧美国产电影| 亚洲欧美日韩一区二区| 亚洲视频香蕉人妖| 亚洲一区二区三区免费视频| 三级影片在线观看欧美日韩一区二区 | 亚洲欧洲国产日韩| 一区二区高清在线| 日本网站在线观看一区二区三区| 久久成人久久鬼色| 成人中文字幕合集| 在线观看亚洲成人| 日韩片之四级片| 国产欧美一区二区三区网站| 国产精品国产三级国产普通话99 | 一区二区免费看| 免费国产亚洲视频| 国产高清在线精品| 91色视频在线| 欧美一区二区三区色| 国产无遮挡一区二区三区毛片日本| 欧美国产激情一区二区三区蜜月 | 一区二区三区久久| 日韩高清在线电影| 国产成人aaa| 日本精品免费观看高清观看| 日韩午夜精品视频| 国产精品不卡在线| 免费精品视频在线| 91在线视频免费91| 欧美一级日韩免费不卡| 亚洲色图.com| 精品亚洲国产成人av制服丝袜| 99国产精品久久久久久久久久 | 欧美一卡二卡三卡| 国产精品国产成人国产三级| 亚洲123区在线观看| 欧美久久高跟鞋激| 国产精品久久久久影院| 美腿丝袜在线亚洲一区 | 欧美日本韩国一区二区三区视频| 久久免费的精品国产v∧| 亚洲成av人片一区二区| 99久久99久久久精品齐齐| 欧美大白屁股肥臀xxxxxx| 一区二区三区免费在线观看| 国产精品白丝jk白祙喷水网站| 8v天堂国产在线一区二区| 亚洲青青青在线视频| 国产精品 欧美精品| 91精品国产全国免费观看| 亚洲视频在线一区观看| 国产一区二区久久| 欧美一级午夜免费电影| 一区二区成人在线观看| av电影一区二区| 国产亚洲欧美一级| 久久精品国产秦先生| 欧美群妇大交群中文字幕| 亚洲人成网站色在线观看| 国产一区二区在线观看视频| 91精品国产91久久综合桃花| 亚洲中国最大av网站| 白白色 亚洲乱淫| 国产亚洲欧美一区在线观看| 蜜臀a∨国产成人精品| 欧美无人高清视频在线观看| 亚洲欧美综合另类在线卡通| 国产电影一区在线| 日韩一区二区中文字幕| 无吗不卡中文字幕| 欧美日韩在线精品一区二区三区激情| 综合色中文字幕| 不卡的av电影在线观看| 欧美激情一区二区三区不卡 | 日韩视频123| 日本亚洲一区二区| 欧美精选一区二区| 亚洲成av人片在www色猫咪| 欧美日韩精品福利| 亚洲妇熟xx妇色黄| 欧美喷水一区二区| 日本sm残虐另类| 精品国产sm最大网站免费看| 精一区二区三区| 欧美一二三区在线观看| 国产麻豆一精品一av一免费| 国产亚洲制服色| eeuss鲁片一区二区三区| 亚洲人成小说网站色在线| 欧美性色黄大片手机版| 午夜精品一区二区三区免费视频 | proumb性欧美在线观看| 最新国产精品久久精品| 色综合久久久久久久| 亚洲国产欧美在线| 日韩一区二区高清| 国产一区二区影院| 一区视频在线播放| 欧美剧在线免费观看网站| 韩国精品久久久| 亚洲欧美成aⅴ人在线观看| 日本精品免费观看高清观看| 肉色丝袜一区二区| 国产精品免费av|