|
@@ -67,7 +67,7 @@
|
|
|
|
|
|
/*--------------------- Static Variables --------------------------*/
|
|
|
|
|
|
-static int msglevel =MSG_LEVEL_INFO;
|
|
|
+static int msglevel = MSG_LEVEL_INFO;
|
|
|
//static int msglevel =MSG_LEVEL_DEBUG;
|
|
|
/*--------------------- Static Functions --------------------------*/
|
|
|
|
|
@@ -87,26 +87,26 @@ static int msglevel =MSG_LEVEL_INFO;
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeBeacon(
|
|
|
- PWLAN_FR_BEACON pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_BEACON pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_TS);
|
|
|
- pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_BCN_INT);
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_CAPINFO);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_TS);
|
|
|
+ pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_BCN_INT);
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_CAPINFO);
|
|
|
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_BEACON_OFF_SSID;
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_BEACON_OFF_SSID;
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
/*+
|
|
@@ -118,115 +118,115 @@ vMgrEncodeBeacon(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrDecodeBeacon(
|
|
|
- PWLAN_FR_BEACON pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_BEACON pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
-
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_TS);
|
|
|
- pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_BCN_INT);
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_BEACON_OFF_CAPINFO);
|
|
|
-
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)((unsigned char *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3)))
|
|
|
- + WLAN_BEACON_OFF_SSID);
|
|
|
- while( ((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len) ){
|
|
|
-
|
|
|
- switch (pItem->byElementID) {
|
|
|
- case WLAN_EID_SSID:
|
|
|
- if (pFrame->pSSID == NULL)
|
|
|
- pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_SUPP_RATES:
|
|
|
- if (pFrame->pSuppRates == NULL)
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_FH_PARMS:
|
|
|
- //pFrame->pFHParms = (PWLAN_IE_FH_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_DS_PARMS:
|
|
|
- if (pFrame->pDSParms == NULL)
|
|
|
- pFrame->pDSParms = (PWLAN_IE_DS_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_CF_PARMS:
|
|
|
- if (pFrame->pCFParms == NULL)
|
|
|
- pFrame->pCFParms = (PWLAN_IE_CF_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_IBSS_PARMS:
|
|
|
- if (pFrame->pIBSSParms == NULL)
|
|
|
- pFrame->pIBSSParms = (PWLAN_IE_IBSS_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_TIM:
|
|
|
- if (pFrame->pTIM == NULL)
|
|
|
- pFrame->pTIM = (PWLAN_IE_TIM)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_RSN:
|
|
|
- if (pFrame->pRSN == NULL) {
|
|
|
- pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_RSN_WPA:
|
|
|
- if (pFrame->pRSNWPA == NULL) {
|
|
|
- if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
- pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_ERP:
|
|
|
- if (pFrame->pERP == NULL)
|
|
|
- pFrame->pERP = (PWLAN_IE_ERP)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_EXTSUPP_RATES:
|
|
|
- if (pFrame->pExtSuppRates == NULL)
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_COUNTRY: //7
|
|
|
- if (pFrame->pIE_Country == NULL)
|
|
|
- pFrame->pIE_Country = (PWLAN_IE_COUNTRY)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_PWR_CONSTRAINT: //32
|
|
|
- if (pFrame->pIE_PowerConstraint == NULL)
|
|
|
- pFrame->pIE_PowerConstraint = (PWLAN_IE_PW_CONST)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_CH_SWITCH: //37
|
|
|
- if (pFrame->pIE_CHSW == NULL)
|
|
|
- pFrame->pIE_CHSW = (PWLAN_IE_CH_SW)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_QUIET: //40
|
|
|
- if (pFrame->pIE_Quiet == NULL)
|
|
|
- pFrame->pIE_Quiet = (PWLAN_IE_QUIET)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_IBSS_DFS:
|
|
|
- if (pFrame->pIE_IBSSDFS == NULL)
|
|
|
- pFrame->pIE_IBSSDFS = (PWLAN_IE_IBSS_DFS)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in beacon decode.\n", pItem->byElementID);
|
|
|
- break;
|
|
|
-
|
|
|
- }
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
- }
|
|
|
-
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_TS);
|
|
|
+ pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_BCN_INT);
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_BEACON_OFF_CAPINFO);
|
|
|
+
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)((unsigned char *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3)))
|
|
|
+ + WLAN_BEACON_OFF_SSID);
|
|
|
+ while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
+
|
|
|
+ switch (pItem->byElementID) {
|
|
|
+ case WLAN_EID_SSID:
|
|
|
+ if (pFrame->pSSID == NULL)
|
|
|
+ pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_SUPP_RATES:
|
|
|
+ if (pFrame->pSuppRates == NULL)
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_FH_PARMS:
|
|
|
+ //pFrame->pFHParms = (PWLAN_IE_FH_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_DS_PARMS:
|
|
|
+ if (pFrame->pDSParms == NULL)
|
|
|
+ pFrame->pDSParms = (PWLAN_IE_DS_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_CF_PARMS:
|
|
|
+ if (pFrame->pCFParms == NULL)
|
|
|
+ pFrame->pCFParms = (PWLAN_IE_CF_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_IBSS_PARMS:
|
|
|
+ if (pFrame->pIBSSParms == NULL)
|
|
|
+ pFrame->pIBSSParms = (PWLAN_IE_IBSS_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_TIM:
|
|
|
+ if (pFrame->pTIM == NULL)
|
|
|
+ pFrame->pTIM = (PWLAN_IE_TIM)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_RSN:
|
|
|
+ if (pFrame->pRSN == NULL) {
|
|
|
+ pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_RSN_WPA:
|
|
|
+ if (pFrame->pRSNWPA == NULL) {
|
|
|
+ if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
+ pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_ERP:
|
|
|
+ if (pFrame->pERP == NULL)
|
|
|
+ pFrame->pERP = (PWLAN_IE_ERP)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_EXTSUPP_RATES:
|
|
|
+ if (pFrame->pExtSuppRates == NULL)
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_COUNTRY: //7
|
|
|
+ if (pFrame->pIE_Country == NULL)
|
|
|
+ pFrame->pIE_Country = (PWLAN_IE_COUNTRY)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_PWR_CONSTRAINT: //32
|
|
|
+ if (pFrame->pIE_PowerConstraint == NULL)
|
|
|
+ pFrame->pIE_PowerConstraint = (PWLAN_IE_PW_CONST)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_CH_SWITCH: //37
|
|
|
+ if (pFrame->pIE_CHSW == NULL)
|
|
|
+ pFrame->pIE_CHSW = (PWLAN_IE_CH_SW)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_QUIET: //40
|
|
|
+ if (pFrame->pIE_Quiet == NULL)
|
|
|
+ pFrame->pIE_Quiet = (PWLAN_IE_QUIET)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_IBSS_DFS:
|
|
|
+ if (pFrame->pIE_IBSSDFS == NULL)
|
|
|
+ pFrame->pIE_IBSSDFS = (PWLAN_IE_IBSS_DFS)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in beacon decode.\n", pItem->byElementID);
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+ }
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -239,18 +239,18 @@ vMgrDecodeBeacon(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrEncodeIBSSATIM(
|
|
|
- PWLAN_FR_IBSSATIM pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_IBSSATIM pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN;
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -263,16 +263,16 @@ vMgrEncodeIBSSATIM(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeIBSSATIM(
|
|
|
- PWLAN_FR_IBSSATIM pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_IBSSATIM pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -285,22 +285,22 @@ vMgrDecodeIBSSATIM(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeDisassociation(
|
|
|
- PWLAN_FR_DISASSOC pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_DISASSOC pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_DISASSOC_OFF_REASON);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_DISASSOC_OFF_REASON + sizeof(*(pFrame->pwReason));
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_DISASSOC_OFF_REASON);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_DISASSOC_OFF_REASON + sizeof(*(pFrame->pwReason));
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -313,20 +313,20 @@ vMgrEncodeDisassociation(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeDisassociation(
|
|
|
- PWLAN_FR_DISASSOC pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_DISASSOC pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_DISASSOC_OFF_REASON);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_DISASSOC_OFF_REASON);
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
/*+
|
|
@@ -338,22 +338,22 @@ vMgrDecodeDisassociation(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrEncodeAssocRequest(
|
|
|
- PWLAN_FR_ASSOCREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_ASSOCREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCREQ_OFF_CAP_INFO);
|
|
|
- pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCREQ_OFF_LISTEN_INT);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_ASSOCREQ_OFF_LISTEN_INT + sizeof(*(pFrame->pwListenInterval));
|
|
|
- return;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCREQ_OFF_CAP_INFO);
|
|
|
+ pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCREQ_OFF_LISTEN_INT);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_ASSOCREQ_OFF_LISTEN_INT + sizeof(*(pFrame->pwListenInterval));
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -366,61 +366,61 @@ vMgrEncodeAssocRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeAssocRequest(
|
|
|
- PWLAN_FR_ASSOCREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_ASSOCREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
-
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCREQ_OFF_CAP_INFO);
|
|
|
- pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCREQ_OFF_LISTEN_INT);
|
|
|
-
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCREQ_OFF_SSID);
|
|
|
-
|
|
|
- while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
- switch (pItem->byElementID){
|
|
|
- case WLAN_EID_SSID:
|
|
|
- if (pFrame->pSSID == NULL)
|
|
|
- pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_SUPP_RATES:
|
|
|
- if (pFrame->pSuppRates == NULL)
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_RSN:
|
|
|
- if (pFrame->pRSN == NULL) {
|
|
|
- pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_RSN_WPA:
|
|
|
- if (pFrame->pRSNWPA == NULL) {
|
|
|
- if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
- pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_EXTSUPP_RATES:
|
|
|
- if (pFrame->pExtSuppRates == NULL)
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in assocreq decode.\n",
|
|
|
- pItem->byElementID);
|
|
|
- break;
|
|
|
- }
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
- }
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCREQ_OFF_CAP_INFO);
|
|
|
+ pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCREQ_OFF_LISTEN_INT);
|
|
|
+
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCREQ_OFF_SSID);
|
|
|
+
|
|
|
+ while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
+ switch (pItem->byElementID) {
|
|
|
+ case WLAN_EID_SSID:
|
|
|
+ if (pFrame->pSSID == NULL)
|
|
|
+ pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_SUPP_RATES:
|
|
|
+ if (pFrame->pSuppRates == NULL)
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_RSN:
|
|
|
+ if (pFrame->pRSN == NULL) {
|
|
|
+ pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_RSN_WPA:
|
|
|
+ if (pFrame->pRSNWPA == NULL) {
|
|
|
+ if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
+ pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_EXTSUPP_RATES:
|
|
|
+ if (pFrame->pExtSuppRates == NULL)
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in assocreq decode.\n",
|
|
|
+ pItem->byElementID);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
/*+
|
|
@@ -432,26 +432,26 @@ vMgrDecodeAssocRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeAssocResponse(
|
|
|
- PWLAN_FR_ASSOCRESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_ASSOCRESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_CAP_INFO);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_STATUS);
|
|
|
- pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_AID);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_ASSOCRESP_OFF_AID
|
|
|
- + sizeof(*(pFrame->pwAid));
|
|
|
-
|
|
|
- return;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_CAP_INFO);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_STATUS);
|
|
|
+ pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_AID);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_ASSOCRESP_OFF_AID
|
|
|
+ + sizeof(*(pFrame->pwAid));
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -464,41 +464,41 @@ vMgrEncodeAssocResponse(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeAssocResponse(
|
|
|
- PWLAN_FR_ASSOCRESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_ASSOCRESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
-
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_CAP_INFO);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_STATUS);
|
|
|
- pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_AID);
|
|
|
-
|
|
|
- // Information elements
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_ASSOCRESP_OFF_SUPP_RATES);
|
|
|
-
|
|
|
- pItem = (PWLAN_IE)(pFrame->pSuppRates);
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
-
|
|
|
- if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) &&
|
|
|
- (pItem->byElementID == WLAN_EID_EXTSUPP_RATES)) {
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pFrame->pExtSuppRates=[%p].\n", pItem);
|
|
|
- }
|
|
|
- else {
|
|
|
- pFrame->pExtSuppRates = NULL;
|
|
|
- }
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_CAP_INFO);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_STATUS);
|
|
|
+ pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_AID);
|
|
|
+
|
|
|
+ // Information elements
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_ASSOCRESP_OFF_SUPP_RATES);
|
|
|
+
|
|
|
+ pItem = (PWLAN_IE)(pFrame->pSuppRates);
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+
|
|
|
+ if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) &&
|
|
|
+ (pItem->byElementID == WLAN_EID_EXTSUPP_RATES)) {
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pFrame->pExtSuppRates=[%p].\n", pItem);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ pFrame->pExtSuppRates = NULL;
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -511,25 +511,25 @@ vMgrDecodeAssocResponse(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeReassocRequest(
|
|
|
- PWLAN_FR_REASSOCREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_REASSOCREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_CAP_INFO);
|
|
|
- pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_LISTEN_INT);
|
|
|
- pFrame->pAddrCurrAP = (PIEEE_ADDR)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_CURR_AP);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_REASSOCREQ_OFF_CURR_AP + sizeof(*(pFrame->pAddrCurrAP));
|
|
|
-
|
|
|
- return;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_CAP_INFO);
|
|
|
+ pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_LISTEN_INT);
|
|
|
+ pFrame->pAddrCurrAP = (PIEEE_ADDR)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_CURR_AP);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_REASSOCREQ_OFF_CURR_AP + sizeof(*(pFrame->pAddrCurrAP));
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -542,65 +542,65 @@ vMgrEncodeReassocRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrDecodeReassocRequest(
|
|
|
- PWLAN_FR_REASSOCREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_REASSOCREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_CAP_INFO);
|
|
|
- pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_LISTEN_INT);
|
|
|
- pFrame->pAddrCurrAP = (PIEEE_ADDR)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_CURR_AP);
|
|
|
-
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCREQ_OFF_SSID);
|
|
|
-
|
|
|
- while(((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
-
|
|
|
- switch (pItem->byElementID){
|
|
|
- case WLAN_EID_SSID:
|
|
|
- if (pFrame->pSSID == NULL)
|
|
|
- pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_SUPP_RATES:
|
|
|
- if (pFrame->pSuppRates == NULL)
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_RSN:
|
|
|
- if (pFrame->pRSN == NULL) {
|
|
|
- pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_RSN_WPA:
|
|
|
- if (pFrame->pRSNWPA == NULL) {
|
|
|
- if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
- pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_EXTSUPP_RATES:
|
|
|
- if (pFrame->pExtSuppRates == NULL)
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
- default:
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in reassocreq decode.\n",
|
|
|
- pItem->byElementID);
|
|
|
- break;
|
|
|
- }
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
- }
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_CAP_INFO);
|
|
|
+ pFrame->pwListenInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_LISTEN_INT);
|
|
|
+ pFrame->pAddrCurrAP = (PIEEE_ADDR)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_CURR_AP);
|
|
|
+
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCREQ_OFF_SSID);
|
|
|
+
|
|
|
+ while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
+
|
|
|
+ switch (pItem->byElementID) {
|
|
|
+ case WLAN_EID_SSID:
|
|
|
+ if (pFrame->pSSID == NULL)
|
|
|
+ pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_SUPP_RATES:
|
|
|
+ if (pFrame->pSuppRates == NULL)
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_RSN:
|
|
|
+ if (pFrame->pRSN == NULL) {
|
|
|
+ pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_RSN_WPA:
|
|
|
+ if (pFrame->pRSNWPA == NULL) {
|
|
|
+ if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
+ pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_EXTSUPP_RATES:
|
|
|
+ if (pFrame->pExtSuppRates == NULL)
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Unrecognized EID=%dd in reassocreq decode.\n",
|
|
|
+ pItem->byElementID);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -614,17 +614,17 @@ vMgrDecodeReassocRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrEncodeProbeRequest(
|
|
|
- PWLAN_FR_PROBEREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_PROBEREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN;
|
|
|
- return;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
/*+
|
|
@@ -636,46 +636,46 @@ vMgrEncodeProbeRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeProbeRequest(
|
|
|
- PWLAN_FR_PROBEREQ pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_PROBEREQ pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
+ PWLAN_IE pItem;
|
|
|
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3)));
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3)));
|
|
|
|
|
|
- while( ((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len) ) {
|
|
|
+ while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
|
|
|
- switch (pItem->byElementID) {
|
|
|
- case WLAN_EID_SSID:
|
|
|
- if (pFrame->pSSID == NULL)
|
|
|
- pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
- break;
|
|
|
+ switch (pItem->byElementID) {
|
|
|
+ case WLAN_EID_SSID:
|
|
|
+ if (pFrame->pSSID == NULL)
|
|
|
+ pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
+ break;
|
|
|
|
|
|
- case WLAN_EID_SUPP_RATES:
|
|
|
- if (pFrame->pSuppRates == NULL)
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
+ case WLAN_EID_SUPP_RATES:
|
|
|
+ if (pFrame->pSuppRates == NULL)
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
|
|
|
- case WLAN_EID_EXTSUPP_RATES:
|
|
|
- if (pFrame->pExtSuppRates == NULL)
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
+ case WLAN_EID_EXTSUPP_RATES:
|
|
|
+ if (pFrame->pExtSuppRates == NULL)
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
|
|
|
- default:
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Bad EID=%dd in probereq\n", pItem->byElementID);
|
|
|
- break;
|
|
|
- }
|
|
|
+ default:
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Bad EID=%dd in probereq\n", pItem->byElementID);
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
- }
|
|
|
- return;
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -688,28 +688,28 @@ vMgrDecodeProbeRequest(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrEncodeProbeResponse(
|
|
|
- PWLAN_FR_PROBERESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_PROBERESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_TS);
|
|
|
- pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_BCN_INT);
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_CAP_INFO);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_TS);
|
|
|
+ pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_BCN_INT);
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_CAP_INFO);
|
|
|
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_PROBERESP_OFF_CAP_INFO +
|
|
|
- sizeof(*(pFrame->pwCapInfo));
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_PROBERESP_OFF_CAP_INFO +
|
|
|
+ sizeof(*(pFrame->pwCapInfo));
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -723,108 +723,108 @@ vMgrEncodeProbeResponse(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeProbeResponse(
|
|
|
- PWLAN_FR_PROBERESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_PROBERESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
-
|
|
|
-
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_TS);
|
|
|
- pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_BCN_INT);
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_CAP_INFO);
|
|
|
-
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_PROBERESP_OFF_SSID);
|
|
|
-
|
|
|
- while( ((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len) ) {
|
|
|
- switch (pItem->byElementID) {
|
|
|
- case WLAN_EID_SSID:
|
|
|
- if (pFrame->pSSID == NULL)
|
|
|
- pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_SUPP_RATES:
|
|
|
- if (pFrame->pSuppRates == NULL)
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_FH_PARMS:
|
|
|
- break;
|
|
|
- case WLAN_EID_DS_PARMS:
|
|
|
- if (pFrame->pDSParms == NULL)
|
|
|
- pFrame->pDSParms = (PWLAN_IE_DS_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_CF_PARMS:
|
|
|
- if (pFrame->pCFParms == NULL)
|
|
|
- pFrame->pCFParms = (PWLAN_IE_CF_PARMS)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_IBSS_PARMS:
|
|
|
- if (pFrame->pIBSSParms == NULL)
|
|
|
- pFrame->pIBSSParms = (PWLAN_IE_IBSS_PARMS)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_RSN:
|
|
|
- if (pFrame->pRSN == NULL) {
|
|
|
- pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_RSN_WPA:
|
|
|
- if (pFrame->pRSNWPA == NULL) {
|
|
|
- if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
- pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
- }
|
|
|
- break;
|
|
|
- case WLAN_EID_ERP:
|
|
|
- if (pFrame->pERP == NULL)
|
|
|
- pFrame->pERP = (PWLAN_IE_ERP)pItem;
|
|
|
- break;
|
|
|
- case WLAN_EID_EXTSUPP_RATES:
|
|
|
- if (pFrame->pExtSuppRates == NULL)
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_COUNTRY: //7
|
|
|
- if (pFrame->pIE_Country == NULL)
|
|
|
- pFrame->pIE_Country = (PWLAN_IE_COUNTRY)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_PWR_CONSTRAINT: //32
|
|
|
- if (pFrame->pIE_PowerConstraint == NULL)
|
|
|
- pFrame->pIE_PowerConstraint = (PWLAN_IE_PW_CONST)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_CH_SWITCH: //37
|
|
|
- if (pFrame->pIE_CHSW == NULL)
|
|
|
- pFrame->pIE_CHSW = (PWLAN_IE_CH_SW)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_QUIET: //40
|
|
|
- if (pFrame->pIE_Quiet == NULL)
|
|
|
- pFrame->pIE_Quiet = (PWLAN_IE_QUIET)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- case WLAN_EID_IBSS_DFS:
|
|
|
- if (pFrame->pIE_IBSSDFS == NULL)
|
|
|
- pFrame->pIE_IBSSDFS = (PWLAN_IE_IBSS_DFS)pItem;
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Bad EID=%dd in proberesp\n", pItem->byElementID);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
- }
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+
|
|
|
+
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pqwTimestamp = (PQWORD)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_TS);
|
|
|
+ pFrame->pwBeaconInterval = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_BCN_INT);
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_CAP_INFO);
|
|
|
+
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_PROBERESP_OFF_SSID);
|
|
|
+
|
|
|
+ while (((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) {
|
|
|
+ switch (pItem->byElementID) {
|
|
|
+ case WLAN_EID_SSID:
|
|
|
+ if (pFrame->pSSID == NULL)
|
|
|
+ pFrame->pSSID = (PWLAN_IE_SSID)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_SUPP_RATES:
|
|
|
+ if (pFrame->pSuppRates == NULL)
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_FH_PARMS:
|
|
|
+ break;
|
|
|
+ case WLAN_EID_DS_PARMS:
|
|
|
+ if (pFrame->pDSParms == NULL)
|
|
|
+ pFrame->pDSParms = (PWLAN_IE_DS_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_CF_PARMS:
|
|
|
+ if (pFrame->pCFParms == NULL)
|
|
|
+ pFrame->pCFParms = (PWLAN_IE_CF_PARMS)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_IBSS_PARMS:
|
|
|
+ if (pFrame->pIBSSParms == NULL)
|
|
|
+ pFrame->pIBSSParms = (PWLAN_IE_IBSS_PARMS)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_RSN:
|
|
|
+ if (pFrame->pRSN == NULL) {
|
|
|
+ pFrame->pRSN = (PWLAN_IE_RSN)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_RSN_WPA:
|
|
|
+ if (pFrame->pRSNWPA == NULL) {
|
|
|
+ if (WPAb_Is_RSN((PWLAN_IE_RSN_EXT)pItem) == true)
|
|
|
+ pFrame->pRSNWPA = (PWLAN_IE_RSN_EXT)pItem;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WLAN_EID_ERP:
|
|
|
+ if (pFrame->pERP == NULL)
|
|
|
+ pFrame->pERP = (PWLAN_IE_ERP)pItem;
|
|
|
+ break;
|
|
|
+ case WLAN_EID_EXTSUPP_RATES:
|
|
|
+ if (pFrame->pExtSuppRates == NULL)
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_COUNTRY: //7
|
|
|
+ if (pFrame->pIE_Country == NULL)
|
|
|
+ pFrame->pIE_Country = (PWLAN_IE_COUNTRY)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_PWR_CONSTRAINT: //32
|
|
|
+ if (pFrame->pIE_PowerConstraint == NULL)
|
|
|
+ pFrame->pIE_PowerConstraint = (PWLAN_IE_PW_CONST)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_CH_SWITCH: //37
|
|
|
+ if (pFrame->pIE_CHSW == NULL)
|
|
|
+ pFrame->pIE_CHSW = (PWLAN_IE_CH_SW)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_QUIET: //40
|
|
|
+ if (pFrame->pIE_Quiet == NULL)
|
|
|
+ pFrame->pIE_Quiet = (PWLAN_IE_QUIET)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case WLAN_EID_IBSS_DFS:
|
|
|
+ if (pFrame->pIE_IBSSDFS == NULL)
|
|
|
+ pFrame->pIE_IBSSDFS = (PWLAN_IE_IBSS_DFS)pItem;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Bad EID=%dd in proberesp\n", pItem->byElementID);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -837,25 +837,25 @@ vMgrDecodeProbeResponse(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeAuthen(
|
|
|
- PWLAN_FR_AUTHEN pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_AUTHEN pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwAuthAlgorithm = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_AUTH_ALG);
|
|
|
- pFrame->pwAuthSequence = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_AUTH_SEQ);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_STATUS);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_AUTHEN_OFF_STATUS + sizeof(*(pFrame->pwStatus));
|
|
|
-
|
|
|
- return;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwAuthAlgorithm = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_AUTH_ALG);
|
|
|
+ pFrame->pwAuthSequence = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_AUTH_SEQ);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_STATUS);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_AUTHEN_OFF_STATUS + sizeof(*(pFrame->pwStatus));
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -868,34 +868,34 @@ vMgrEncodeAuthen(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeAuthen(
|
|
|
- PWLAN_FR_AUTHEN pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_AUTHEN pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
+ PWLAN_IE pItem;
|
|
|
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwAuthAlgorithm = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_AUTH_ALG);
|
|
|
- pFrame->pwAuthSequence = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_AUTH_SEQ);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_STATUS);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwAuthAlgorithm = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_AUTH_ALG);
|
|
|
+ pFrame->pwAuthSequence = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_AUTH_SEQ);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_STATUS);
|
|
|
|
|
|
- // Information elements
|
|
|
- pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_AUTHEN_OFF_CHALLENGE);
|
|
|
+ // Information elements
|
|
|
+ pItem = (PWLAN_IE)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_AUTHEN_OFF_CHALLENGE);
|
|
|
|
|
|
- if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) && (pItem->byElementID == WLAN_EID_CHALLENGE)) {
|
|
|
- pFrame->pChallenge = (PWLAN_IE_CHALLENGE)pItem;
|
|
|
- }
|
|
|
+ if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) && (pItem->byElementID == WLAN_EID_CHALLENGE)) {
|
|
|
+ pFrame->pChallenge = (PWLAN_IE_CHALLENGE)pItem;
|
|
|
+ }
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -908,21 +908,21 @@ vMgrDecodeAuthen(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeDeauthen(
|
|
|
- PWLAN_FR_DEAUTHEN pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_DEAUTHEN pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_DEAUTHEN_OFF_REASON);
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_DEAUTHEN_OFF_REASON + sizeof(*(pFrame->pwReason));
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_DEAUTHEN_OFF_REASON);
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_DEAUTHEN_OFF_REASON + sizeof(*(pFrame->pwReason));
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -935,20 +935,20 @@ vMgrEncodeDeauthen(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrDecodeDeauthen(
|
|
|
- PWLAN_FR_DEAUTHEN pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_DEAUTHEN pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_DEAUTHEN_OFF_REASON);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwReason = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_DEAUTHEN_OFF_REASON);
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -961,26 +961,26 @@ vMgrDecodeDeauthen(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
void
|
|
|
vMgrEncodeReassocResponse(
|
|
|
- PWLAN_FR_REASSOCRESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_REASSOCRESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_CAP_INFO);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_STATUS);
|
|
|
- pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_AID);
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_CAP_INFO);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_STATUS);
|
|
|
+ pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_AID);
|
|
|
|
|
|
- pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_REASSOCRESP_OFF_AID + sizeof(*(pFrame->pwAid));
|
|
|
+ pFrame->len = WLAN_HDR_ADDR3_LEN + WLAN_REASSOCRESP_OFF_AID + sizeof(*(pFrame->pwAid));
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -993,36 +993,36 @@ vMgrEncodeReassocResponse(
|
|
|
* Return Value:
|
|
|
* None.
|
|
|
*
|
|
|
--*/
|
|
|
+ -*/
|
|
|
|
|
|
|
|
|
void
|
|
|
vMgrDecodeReassocResponse(
|
|
|
- PWLAN_FR_REASSOCRESP pFrame
|
|
|
- )
|
|
|
+ PWLAN_FR_REASSOCRESP pFrame
|
|
|
+)
|
|
|
{
|
|
|
- PWLAN_IE pItem;
|
|
|
-
|
|
|
- pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
-
|
|
|
- // Fixed Fields
|
|
|
- pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_CAP_INFO);
|
|
|
- pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_STATUS);
|
|
|
- pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_AID);
|
|
|
-
|
|
|
- //Information elements
|
|
|
- pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
- + WLAN_REASSOCRESP_OFF_SUPP_RATES);
|
|
|
-
|
|
|
- pItem = (PWLAN_IE)(pFrame->pSuppRates);
|
|
|
- pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
-
|
|
|
- if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) &&
|
|
|
- (pItem->byElementID == WLAN_EID_EXTSUPP_RATES)) {
|
|
|
- pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
- }
|
|
|
- return;
|
|
|
+ PWLAN_IE pItem;
|
|
|
+
|
|
|
+ pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf;
|
|
|
+
|
|
|
+ // Fixed Fields
|
|
|
+ pFrame->pwCapInfo = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_CAP_INFO);
|
|
|
+ pFrame->pwStatus = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_STATUS);
|
|
|
+ pFrame->pwAid = (unsigned short *)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_AID);
|
|
|
+
|
|
|
+ //Information elements
|
|
|
+ pFrame->pSuppRates = (PWLAN_IE_SUPP_RATES)(WLAN_HDR_A3_DATA_PTR(&(pFrame->pHdr->sA3))
|
|
|
+ + WLAN_REASSOCRESP_OFF_SUPP_RATES);
|
|
|
+
|
|
|
+ pItem = (PWLAN_IE)(pFrame->pSuppRates);
|
|
|
+ pItem = (PWLAN_IE)(((unsigned char *)pItem) + 2 + pItem->len);
|
|
|
+
|
|
|
+ if ((((unsigned char *)pItem) < (pFrame->pBuf + pFrame->len)) &&
|
|
|
+ (pItem->byElementID == WLAN_EID_EXTSUPP_RATES)) {
|
|
|
+ pFrame->pExtSuppRates = (PWLAN_IE_SUPP_RATES)pItem;
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|