
if (wrq->u.encoding.flags & IW_ENCODE_RESTRICTED)
pAd->CommonCfg.AuthMode = Ndis802_11AuthModeShared;
else
pAd->CommonCfg.AuthMode = Ndis802_11AuthModeOpen;
if(pAd->CommonCfg.WepStatus == Ndis802_11WEPDisabled)
pAd->CommonCfg.AuthMode = Ndis802_11AuthModeOpen;
AP’s MAC address
SIOCSIWAP
Status = copy_from_user(&Bssid, &wrq->u.ap_addr.sa_data,
sizeof(NDIS_802_11_MAC_ADDRESS));
if (pAd->Mlme.CntlMachine.CurrState != CNTL_IDLE)
{
MlmeRestartStateMachine(pAd);
}
pAd->MlmeAux.CurrReqIsFromNdis = FALSE;
MlmeEnqueue(pAd,
MLME_CNTL_STATE_MACHINE,
OID_802_11_BSSID,
sizeof(NDIS_802_11_MAC_ADDRESS),
(VOID *)&Bssid);
Status = NDIS_STATUS_SUCCESS;
StateMachineTouched = TRUE;
Operation
Mode
SIOCSIWMODE
if(wrq->u.mode == IW_MODE_ADHOC)
{
if (pAd->CommonCfg.BssType != BSS_ADHOC)
{
pAd->bConfigChanged = TRUE;
}
pAd->CommonCfg.BssType = BSS_ADHOC;
}
else if (wrq->u.mode == IW_MODE_INFRA)
{
if (pAd->CommonCfg.BssType != BSS_INFRA)
{
48/75