⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmgr.c

📁 VIA VT6656 USB linux source code.
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. * All rights reserved. * * This software is copyrighted by and is the sole property of * VIA Networking Technologies, Inc. This software may only be used * in accordance with the corresponding license agreement. Any unauthorized * use, duplication, transmission, distribution, or disclosure of this * software is expressly forbidden. * * This software is provided by VIA Networking Technologies, Inc. "as is" * and any express or implied warranties, including, but not limited to, the * implied warranties of merchantability and fitness for a particular purpose * are disclaimed. In no event shall VIA Networking Technologies, Inc. * be liable for any direct, indirect, incidental, special, exemplary, or * consequential damages. *  * * File: wmgr.c * * Purpose: Handles the 802.11 management functions * * Author: Lyndon Chen * * Date: May 8, 2002 * * Functions:  *      nsMgrObjectInitial - Initialize Management Objet data structure *      vMgrObjectReset - Reset Management Objet data structure *      vMgrAssocBeginSta - Start associate function *      vMgrReAssocBeginSta - Start reassociate function *      vMgrDisassocBeginSta - Start disassociate function *      s_vMgrRxAssocRequest - Handle Rcv associate_request *      s_vMgrRxAssocResponse - Handle Rcv associate_response *      vMrgAuthenBeginSta - Start authentication function *      vMgrDeAuthenDeginSta - Start deauthentication function *      s_vMgrRxAuthentication - Handle Rcv authentication  *      s_vMgrRxAuthenSequence_1 - Handle Rcv authentication sequence 1 *      s_vMgrRxAuthenSequence_2 - Handle Rcv authentication sequence 2 *      s_vMgrRxAuthenSequence_3 - Handle Rcv authentication sequence 3 *      s_vMgrRxAuthenSequence_4 - Handle Rcv authentication sequence 4 *      s_vMgrRxDisassociation - Handle Rcv disassociation *      s_vMgrRxBeacon - Handle Rcv Beacon  *      vMgrCreateOwnIBSS - Create ad_hoc IBSS or AP BSS *      vMgrJoinBSSBegin - Join BSS function *      s_vMgrSynchBSS - Synch & adopt BSS parameters *      s_MgrMakeBeacon - Create Baecon frame *      s_MgrMakeProbeResponse - Create Probe Response frame *      s_MgrMakeAssocRequest - Create Associate Request frame *      s_MgrMakeReAssocRequest - Create ReAssociate Request frame *      s_vMgrRxProbeResponse - Handle Rcv probe_response *      s_vMrgRxProbeRequest - Handle Rcv probe_request *      bMgrPrepareBeaconToSend - Prepare Beacon frame *      s_vMgrLogStatus - Log 802.11 Status *      vMgrRxManagePacket - Rcv management frame dispatch function *      s_vMgrFormatTIM- Assember TIM field of beacon *      vMgrTimerInit- Initial 1-sec and command call back funtions *  * Revision History: * */#if !defined(__TMACRO_H__)#include "tmacro.h"#endif#if !defined(__TBIT_H__)#include "tbit.h"#endif#if !defined(__DESC_H__)#include "desc.h"#endif#if !defined(__DEVICE_H__)#include "device.h"#endif#if !defined(__CARD_H__)#include "card.h"#endif#if !defined(__80211HDR_H__)#include "80211hdr.h"#endif#if !defined(__80211MGR_H__)#include "80211mgr.h"#endif#if !defined(__WMGR_H__)#include "wmgr.h"#endif#if !defined(__WCMD_H__)#include "wcmd.h"#endif#if !defined(__MAC_H__)#include "mac.h"#endif#if !defined(__BSSDB_H__)#include "bssdb.h"#endif#if !defined(__POWER_H__)#include "power.h"#endif#if !defined(__DATARATE_H__)#include "datarate.h"#endif#if !defined(__BASEBAND_H__)#include "baseband.h"#endif                      #if !defined(__RXTX_H__)#include "rxtx.h"#endif#if !defined(__WPA_H__)#include "wpa.h"#endif#if !defined(__RF_H__)#include "rf.h"#endif#if !defined(__UMEM_H__)#include "umem.h"#endif#if !defined(__IOWPA_H__)#include "iowpa.h"#endif#if !defined(__CONTROL_H__)#include "control.h"#endif#if !defined(__RNDIS_H__)#include "rndis.h"#endif/*---------------------  Static Definitions -------------------------*//*---------------------  Static Classes  ----------------------------*//*---------------------  Static Variables  --------------------------*/static int          msglevel                =MSG_LEVEL_INFO;//static int          msglevel                =MSG_LEVEL_DEBUG;/*---------------------  Static Functions  --------------------------*/// Association/diassociation functionsstaticPSTxMgmtPackets_MgrMakeAssocRequest(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN PBYTE pDAddr,     IN WORD wCurrCapInfo,    IN WORD wListenInterval,    IN PWLAN_IE_SSID pCurrSSID,    IN PWLAN_IE_SUPP_RATES pCurrRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates        );    staticVOIDs_vMgrRxAssocRequest(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket,    IN UINT  uNodeIndex    );    staticPSTxMgmtPackets_MgrMakeReAssocRequest(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN PBYTE pDAddr,     IN WORD wCurrCapInfo,    IN WORD wListenInterval,    IN PWLAN_IE_SSID pCurrSSID,    IN PWLAN_IE_SUPP_RATES pCurrRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates        );          staticVOIDs_vMgrRxAssocResponse(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket,    IN BOOL bReAssocType    );    staticVOIDs_vMgrRxDisassociation(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket    );            // Authentication/deauthen functionsstaticVOIDs_vMgrRxAuthenSequence_1(     IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PWLAN_FR_AUTHEN pFrame    );staticVOIDs_vMgrRxAuthenSequence_2(     IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PWLAN_FR_AUTHEN pFrame    );    staticVOIDs_vMgrRxAuthenSequence_3(     IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PWLAN_FR_AUTHEN pFrame    );    staticVOIDs_vMgrRxAuthenSequence_4(     IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PWLAN_FR_AUTHEN pFrame    );    staticVOIDs_vMgrRxAuthentication(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket    );        staticVOID s_vMgrRxDeauthentication(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket    );// Scan functions// probe request/response functionsstaticVOIDs_vMgrRxProbeRequest(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket    );    staticVOIDs_vMgrRxProbeResponse(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket    );    // beacon functions    staticVOIDs_vMgrRxBeacon(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,    IN PSRxMgmtPacket pRxPacket,    IN BOOL bInScan    );    staticVOIDs_vMgrFormatTIM(    IN PSMgmtObject pMgmt,    IN PWLAN_IE_TIM pTIM        );    static    PSTxMgmtPackets_MgrMakeBeacon(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN WORD wCurrCapInfo,     IN WORD wCurrBeaconPeriod,    IN UINT uCurrChannel,    IN WORD wCurrATIMWinodw,    IN PWLAN_IE_SSID pCurrSSID,    IN PBYTE pCurrBSSID,    IN PWLAN_IE_SUPP_RATES pCurrSuppRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates            );                    // Association response staticPSTxMgmtPackets_MgrMakeAssocResponse(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN WORD wCurrCapInfo,     IN WORD wAssocStatus,    IN WORD wAssocAID,    IN PBYTE pDstAddr,    IN PWLAN_IE_SUPP_RATES pCurrSuppRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates            );                // ReAssociation response staticPSTxMgmtPackets_MgrMakeReAssocResponse(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN WORD wCurrCapInfo,     IN WORD wAssocStatus,    IN WORD wAssocAID,    IN PBYTE pDstAddr,    IN PWLAN_IE_SUPP_RATES pCurrSuppRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates            );                        // Probe responsestaticPSTxMgmtPackets_MgrMakeProbeResponse(    IN PSDevice pDevice,    IN PSMgmtObject pMgmt,     IN WORD wCurrCapInfo,     IN WORD wCurrBeaconPeriod,    IN UINT uCurrChannel,    IN WORD wCurrATIMWinodw,        IN PBYTE pDstAddr,    IN PWLAN_IE_SSID pCurrSSID,    IN PBYTE pCurrBSSID,    IN PWLAN_IE_SUPP_RATES pCurrSuppRates,    IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates,    IN BYTE byPHYType    );    // received statusstaticVOIDs_vMgrLogStatus(    IN PSMgmtObject pMgmt,    IN WORD wStatus    );        staticVOIDs_vMgrSynchBSS (    IN PSDevice      pDevice,    IN UINT          uBSSMode,    IN PKnownBSS     pCurr,    OUT PCMD_STATUS  pStatus    );            static BOOLs_bCipherMatch (    IN PKnownBSS                        pBSSNode,    IN NDIS_802_11_ENCRYPTION_STATUS    EncStatus,    OUT PBYTE                           pbyCCSPK,    OUT PBYTE                           pbyCCSGK    );       /*---------------------  Export Variables  --------------------------*//*---------------------  Export Functions  --------------------------*//*+ *  * Routine Description: *    Allocates and initializes the Management object.   * * Return Value: *    Ndis_staus. *-*/VOIDvMgrObjectInit(    IN  HANDLE hDeviceContext    ){    PSDevice     pDevice = (PSDevice)hDeviceContext;    PSMgmtObject    pMgmt = &(pDevice->sMgmtObj);    int ii;        pMgmt->pbyPSPacketPool = &pMgmt->byPSPacketPool[0];    pMgmt->pbyMgmtPacketPool = &pMgmt->byMgmtPacketPool[0];    pMgmt->uCurrChannel = pDevice->uChannel;    for(ii=0;ii<WLAN_BSSID_LEN;ii++) {        pMgmt->abyDesireBSSID[ii] = 0xFF;    }    pMgmt->sAssocInfo.AssocInfo.Length = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION);        //memset(pMgmt->abyDesireSSID, 0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN +1);       pMgmt->byCSSPK = KEY_CTL_NONE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -