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

📄 wmgr.h

📁 VIA VT6656 USB linux source code.
💻 H
字号:
/* * 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.h * * Purpose:  * * Author: lyndon chen * * Date: Jan 2, 2003 * * Functions: * * Revision History: * */ #ifndef __WMGR_H__#define __WMGR_H__#if !defined(__TTYPE_H__)#include "ttype.h"#endif#if !defined(__80211MGR_H__)#include "80211mgr.h"#endif#if !defined(__80211HDR_H__)#include "80211hdr.h"#endif#if !defined(__WCMD_H__)#include "wcmd.h"#endif#if !defined(__BSSDB_H__)#include "bssdb.h"#endif#if !defined(__WPA2_H__)#include "wpa2.h"#endif#if !defined(__CARD_H__)#include "card.h"#endif/*---------------------  Export Definitions -------------------------*/// Scan time#define PROBE_DELAY                  100  // (us)#define SWITCH_CHANNEL_DELAY         200 // (us)#define WLAN_SCAN_MINITIME           25   // (ms)#define WLAN_SCAN_MAXTIME            100  // (ms)#define TRIVIAL_SYNC_DIFFERENCE      0    // (us)#define DEFAULT_IBSS_BI              100  // (ms)#define WCMD_ACTIVE_SCAN_TIME   20 //(ms)#define WCMD_PASSIVE_SCAN_TIME  100 //(ms)#define DEFAULT_MSDU_LIFETIME           512  // ms#define DEFAULT_MSDU_LIFETIME_RES_64us  8000 // 64us#define DEFAULT_MGN_LIFETIME            8    // ms#define DEFAULT_MGN_LIFETIME_RES_64us   125  // 64us#define MAKE_BEACON_RESERVED            10  //(us)#define TIM_MULTICAST_MASK           0x01#define TIM_BITMAPOFFSET_MASK        0xFE   #define DEFAULT_DTIM_PERIOD             1#define AP_LONG_RETRY_LIMIT             4#define DEFAULT_IBSS_CHANNEL            6  //2.4G  /*---------------------  Export Classes  ----------------------------*/    /*---------------------  Export Variables  --------------------------*//*---------------------  Export Types  ------------------------------*/typedef void (*TimerFunction)(ULONG);//+++ NDIS relatedtypedef UCHAR   NDIS_802_11_MAC_ADDRESS[6];typedef struct _NDIS_802_11_AI_REQFI{    USHORT Capabilities;    USHORT ListenInterval;    NDIS_802_11_MAC_ADDRESS  CurrentAPAddress;} NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;typedef struct _NDIS_802_11_AI_RESFI{    USHORT Capabilities;    USHORT StatusCode;    USHORT AssociationId;} NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION{    ULONG                   Length;    USHORT                  AvailableRequestFixedIEs;    NDIS_802_11_AI_REQFI    RequestFixedIEs;    ULONG                   RequestIELength;    ULONG                   OffsetRequestIEs;    USHORT                  AvailableResponseFixedIEs;    NDIS_802_11_AI_RESFI    ResponseFixedIEs;    ULONG                   ResponseIELength;    ULONG                   OffsetResponseIEs;} NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;typedef struct tagSAssocInfo {    NDIS_802_11_ASSOCIATION_INFORMATION     AssocInfo;    BYTE                                    abyIEs[WLAN_BEACON_FR_MAXLEN+WLAN_BEACON_FR_MAXLEN];    // store ReqIEs set by OID_802_11_ASSOCIATION_INFORMATION    ULONG                                   RequestIELength;    BYTE                                    abyReqIEs[WLAN_BEACON_FR_MAXLEN];} SAssocInfo, DEF* PSAssocInfo;//---typedef enum tagWMAC_AUTHENTICATION_MODE {        WMAC_AUTH_OPEN,    WMAC_AUTH_SHAREKEY,    WMAC_AUTH_AUTO,    WMAC_AUTH_WPA,    WMAC_AUTH_WPAPSK,    WMAC_AUTH_WPANONE,    WMAC_AUTH_WPA2,    WMAC_AUTH_WPA2PSK,    WMAC_AUTH_MAX       // Not a real mode, defined as upper bound     #ifdef SndEvt_ToAPI     ,     WMAC_AUTH_WEPOPENEKEY,     WMAC_AUTH_WEPSHAREKEY  #endif    } WMAC_AUTHENTICATION_MODE, *PWMAC_AUTHENTICATION_MODE;// Pre-configured Mode (from XP)typedef enum tagWMAC_CONFIG_MODE {    WMAC_CONFIG_ESS_STA,        WMAC_CONFIG_IBSS_STA,    WMAC_CONFIG_AUTO,    WMAC_CONFIG_AP    } WMAC_CONFIG_MODE, *PWMAC_CONFIG_MODE;typedef enum tagWMAC_SCAN_TYPE {        WMAC_SCAN_ACTIVE,        WMAC_SCAN_PASSIVE,    WMAC_SCAN_HYBRID    } WMAC_SCAN_TYPE, *PWMAC_SCAN_TYPE;typedef enum tagWMAC_SCAN_STATE {    WMAC_NO_SCANNING,    WMAC_IS_SCANNING,    WMAC_IS_PROBEPENDING        } WMAC_SCAN_STATE, *PWMAC_SCAN_STATE;// Notes:// Basic Service Set state explained as following:// WMAC_STATE_IDLE          : no BSS is selected (Adhoc or Infra)// WMAC_STATE_STARTED       : no BSS is selected, start own IBSS (Adhoc only)// WMAC_STATE_JOINTED       : BSS is selected and synchronized (Adhoc or Infra)// WMAC_STATE_AUTHPENDING   : Authentication pending (Infra)// WMAC_STATE_AUTH          : Authenticated (Infra)// WMAC_STATE_ASSOCPENDING  : Association pending (Infra)// WMAC_STATE_ASSOC         : Associated (Infra)   typedef enum tagWMAC_BSS_STATE {    WMAC_STATE_IDLE,    WMAC_STATE_STARTED,    WMAC_STATE_JOINTED,    WMAC_STATE_AUTHPENDING,    WMAC_STATE_AUTH,    WMAC_STATE_ASSOCPENDING,    WMAC_STATE_ASSOC} WMAC_BSS_STATE, *PWMAC_BSS_STATE;// WMAC selected running mode typedef enum tagWMAC_CURRENT_MODE {        WMAC_MODE_STANDBY,    WMAC_MODE_ESS_STA,    WMAC_MODE_IBSS_STA,    WMAC_MODE_ESS_AP} WMAC_CURRENT_MODE, *PWMAC_CURRENT_MODE;typedef enum tagWMAC_POWER_MODE {        WMAC_POWER_CAM,    WMAC_POWER_FAST,    WMAC_POWER_MAX    } WMAC_POWER_MODE, *PWMAC_POWER_MODE;// Tx Managment Packet descriptortypedef struct tagSTxMgmtPacket {        PUWLAN_80211HDR     p80211Header;    UINT                cbMPDULen;    UINT                cbPayloadLen;    } STxMgmtPacket, DEF* PSTxMgmtPacket;// Rx Managment Packet descriptortypedef struct tagSRxMgmtPacket {        PUWLAN_80211HDR     p80211Header;    QWORD               qwLocalTSF;        UINT                cbMPDULen;    UINT                cbPayloadLen;    UINT                uRSSI;    BYTE                bySQ;    BYTE                byRxRate;    BYTE                byRxChannel;} SRxMgmtPacket, DEF* PSRxMgmtPacket;    typedef struct tagSMgmtObject{        PVOID                   pAdapter;        // MAC address     BYTE                    abyMACAddr[WLAN_ADDR_LEN];            // Configuration Mode     WMAC_CONFIG_MODE        eConfigMode; // MAC pre-configed mode    CARD_PHY_TYPE           eCurrentPHYMode;            // Operation state variables     WMAC_CURRENT_MODE       eCurrMode;   // MAC current connection mode     WMAC_BSS_STATE          eCurrState;  // MAC current BSS state        PKnownBSS               pCurrBSS;    BYTE                    byCSSGK;    BYTE                    byCSSPK;        //    BYTE                    abyNewSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN];//    BYTE                    abyNewExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN];        BOOL                    bCurrBSSIDFilterOn;        // Current state vars     UINT                    uCurrChannel;    BYTE                    abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];    BYTE                    abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];     BYTE                    abyCurrSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];    BYTE                    abyCurrBSSID[WLAN_BSSID_LEN];    WORD                    wCurrCapInfo;    WORD                    wCurrAID;    UINT                    uRSSITrigger;    WORD                    wCurrATIMWindow;    WORD                    wCurrBeaconPeriod;    BOOL                    bIsDS;    BYTE                    byERPContext;        CMD_STATE               eCommandState;    UINT                    uScanChannel;        // Desire joinning BSS vars     BYTE                    abyDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];    BYTE                    abyDesireBSSID[WLAN_BSSID_LEN]; //restore BSS info for Ad-Hoc mode//20080131-05,<Add> by Mike Liu#ifdef Adhoc_STA     BYTE                    abyAdHocSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];#endif    // Adhoc or AP configuration vars     WORD                    wIBSSBeaconPeriod;    WORD                    wIBSSATIMWindow;    UINT                    uIBSSChannel;    BYTE                    abyIBSSSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];    BYTE                    byAPBBType;    BYTE                    abyWPAIE[MAX_WPA_IE_LEN];    WORD                    wWPAIELen;         UINT                    uAssocCount;    BOOL                    bMoreData;             // Scan state vars     WMAC_SCAN_STATE         eScanState;      WMAC_SCAN_TYPE          eScanType;      UINT                    uScanStartCh;    UINT                    uScanEndCh;     WORD                    wScanSteps;        UINT                    uScanBSSType;    // Desire scannig vars     BYTE                    abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];         BYTE                    abyScanBSSID[WLAN_BSSID_LEN];           // Privacy     WMAC_AUTHENTICATION_MODE eAuthenMode;    BOOL                    bShareKeyAlgorithm;    BYTE                    abyChallenge[WLAN_CHALLENGE_LEN];    BOOL                    bPrivacyInvoked;        // Received beacon state vars     BOOL                    bInTIM;    BOOL                    bMulticastTIM;    BYTE                    byDTIMCount;    BYTE                    byDTIMPeriod;    // Power saving state vars    WMAC_POWER_MODE         ePSMode;    WORD                    wListenInterval;    WORD                    wCountToWakeUp;    BOOL                    bInTIMWake;    PBYTE                   pbyPSPacketPool;    BYTE                    byPSPacketPool[sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN];        BOOL                    bRxBeaconInTBTTWake;    BYTE                    abyPSTxMap[MAX_NODE_NUM + 1];        // managment command related     UINT                    uCmdBusy;    UINT                    uCmdHostAPBusy;        // managment packet pool     PBYTE                   pbyMgmtPacketPool;    BYTE                    byMgmtPacketPool[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN];                 // One second callback timer 	struct timer_list	    sTimerSecondCallback; 	       // Temporarily Rx Mgmt Packet Descriptor     SRxMgmtPacket           sRxPacket;        // link list of known bss's (scan results)     KnownBSS                sBSSList[MAX_BSS_NUM];   //link list of same bss's  //DavidWang	    KnownBSS				pSameBSS[6] ;    BOOL          Cisco_cckm ;    BYTE          Roam_dbm;        // table list of known node     // sNodeDBList[0] is reserved for AP under Infra mode    // sNodeDBList[0] is reserved for Multicast under adhoc/AP mode    KnownNodeDB             sNodeDBTable[MAX_NODE_NUM + 1];            // WPA2 PMKID Cache    SPMKIDCache             gsPMKIDCache;        BOOL                    bRoaming;        // rate fall back vars            // associate info    SAssocInfo              sAssocInfo;            // for 802.11h    BOOL                    b11hEnable;    BOOL                    bSwitchChannel;    BYTE                    byNewChannel;    PWLAN_IE_MEASURE_REP    pCurrMeasureEIDRep;    UINT                    uLengthOfRepEIDs;    BYTE                    abyCurrentMSRReq[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN];    BYTE                    abyCurrentMSRRep[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN];    BYTE                    abyIECountry[WLAN_A3FR_MAXLEN];    BYTE                    abyIBSSDFSOwner[6];    BYTE                    byIBSSDFSRecovery;            struct sk_buff  skb;        } SMgmtObject, DEF *PSMgmtObject;/*---------------------  Export Macros ------------------------------*//*---------------------  Export Functions  --------------------------*/voidvMgrObjectInit(    IN  HANDLE hDeviceContext    );    void vMgrAssocBeginSta(     IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt,    OUT PCMD_STATUS pStatus    );VOID vMgrReAssocBeginSta(     IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt,    OUT PCMD_STATUS pStatus    );        VOIDvMgrDisassocBeginSta(    IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt,        IN  PBYTE  abyDestAddress,    IN  WORD    wReason,            OUT PCMD_STATUS pStatus    );            VOIDvMgrAuthenBeginSta(    IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt,            OUT PCMD_STATUS pStatus    );    VOIDvMgrCreateOwnIBSS(      IN  HANDLE hDeviceContext,    OUT PCMD_STATUS pStatus    );       VOIDvMgrJoinBSSBegin(    IN  HANDLE hDeviceContext,        OUT PCMD_STATUS pStatus    );    VOID vMgrRxManagePacket(    IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt,    IN  PSRxMgmtPacket pRxPacket    );/*VOIDvMgrScanBegin(    IN  HANDLE hDeviceContext,        OUT PCMD_STATUS pStatus    ); */           VOIDvMgrDeAuthenBeginSta(    IN  HANDLE hDeviceContext,    IN  PSMgmtObject  pMgmt,    IN  PBYTE   abyDestAddress,    IN  WORD    wReason,    OUT PCMD_STATUS pStatus        );        BOOLbMgrPrepareBeaconToSend(    IN  HANDLE hDeviceContext,    IN  PSMgmtObject pMgmt    );            BOOLbAdd_PMKID_Candidate (    IN HANDLE    hDeviceContext,    IN PBYTE          pbyBSSID,    IN PSRSNCapObject psRSNCapObj    );VOIDvFlush_PMKID_Candidate (    IN HANDLE hDeviceContext    );           #endif // __WMGR_H__

⌨️ 快捷键说明

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