static
 void
 s_vProbeChannel(
-       PSDevice pDevice
+       struct vnt_private *pDevice
 );
 
 static
 PSTxMgmtPacket
 s_MgrMakeProbeRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pScanBSSID,
        PWLAN_IE_SSID pSSID,
 static
 bool
 s_bCommandComplete(
-       PSDevice pDevice
+       struct vnt_private *pDevice
 );
 
 /*---------------------  Export Variables  --------------------------*/
  */
 static
 void
-vAdHocBeaconStop(PSDevice  pDevice)
+vAdHocBeaconStop(struct vnt_private *pDevice)
 {
        PSMgmtObject    pMgmt = &(pDevice->sMgmtObj);
        bool bStop;
  */
 static
 void
-vAdHocBeaconRestart(PSDevice pDevice)
+vAdHocBeaconRestart(struct vnt_private *pDevice)
 {
        PSMgmtObject    pMgmt = &(pDevice->sMgmtObj);
 
 static
 void
 s_vProbeChannel(
-       PSDevice pDevice
+       struct vnt_private *pDevice
 )
 {
        //1M,   2M,   5M,   11M,  18M,  24M,  36M,  54M
 
 static PSTxMgmtPacket
 s_MgrMakeProbeRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pScanBSSID,
        PWLAN_IE_SSID pSSID,
        unsigned int MSecond
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
 
        init_timer(&pDevice->sTimerCommand);
        pDevice->sTimerCommand.data = (unsigned long) pDevice;
        void *hDeviceContext
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject    pMgmt = pDevice->pMgmt;
        PWLAN_IE_SSID   pItemSSID;
        PWLAN_IE_SSID   pItemSSIDCurr;
 static
 bool
 s_bCommandComplete(
-       PSDevice pDevice
+       struct vnt_private *pDevice
 )
 {
        PWLAN_IE_SSID pSSID;
        unsigned char *pbyItem0
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
 
        if (pDevice->cbFreeCmdQueue == 0)
                return false;
        void *hDeviceContext
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        unsigned int uCmdDequeueIdx = pDevice->uCmdDequeueIdx;
        unsigned int ii;
 
        void *hDeviceContext
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
 
        //delete timer
        del_timer(&pDevice->sTimerCommand);
        void *hDeviceContext
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject  pMgmt = &(pDevice->sMgmtObj);
 
        pDevice->nTxDataTimeCout++;
 
 /*---------------------  Static Functions  --------------------------*/
 //2008-8-4 <add> by chester
 static bool ChannelExceedZoneType(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        unsigned char byCurrChannel
 );
 
 static
 PSTxMgmtPacket
 s_MgrMakeAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pDAddr,
        unsigned short wCurrCapInfo,
 static
 void
 s_vMgrRxAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        unsigned int uNodeIndex
 static
 PSTxMgmtPacket
 s_MgrMakeReAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pDAddr,
        unsigned short wCurrCapInfo,
 static
 void
 s_vMgrRxAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        bool bReAssocType
 static
 void
 s_vMgrRxDisassociation(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 );
 static
 void
 s_vMgrRxAuthenSequence_1(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 );
 static
 void
 s_vMgrRxAuthenSequence_2(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 );
 static
 void
 s_vMgrRxAuthenSequence_3(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 );
 static
 void
 s_vMgrRxAuthenSequence_4(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 );
 static
 void
 s_vMgrRxAuthentication(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 );
 static
 void
 s_vMgrRxDeauthentication(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 );
 static
 void
 s_vMgrRxProbeRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 );
 static
 void
 s_vMgrRxProbeResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 );
 static
 void
 s_vMgrRxBeacon(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        bool bInScan
 static
 PSTxMgmtPacket
 s_MgrMakeBeacon(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wCurrBeaconPeriod,
 static
 PSTxMgmtPacket
 s_MgrMakeAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wAssocStatus,
 static
 PSTxMgmtPacket
 s_MgrMakeReAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wAssocStatus,
 static
 PSTxMgmtPacket
 s_MgrMakeProbeResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wCurrBeaconPeriod,
 static
 void
 s_vMgrSynchBSS(
-       PSDevice      pDevice,
+       struct vnt_private *pDevice,
        unsigned int uBSSMode,
        PKnownBSS     pCurr,
        PCMD_STATUS  pStatus
 );
 
 static void  Encyption_Rebuild(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PKnownBSS pCurr
 );
 
        void *hDeviceContext
 )
 {
-       PSDevice     pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject    pMgmt = pDevice->pMgmt;
        int ii;
 
        void *hDeviceContext
 )
 {
-       PSDevice     pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject    pMgmt = pDevice->pMgmt;
 
        init_timer(&pMgmt->sTimerSecondCallback);
        void *hDeviceContext
 )
 {
-       PSDevice         pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject        pMgmt = pDevice->pMgmt;
 
        pMgmt->eCurrMode = WMAC_MODE_STANDBY;
        PCMD_STATUS pStatus
 )
 {
-       PSDevice             pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSTxMgmtPacket          pTxPacket;
 
        pMgmt->wCurrCapInfo = 0;
        PCMD_STATUS pStatus
 )
 {
-       PSDevice             pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSTxMgmtPacket          pTxPacket;
 
        pMgmt->wCurrCapInfo = 0;
        PCMD_STATUS pStatus
 )
 {
-       PSDevice            pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSTxMgmtPacket      pTxPacket = NULL;
        WLAN_FR_DISASSOC    sFrame;
 
 static
 void
 s_vMgrRxAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        unsigned int uNodeIndex
 static
 void
 s_vMgrRxReAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        unsigned int uNodeIndex
 static
 void
 s_vMgrRxAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        bool bReAssocType
        PCMD_STATUS pStatus
 )
 {
-       PSDevice     pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        WLAN_FR_AUTHEN  sFrame;
        PSTxMgmtPacket  pTxPacket = NULL;
 
        PCMD_STATUS pStatus
 )
 {
-       PSDevice            pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        WLAN_FR_DEAUTHEN    sFrame;
        PSTxMgmtPacket      pTxPacket = NULL;
 
 static
 void
 s_vMgrRxAuthentication(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 )
 static
 void
 s_vMgrRxAuthenSequence_1(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 )
 
        // Insert a Node entry
        if (!BSSDBbIsSTAInNodeDB(pMgmt, pFrame->pHdr->sA3.abyAddr2, &uNodeIndex)) {
-               BSSvCreateOneNode((PSDevice)pDevice, &uNodeIndex);
+               BSSvCreateOneNode(pDevice, &uNodeIndex);
                memcpy(pMgmt->sNodeDBTable[uNodeIndex].abyMACAddr, pFrame->pHdr->sA3.abyAddr2,
                       WLAN_ADDR_LEN);
        }
 static
 void
 s_vMgrRxAuthenSequence_2(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 )
 static
 void
 s_vMgrRxAuthenSequence_3(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 )
 static
 void
 s_vMgrRxAuthenSequence_4(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PWLAN_FR_AUTHEN pFrame
 )
 static
 void
 s_vMgrRxDisassociation(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 )
 static
 void
 s_vMgrRxDeauthentication(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 )
  -*/
 static bool
 ChannelExceedZoneType(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        unsigned char byCurrChannel
 )
 {
 static
 void
 s_vMgrRxBeacon(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket,
        bool bInScan
                                // send out ps-poll packet
 
                                if (pMgmt->bInTIM)
-                                       PSvSendPSPOLL((PSDevice)pDevice);
+                                       PSvSendPSPOLL(pDevice);
 
                        } else {
                                pMgmt->bInTIMWake = false;
                                pMgmt->sNodeDBTable[uNodeIndex].uInActiveCount = 0;
                        } else {
                                // Todo, initial Node content
-                               BSSvCreateOneNode((PSDevice)pDevice, &uNodeIndex);
+                               BSSvCreateOneNode(pDevice, &uNodeIndex);
 
                                pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)sFrame.pSuppRates,
                                                                        (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates,
        PCMD_STATUS pStatus
 )
 {
-       PSDevice            pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject        pMgmt = pDevice->pMgmt;
        unsigned short wMaxBasicRate;
        unsigned short wMaxSuppRate;
        PCMD_STATUS pStatus
 )
 {
-       PSDevice     pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSMgmtObject    pMgmt = pDevice->pMgmt;
        PKnownBSS       pCurr = NULL;
        unsigned int ii, uu;
 static
 void
 s_vMgrSynchBSS(
-       PSDevice      pDevice,
+       struct vnt_private *pDevice,
        unsigned int uBSSMode,
        PKnownBSS     pCurr,
        PCMD_STATUS  pStatus
 //mike add: fix NetworkManager 0.7.0 hidden ssid mode in WPA encryption
 //                   ,need reset eAuthenMode and eEncryptionStatus
 static void  Encyption_Rebuild(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PKnownBSS pCurr
 )
 {
 static
 PSTxMgmtPacket
 s_MgrMakeBeacon(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wCurrBeaconPeriod,
 
 static PSTxMgmtPacket
 s_MgrMakeProbeResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wCurrBeaconPeriod,
 
 static PSTxMgmtPacket
 s_MgrMakeAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pDAddr,
        unsigned short wCurrCapInfo,
 
 static PSTxMgmtPacket
 s_MgrMakeReAssocRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned char *pDAddr,
        unsigned short wCurrCapInfo,
 
 static PSTxMgmtPacket
 s_MgrMakeAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wAssocStatus,
 
 static PSTxMgmtPacket
 s_MgrMakeReAssocResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        unsigned short wCurrCapInfo,
        unsigned short wAssocStatus,
 static
 void
 s_vMgrRxProbeResponse(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 )
 static
 void
 s_vMgrRxProbeRequest(
-       PSDevice pDevice,
+       struct vnt_private *pDevice,
        PSMgmtObject pMgmt,
        PSRxMgmtPacket pRxPacket
 )
        PSRxMgmtPacket pRxPacket
 )
 {
-       PSDevice    pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        bool bInScan = false;
        unsigned int uNodeIndex = 0;
        NODE_STATE  eNodeState = 0;
        PSMgmtObject pMgmt
 )
 {
-       PSDevice            pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        PSTxMgmtPacket      pTxPacket;
 
        if (pDevice->bEncryptionEnable || pDevice->bEnable8021x)
        PSRSNCapObject psRSNCapObj
 )
 {
-       PSDevice         pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
        struct pmkid_candidate *pCandidateList;
        unsigned int ii = 0;
 
        void *hDeviceContext
 )
 {
-       PSDevice        pDevice = (PSDevice)hDeviceContext;
+       struct vnt_private *pDevice = hDeviceContext;
 
        if (pDevice == NULL)
                return;