?? rt2570sw.h
字號(hào):
ULONG EncryptCount;
ULONG KickTxCount;
ULONG TxRingErrCount;
} COUNTER_RALINK, *PCOUNTER_RALINK;
typedef struct _COUNTER_DRS {
USHORT TxQuality[MAX_LEN_OF_SUPPORTED_RATES];
UCHAR PER[MAX_LEN_OF_SUPPORTED_RATES];
UCHAR TxRateUpPenalty; // extra # of second penalty due to last unstable condition
ULONG CurrTxRateStableTime; // # of second in current TX rate
BOOLEAN fNoisyEnvironment;
UCHAR LastSecTxRateChangeAction; // 0: no change, 1:rate UP, 2:rate down
} COUNTER_DRS, *PCOUNTER_DRS;
typedef struct _COUNTER_QA {
LARGE_INTEGER CRCErrorCount;
LARGE_INTEGER RXOverFlowCount;
LARGE_INTEGER PHYErrorCount;
LARGE_INTEGER FalseCCACount;
LARGE_INTEGER U2MDataCount;
LARGE_INTEGER OtherDataCount;
LARGE_INTEGER BeaconCount;
LARGE_INTEGER othersCount;
} COUNTER_QA, *PCOUNTER_QA;
//
// Arcfour Structure Added by PaulWu
//
typedef struct _ARCFOUR
{
UINT X;
UINT Y;
UCHAR STATE[256];
} ARCFOURCONTEXT, *PARCFOURCONTEXT;
// Shared key data structure
typedef struct _WEP_KEY {
UCHAR KeyLen; // Key length for each key, 0: entry is invalid
UCHAR Key[MAX_LEN_OF_KEY]; // right now we implement 4 keys, 128 bits max
} WEP_KEY, *PWEP_KEY;
// Shared key data structure
typedef struct _WPA_KEY {
UCHAR KeyLen; // Key length for each key, 0: entry is invalid
UCHAR Key[16]; // right now we implement 4 keys, 128 bits max
UCHAR RxMic[8];
UCHAR TxMic[8];
NDIS_802_11_MAC_ADDRESS BssId; // For pairwise key only
UCHAR TxTsc[6]; // 48bit TSC value
UCHAR RxTsc[6]; // 48bit TSC value
UCHAR Type; // Indicate Pairwise / Group
} WPA_KEY, *PWPA_KEY;
// configuration to be used when this STA starts a new ADHOC network
typedef struct _IBSS_CONFIG {
USHORT BeaconPeriod;
USHORT AtimWin;
UCHAR Channel;
UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES]; // Supported rates
UCHAR SupportedRatesLen;
} IBSS_CONFIG, *PIBSS_CONFIG;
typedef struct _LED_CONTROL {
BOOLEAN fOdd;
BOOLEAN fRxActivity;
BOOLEAN fSiteSurvey;
BOOLEAN fLinkUp;
RALINK_TIMER_STRUCT BlinkTimer; // 50 ms periodic timer
// ULONG LastLedCsr;
USHORT LastLedCsr;
} LED_CONTROL;
typedef struct _BBP_TUNING_STRUCT {
BOOLEAN Enable;
UCHAR FalseCcaCountUpperBound; // 100 per sec
UCHAR FalseCcaCountLowerBound; // 10 per sec
UCHAR R17LowerBound; // specified in E2PROM
UCHAR R17UpperBound; // 0x68 according to David Tung
UCHAR CurrentR17Value;
} BBP_TUNING, *PBBP_TUNING;
typedef struct _SOFT_RX_ANT_DIVERSITY_STRUCT {
BOOLEAN PrimaryInUsed;
UCHAR PrimaryRxAnt; // 0:Ant-A, 1:Ant-B
UCHAR SecondaryRxAnt; // 0:Ant-A, 1:Ant-B
USHORT AvgRssi[2]; // AvgRssi[0]:Ant-A, AvgRssi[1]:Ant-B
RALINK_TIMER_STRUCT RxAntDiversityTimer;
} SOFT_RX_ANT_DIVERSITY, *PSOFT_RX_ANT_DIVERSITY;
// PortConfig
typedef struct _PORT_CONFIG {
// MIB:ieee802dot11.dot11smt(1).dot11StationConfigTable(1)
USHORT CapabilityInfo;
USHORT Psm; // power management mode (PWR_ACTIVE|PWR_SAVE)
USHORT BeaconPeriod; // in units of TU
USHORT CfpMaxDuration;
USHORT CfpDurRemain;
USHORT CfpCount;
USHORT CfpPeriod;
USHORT DisassocReason;
MACADDR DisassocSta;
USHORT DeauthReason;
MACADDR DeauthSta;
USHORT AuthFailReason;
MACADDR AuthFailSta;
NDIS_802_11_AUTHENTICATION_MODE AuthMode;//set by OID_802_11_AUTHENTICATION_MODE. This should match to whatever microsoft defined
NDIS_802_11_WEP_STATUS WepStatus;//set by OID_802_11_WEP_STATUS
NDIS_802_11_WEP_STATUS OrigWepStatus; // Original wep status set from OID
// Add to support different cipher suite for WPA2/WPA mode
NDIS_802_11_ENCRYPTION_STATUS GroupCipher; // Multicast cipher suite
NDIS_802_11_ENCRYPTION_STATUS PairCipher; // Unicast cipher suite
BOOLEAN bMixCipher; // Indicate current Pair & Group use different cipher suites
USHORT RsnCapability;
#if 1
// MIB:ieee802dot11.dot11smt(1).dot11WEPDefaultKeysTable(3)
WEP_KEY SharedKey[SHARE_KEY_NO];//set by OID_802_11_ADD_KEY or OID_802_11_ADD_WEP. Keep for backward compatiable
WPA_KEY PairwiseKey[PAIRWISE_KEY_NO];//set by OID_802_11_ADD_KEY
WPA_KEY GroupKey[GROUP_KEY_NO];//set by OID_802_11_ADD_KEY
WPA_KEY PskKey; // WPA PSK mode PMK
BSSID_INFO SavedPMK[PMKID_NO];
ULONG SavedPMKNum; // Saved PMKID number
UCHAR PTK[64];
#endif
// WPA 802.1x port control, WPA_802_1X_PORT_SECURED, WPA_802_1X_PORT_NOT_SECURED
UCHAR PortSecured;
// For WPA countermeasures
ULONG LastMicErrorTime; // record last MIC error time
ULONG MicErrCnt; // Should be 0, 1, 2, then reset to zero (after disassoiciation).
BOOLEAN bBlockAssoc; // Block associate attempt for 60 seconds after counter measure occurred.
// For WPA-PSK supplicant state,red, add for WPA-PSK
WPA_STATE WpaState; // Default is SS_NOTUSE and handled by microsoft 802.1x
UCHAR ReplayCounter[8];
UCHAR ANonce[32]; // ANonce for WPA-PSK from aurhenticator
UCHAR SNonce[32]; // SNonce for WPA-PSK
// MIB:ieee802dot11.dot11smt(1).dot11WEPKeyMappingsTable(4)
// not implemented yet
// MIB:ieee802dot11.dot11smt(1).dot11PrivacyTable(5)
UCHAR DefaultKeyId;//set by OID_802_11_ADD_KEY or OID_802_11_ADD_WEP
NDIS_802_11_PRIVACY_FILTER PrivacyFilter; // PrivacyFilter enum for 802.1X
// MIB:ieee802dot11.dot11mac(2).dot11OperationTable(1)
USHORT RtsThreshold; // in units of BYTE
USHORT FragmentThreshold;
BOOLEAN bFragmentZeroDisable; // Microsoft use 0 as disable
// MIB:ieee802dot11.dot11phy(4).dot11PhyAntennaTable(2)
UCHAR CurrentTxAntenna;
UCHAR CurrentRxAntenna;
UCHAR NumberOfAntenna;
// MIB:ieee802dot11.dot11phy(4).dot11PhyTxPowerTable(3)
UCHAR CurrentTxPowerLevelIndex; //default&other value=MaxPower,1=MinPower,2=1*MaxPower/4,3=2*MaxPower/4,4=3*MaxPower/4,
UCHAR TxPower;
UCHAR TxRate; // RATE_1, RATE_2, RATE_5_5, RATE_11, ...
BOOLEAN EnableAutoRateSwitching; // 1 - enable auto rate switching; 0 - disable
ULONG TxPowerPercentage; // 0~100 %,blue
// MIB:ieee802dot11.dot11phy(4).dot11PhyDSSSTable(5)
UCHAR Channel; // current (I)BSS channel used in the station
UCHAR CountryRegion; // Enum of country region, 0:FCC, 1:IC, 2:ETSI, 3:SPAIN, 4:France, 5:MKK, 6:MKK1, 7:Israel
// MIB:ieee802dot11.dot11phy(4).dot11AntennasListTable(8)
BOOLEAN AntennaSupportTx;
BOOLEAN AntennaSupportRx;
BOOLEAN AntennaSupportDiversityRx;
// Use user changed MAC
BOOLEAN bLocalAdminMAC;
// MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesTxTable(9)
// MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesRxTable(10)
UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES]; // Supported rates
UCHAR SupportedRatesLen;
UCHAR ExpectedACKRate[MAX_LEN_OF_SUPPORTED_RATES];
//blue
// Copy supported rate from desired AP's beacon. We are trying to match
// AP's supported and extended rate settings.
UCHAR SupRate[MAX_LEN_OF_SUPPORTED_RATES];
UCHAR ExtRate[MAX_LEN_OF_SUPPORTED_RATES];
UCHAR SupRateLen;
UCHAR ExtRateLen;
//
// other parameters not defined in standard MIB
//
UCHAR DesiredRates[MAX_LEN_OF_SUPPORTED_RATES]; // OID_802_11_DESIRED_RATES
UCHAR MaxDesiredRate;
USHORT RecvDtim;
MACADDR Bssid;
MACADDR Broadcast; // FF:FF:FF:FF:FF:FF
USHORT Pss; // current power saving status (PWR_SAVE|PWR_ACTIVE)
UCHAR RssiTrigger;
UCHAR RssiTriggerMode; // RSSI_TRIGGERED_UPON_BELOW_THRESHOLD or RSSI_TRIGGERED_UPON_EXCCEED_THRESHOLD
UCHAR LastRssi; // last received BEACON's RSSI
USHORT AvgRssi; // last 8 BEACON's average RSSI,blue
USHORT AtimWin; // in kusec; IBSS parameter set element
USHORT Aid; // association ID
UCHAR RtsRate; // RATE_xxx
UCHAR MlmeRate; // RATE_xxx, used to send MLME frames
UCHAR MaxTxRate; // RATE_xxx
USHORT DefaultListenCount; // default listen count;
UCHAR BssType; // BSS_INFRA or BSS_INDEP
UCHAR SsidLen; // the actual ssid length in used
CHAR Ssid[MAX_LEN_OF_SSID]; // NOT NULL-terminated
BSS_TABLE BssTab; // BSS Table
// global variables mXXXX used in MAC protocol state machines
BOOLEAN Mibss;
BOOLEAN Massoc;
BOOLEAN Mauth;
// PHY specification
UCHAR PhyMode; // PHY_11A, PHY_11B, PHY_11BG_MIXED, PHY_ABG_MIXED
USHORT Dsifs; // in units of usec
ULONG WindowsPowerMode; // Power mode for AC power
//ULONG WindowsBatteryPowerMode; // Power mode for battery if exists
//BOOLEAN WindowsACCAMEnable; // Enable CAM power mode when AC on
ULONG PacketFilter; // Packet filter for receiving
BOOLEAN AutoReconnect; // Set to TRUE when setting OID_802_11_SSID with no matching BSSID
#ifdef NDIS51_MINIPORT
ULONG WindowsPowerProfile; // Windows power profile, for NDIS5.1 PnP
#endif
ULONG WindowsTxPreamble; // Rt802_11PreambleLong, Rt802_11PreambleShort, Rt802_11PreambleAuto
UCHAR ChannelTxPower[MAX_LEN_OF_CHANNELS]; // Store Tx power value for all channels.
//blue
UCHAR ChannelTssiRef[MAX_LEN_OF_CHANNELS]; // Store Tssi Reference value for all channels.
UCHAR ChannelTssiDelta; // Store Tx TSSI delta increment / decrement value
BOOLEAN bAutoTxAgc;
UCHAR ChannelList[MAX_LEN_OF_CHANNELS]; // list all supported channels for site survey
UCHAR ChannelListNum; // number of channel in ChannelList[]
BOOLEAN bShowHiddenSSID;//blue
// configuration to be used when this STA starts a new ADHOC network
IBSS_CONFIG IbssConfig;
ULONG LastBeaconRxTime; // OS's timestamp of the last BEACON RX time
atomic_t DataPacketsFromAP; // # of data packets received from AP since we receive last Beacon from AP
ULONG Last11bBeaconRxTime; // OS's timestamp of the last 11B BEACON RX time
ULONG LastScanTime; // Record last scan time for issue BSSID_SCAN_LIST
ULONG IgnoredScanNumber; // Ignored BSSID_SCAN_LIST requests
BOOLEAN bSwRadio; // Software controlled Radio On/Off, TRUE: On
BOOLEAN bHwRadio; // Hardware controlled Radio On/Off, TRUE: On
BOOLEAN bRadio; // Radio state, And of Sw & Hw radio state
BOOLEAN bHardwareRadio; // Hardware-controlled Radio enabled
LED_CONTROL LedCntl;
UCHAR RfType;
UCHAR LedMode;
// New for WPA, windows want us to to keep association information and
// Fixed IEs from last association response
NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo;
// NDIS_802_11_FIXED_IEs FixIEs;
UCHAR ReqVarIELen; // Length of next VIE include EID & Length
UCHAR ReqVarIEs[MAX_VIE_LEN];
UCHAR ResVarIELen; // Length of next VIE include EID & Length
UCHAR ResVarIEs[MAX_VIE_LEN];
// the following fields are user setting from UI
ULONG EnableTurboRate; // 0: disable, 1: enable 72/100 Mbps whenever applicable
ULONG EnableTxBurst; // 0: disable, 1: enable TX PACKET BURST
ULONG UseBGProtection; // 0: auto, 1: always use, 2: always not use
ULONG UseShortSlotTime; // 0: disable, 1: enable 9us short slot time if AP supports
//blue,ULONG UseOfdmRatesIn11gAdhoc; // 0:WIFI mode (11b rates only), 1:allow OFDM rates
ULONG AdhocMode; // 0:WIFI mode (11b rates only), 1: b/g mixed, 2: 11g only,blue
// this flag is the result calculated from UI settings and AP's ERP/Capability
ULONG BGProtectionInUsed; // 0: not in-used, 1: in-used
ULONG ShortSlotInUsed; // 0: not in-used, 1: in-used
USHORT TxPreambleInUsed; // Rt802_11PreambleLong, Rt802_11PreambleShort
UCHAR CipherAlg;
// latch th latest RF programming value here since RF IC doesn't support READ operation
RTMP_RF_REGS LatchRfRegs;
//blue
BOOLEAN BbpTuningEnable;
UCHAR VgcLowerBound;
RT_802_11_RX_AGC_VGC_TUNING BbpTuning;
UCHAR LastR17Value;
ULONG SystemErrorBitmap; // b0: E2PROM version error
//blue
UCHAR BbpWriteLatch[100]; // record last BBP register value written via BBP_IO_WRITE
ULONG CurrTxRateStableTime; // # of second in current TX rate
UCHAR TxRateUpPenalty; // extra # of second penalty due to last unstable condition
// For WPA-PSK supplicant state
//red,WPA_STATE WpaState; // Default is SS_NOTUSE and handled by microsoft 802.1x
} PORT_CONFIG, *PPORT_CONFIG;
typedef struct _MLME_MEMORY_STRUCT {
PVOID AllocVa; //Pointer to the base virtual address of the allocated memory
struct _MLME_MEMORY_STRUCT *Next; //Pointer to the next virtual address of the allocated memory
} MLME_MEMORY_STRUCT, *PMLME_MEMORY_STRUCT;
typedef struct _MLME_MEMORY_HANDLER {
BOOLEAN MemRunning; //The flag of the Mlme memory handler's status
UINT MemoryCount; //Total nonpaged system-space memory not size
UINT InUseCount; //Nonpaged system-space memory in used counts
UINT UnUseCount; //Nonpaged system-space memory available counts
UINT PendingCount; //Nonpaged system-space memory for free counts
PMLME_MEMORY_STRUCT pInUseHead; //Pointer to the first nonpaed memory not used
PMLME_MEMORY_STRUCT pInUseTail; //Pointer to the last nonpaged memory not used
PMLME_MEMORY_STRUCT pUnUseHead; //Pointer to the first nonpaged memory in used
PMLME_MEMORY_STRUCT pUnUseTail; //Pointer to the last nonpaged memory in used
PULONG MemFreePending[MAX_MLME_HANDLER_MEMORY]; //an array to keep pending free-memory's pointer (32bits)
} MLME_MEMORY_HANDLER, *PMLME_MEMORY_HANDLER;
typedef struct _MLME_STRUCT {
STATE_MACHINE CntlMachine, AssocMachine, AuthMachine, AuthRspMachine, SyncMachine,WpaPskMachine;
STATE_MACHINE_FUNC CntlFunc[CNTL_FUNC_SIZE], AssocFunc[ASSOC_FUNC_SIZE];
STATE_MACHINE_FUNC AuthFunc[AUTH_FUNC_SIZE], AuthRspFunc[AUTH_RSP_FUNC_SIZE];
STATE_MACHINE_FUNC SyncFunc[SYNC_FUNC_SIZE],WpaPskFunc[WPA_PSK_FUNC_SIZE];
ASSOC_AUX AssocAux;
AUTH_AUX AuthAux;
AUTH_RSP_AUX AuthRspAux;
SYNC_AUX SyncAux;
CNTL_AUX CntlAux;
COUNTER_802_11 PrevWlanCounters;
ULONG ChannelQuality; // 0..100, Channel Quality Indication for Roaming
BOOLEAN Running;
spinlock_t TaskLock;
MLME_QUEUE Queue;
UINT ShiftReg;
// PSPOLL_FRAME PsFr;
// MACHDR NullFr;
RALINK_TIMER_STRUCT PeriodicTimer;
ULONG PeriodicRound;
ULONG PrevTxCnt;
MLME_MEMORY_HANDLER MemHandler; //The handler of the nonpaged memory inside MLME
} MLME_STRUCT, *PMLME_STRUCT;
//
// Management ring buffer format
//
typedef struct _MGMT_STRUC {
BOOLEAN Valid;
PUCHAR pBuffer;
ULONG Length;
UCHAR FirstIndex;
UCHAR ContextsRequired;
struct _MGMT_STRUC *next;//blue
} MGMT_STRUC, *PMGMT_STRUC;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -