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

📄 bssdb.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: bssdb.h * * Purpose: Handles the Basic Service Set & Node Database functions * * Author: Lyndon Chen * * Date: July 16, 2002 * */  #ifndef __BSSDB_H__#define __BSSDB_H__#include <linux/skbuff.h>#if !defined(__80211HDR_H__)#include "80211hdr.h"#endif#if !defined(__80211MGR_H__)#include "80211mgr.h"#endif#if !defined(__CARD_H__)#include "card.h"#endif#if !defined(__MIB_H__)#include "mib.h"#endif/*---------------------  Export Definitions -------------------------*/#define MAX_NODE_NUM             64#define MAX_BSS_NUM              42#define LOST_BEACON_COUNT      	 10   // 10 sec, XP defined#define MAX_PS_TX_BUF            32   // sta max power saving tx buf#define ADHOC_LOST_BEACON_COUNT  30   // 30 sec, beacon lost for adhoc only#define MAX_INACTIVE_COUNT       300  // 300 sec, inactive STA node refresh#define USE_PROTECT_PERIOD       10   // 10 sec, Use protect mode check period#define ERP_RECOVER_COUNT        30   // 30 sec, ERP support callback check#define BSS_CLEAR_COUNT           1#define RSSI_STAT_COUNT          10#define MAX_CHECK_RSSI_COUNT     8 // STA dwflags #define WLAN_STA_AUTH            BIT0#define WLAN_STA_ASSOC           BIT1#define WLAN_STA_PS              BIT2#define WLAN_STA_TIM             BIT3 // permanent; do not remove entry on expiration #define WLAN_STA_PERM            BIT4 // If 802.1X is used, this flag is// controlling whether STA is authorized to// send and receive non-IEEE 802.1X frames#define WLAN_STA_AUTHORIZED      BIT5//#define MAX_RATE            12#define MAX_WPA_IE_LEN      64/*---------------------  Export Classes  ----------------------------*/    /*---------------------  Export Variables  --------------------------*//*---------------------  Export Types  ------------------------------*///// IEEE 802.11 Structures and definitions//typedef struct tagSERPObject {    BOOL    bERPExist;    BYTE    byERP;}ERPObject, DEF* PERPObject;typedef struct tagSRSNCapObject {    BOOL    bRSNCapExist;    WORD    wRSNCap;}SRSNCapObject, DEF* PSRSNCapObject;// BSS info(AP)  #pragma pack(1)typedef struct tagKnownBSS {    // BSS info     BOOL            bActive;    BYTE            abyBSSID[WLAN_BSSID_LEN];    UINT            uChannel;    BYTE            abySuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];    BYTE            abyExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];    UINT            uRSSI;    BYTE            bySQ;    WORD            wBeaconInterval;    WORD            wCapInfo;    BYTE            abySSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];    BYTE            byRxRate;//    WORD            wATIMWindow;            BYTE            byRSSIStatCnt;    LONG            ldBmMAX;    LONG            ldBmAverage[RSSI_STAT_COUNT];    LONG            ldBmAverRange;    //For any BSSID selection improvment    BOOL            bSelected;    //++ WPA informations    BOOL            bWPAValid;    BYTE            byGKType;    BYTE            abyPKType[4];    WORD            wPKCount;    BYTE            abyAuthType[4];    WORD            wAuthCount;    BYTE            byDefaultK_as_PK;    BYTE            byReplayIdx;    //--    //++ WPA2 informations    BOOL            bWPA2Valid;        BYTE            byCSSGK;    WORD            wCSSPKCount;    BYTE            abyCSSPK[4];    WORD            wAKMSSAuthCount;    BYTE            abyAKMSSAuthType[4];    //++  wpactl    BYTE            byWPAIE[MAX_WPA_IE_LEN];    BYTE            byRSNIE[MAX_WPA_IE_LEN];    WORD            wWPALen;    WORD            wRSNLen;        // Clear count    UINT            uClearCount;    //    BYTE            abyIEs[WLAN_BEACON_FR_MAXLEN];    UINT            uIELength;    QWORD           qwBSSTimestamp;    QWORD           qwLocalTSF;     // local TSF timer            CARD_PHY_TYPE   eNetworkTypeInUse;    ERPObject       sERP;    SRSNCapObject   sRSNCapObj;    BYTE            abyIEs[1024];   // don't move this field !!     }__attribute__ ((__packed__)) KnownBSS , DEF* PKnownBSS;typedef enum tagNODE_STATE {    NODE_FREE,    NODE_AGED,    NODE_KNOWN,    NODE_AUTH,    NODE_ASSOC} NODE_STATE, *PNODE_STATE;// STA node infotypedef struct tagKnownNodeDB {    // STA info    BOOL            bActive;    BYTE            abyMACAddr[WLAN_ADDR_LEN];    BYTE            abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN];    BYTE            abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN];        WORD            wTxDataRate;    BOOL            bShortPreamble;    BOOL            bERPExist;    BOOL            bShortSlotTime;        UINT            uInActiveCount;    WORD            wMaxBasicRate;     //Get from byTopOFDMBasicRate or byTopCCKBasicRate which depends on packetTyp.    WORD            wMaxSuppRate;      //Records the highest supported rate getting from SuppRates IE and ExtSuppRates IE in Beacon.    WORD            wSuppRate;        BYTE            byTopOFDMBasicRate;//Records the highest basic rate in OFDM mode    BYTE            byTopCCKBasicRate; //Records the highest basic rate in CCK mode                                              // For AP mode    struct sk_buff_head sTxPSQueue;        WORD            wCapInfo;    WORD            wListenInterval;    WORD            wAID;    NODE_STATE      eNodeState;    BOOL            bPSEnable;    BOOL            bRxPSPoll;    BYTE            byAuthSequence;    ULONG           ulLastRxJiffer;    BYTE            bySuppRate;    DWORD           dwFlags;    WORD            wEnQueueCnt;    BOOL            bOnFly;    ULONGLONG       KeyRSC;                            BYTE            byKeyIndex;    DWORD           dwKeyIndex;    BYTE            byCipherSuite;    DWORD           dwTSC47_16;    WORD            wTSC15_0;        UINT            uWepKeyLength;    BYTE            abyWepKey[WLAN_WEPMAX_KEYLEN];    //     // Auto rate fallback vars     BOOL            bIsInFallback;    UINT            uAverageRSSI;    UINT            uRateRecoveryTimeout;    UINT            uRatePollTimeout;    UINT            uTxFailures;    UINT            uTxAttempts;               UINT            uTxRetry;    UINT            uFailureRatio;    UINT            uRetryRatio;    UINT            uTxOk[MAX_RATE+1];    UINT            uTxFail[MAX_RATE+1];            UINT            uTimeCount;        } KnownNodeDB, DEF* PKnownNodeDB;/*---------------------  Export Functions  --------------------------*/PKnownBSSBSSpSearchBSSList(    IN HANDLE hDeviceContext,    IN PBYTE pbyDesireBSSID,    IN PBYTE pbyDesireSSID,    IN CARD_PHY_TYPE ePhyType        );PKnownBSSBSSpAddrIsInBSSList(    IN HANDLE hDeviceContext,    IN PBYTE abyBSSID,    IN PWLAN_IE_SSID pSSID        );    VOIDBSSvClearBSSList(    IN HANDLE hDeviceContext,    IN BOOL bKeepCurrBSSID    );BOOLBSSbInsertToBSSList(    IN HANDLE hDeviceContext,    IN PBYTE abyBSSIDAddr,    IN QWORD qwTimestamp,    IN WORD wBeaconInterval,    IN WORD wCapInfo,    IN BYTE byCurrChannel,    IN PWLAN_IE_SSID pSSID,    IN PWLAN_IE_SUPP_RATES pSuppRates,    IN PWLAN_IE_SUPP_RATES pExtSuppRates,    IN PERPObject psERP,    IN PWLAN_IE_RSN pRSN,    IN PWLAN_IE_RSN_EXT pRSNWPA,        IN PWLAN_IE_COUNTRY pIE_Country,    IN PWLAN_IE_QUIET pIE_Quiet,        IN UINT uIELength,    IN PBYTE pbyIEs,    IN HANDLE pRxPacketContext    );BOOLBSSbUpdateToBSSList(    IN HANDLE hDeviceContext,    IN QWORD qwTimestamp,    IN WORD wBeaconInterval,    IN WORD wCapInfo,    IN BYTE byCurrChannel,      IN BOOL bChannelHit,          IN PWLAN_IE_SSID pSSID,    IN PWLAN_IE_SUPP_RATES pSuppRates,    IN PWLAN_IE_SUPP_RATES pExtSuppRates,    IN PERPObject psERP,    IN PWLAN_IE_RSN pRSN,    IN PWLAN_IE_RSN_EXT pRSNWPA,        IN PWLAN_IE_COUNTRY pIE_Country,    IN PWLAN_IE_QUIET pIE_Quiet,        IN PKnownBSS pBSSList,    IN UINT uIELength,    IN PBYTE pbyIEs,    IN HANDLE pRxPacketContext    );    BOOLBSSbIsSTAInNodeDB(    IN HANDLE hDeviceContext,    IN PBYTE abyDstAddr,    OUT PUINT puNodeIndex    );    VOIDBSSvCreateOneNode(    IN HANDLE hDeviceContext,    OUT PUINT puNodeIndex    );VOIDBSSvUpdateAPNode(    IN HANDLE hDeviceContext,    IN PWORD pwCapInfo,    IN PWLAN_IE_SUPP_RATES pItemRates,    IN PWLAN_IE_SUPP_RATES pExtSuppRates    );VOIDBSSvSecondCallBack(    IN HANDLE hDeviceContext    );VOIDBSSvUpdateNodeTxCounter(    IN HANDLE      hDeviceContext,    IN PSStatCounter    pStatistic,    IN BYTE             byTSR,    IN BYTE             byPktNO        );    VOIDBSSvRemoveOneNode(    IN HANDLE hDeviceContext,    IN UINT uNodeIndex    );VOIDBSSvAddMulticastNode(    IN HANDLE hDeviceContext    );    VOIDBSSvClearNodeDBTable(    IN HANDLE hDeviceContext,    IN UINT uStartIndex        );VOID    BSSvClearAnyBSSJoinRecord(    IN HANDLE hDeviceContext    );    #endif //__BSSDB_H__

⌨️ 快捷键说明

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