
Fragmentation threshold
(bytes)
SIOCSIWFRAG
FragThresh = wrq->u.frag.value;
if (wrq->u.rts.disabled)
FragThresh = MAX_FRAG_THRESHOLD;
if ( (FragThresh >= MIN_FRAG_THRESHOLD) &&
(FragThresh <= MAX_FRAG_THRESHOLD))
pAd->CommonCfg.FragmentThreshold = (USHORT)FragThresh;
else if (FragThresh == 0)
pAd->CommonCfg.FragmentThreshold = MAX_FRAG_THRESHOLD;
if (pAd->CommonCfg.FragmentThreshold == MAX_FRAG_THRESHOLD)
pAd->CommonCfg.bFragmentZeroDisable = TRUE;
else
pAd->CommonCfg.bFragmentZeroDisable = FALSE;
Encoding
token & mode
SIOCSIWENCODE index = (wrq->u.encoding.flags & IW_ENCODE_INDEX) - 1;
if((index < 0) || (index >= NR_WEP_KEYS))
index = pAd->CommonCfg.DefaultKeyId; // Default key for tx (shared
key)
if(wrq->u.encoding.pointer)
{
len = wrq->u.encoding.length;
if(len > WEP_LARGE_KEY_LEN)
len = WEP_LARGE_KEY_LEN;
memset(pAd->SharedKey[index].Key, 0x00, MAX_LEN_OF_KEY);
Status = copy_from_user(pAd->SharedKey[index].Key,
wrq->u.encoding.pointer, len);
pAd->SharedKey[index].KeyLen = len <= WEP_SMALL_KEY_LEN ?
WEP_SMALL_KEY_LEN :
WEP_LARGE_KEY_LEN;
}
pAd->CommonCfg.DefaultKeyId = (UCHAR) index;
if (wrq->u.encoding.flags & IW_ENCODE_DISABLED)
pAd->CommonCfg.WepStatus = Ndis802_11WEPDisabled;
else
pAd->CommonCfg.WepStatus = Ndis802_11WEPEnabled;
47/75