📄 rt2570sw.h
字号:
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;// PortConfigtypedef 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; // RFMON logic flags BOOLEAN MallowRFMONTx; ULONG ForcePrismHeader; // 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;//// P802.11 Frame control field, 16 bit//typedef struct _FRAME_CONTROL { USHORT Ver:2; // Protocol version USHORT Type:2; // MSDU type USHORT Subtype:4; // MSDU subtype USHORT ToDs:1; // To DS indication USHORT FrDs:1; // From DS indication USHORT MoreFrag:1; // More fragment bit USHORT Retry:1; // Retry status bit USHORT PwrMgt:1; // Power management bit USHORT MoreData:1; // More data bit USHORT Wep:1; // Wep data USHORT Order:1; // Strict order expected} FRAME_CONTROL, *PFRAME_CONTROL;//// P802.11 intermediate header format//typedef struct _CONTROL_HEADER { FRAME_CONTROL Frame; // Frame control structure USHORT Duration; // Duration value MACADDR Addr1; // Address 1 field MACADDR Addr2; // Address 2 field} CONTROL_HEADER, *PCONTROL_HEADER;typedef struct _PS_POLL_BUFFER { TXD_STRUC TxDesc; PSPOLL_FRAME PsPollPacket;} PS_POLL_BUFFER, *PPS_POLL_BUFFER;//// P802.11 header format//typedef struct _HEADER_802_11 { CONTROL_HEADER Controlhead; MACADDR Addr3; // Address 3 field USHORT Frag:4; // Fragment number USHORT Sequence:12; // Sequence number} HEADER_802_11, *PHEADER_802_11;typedef struct _NULL_FRAME_BUFFER { TXD_STRUC TxDesc; HEADER_802_11 NullFrame;} NULL_FRAME_BUFFER, *PNULL_FRAME_BUFFER;typedef struct _WPAPSK_BUFFER { TXD_STRUC TxDesc; UCHAR WpaPskFrame[512];} WPAPSK_BUFFER, *PWPAPSK_BUFFER;typedef struct _STUFF_BUFFER { NULL_FRAME_BUFFER NullFrameBuffer; UCHAR StuffBuffer[512];} STUFF_BUFFER, *PSTUFF_BUFFER;//// Receive Tuple Cache Format//typedef struct _TUPLE_CACHE { BOOLEAN Valid; MACADDR MAC; USHORT Sequence; USHORT Frag;} TUPLE_CACHE, *PTUPLE_CACHE;//// Fragment Frame structure//typedef struct _FRAGMENT_FRAME { UCHAR Header802_3[14]; UCHAR Header_LLC[8]; UCHAR Buffer[MAX_FRAME_SIZE]; ULONG RxSize; USHORT Sequence; USHORT LastFrag; ULONG Flags; // Some extra frame information. bit 0: LLC presented} FRAGMENT_FRAME, *PFRAGMENT_FRAME;//// Packet information for NdisQueryPacket//typedef struct _PACKET_INFO { UINT PhysicalBufferCount; // Physical breaks of buffer descripor chained UINT BufferCount ; // Number of Buffer descriptor chained UINT TotalPacketLength ; // Self explained //PNDIS_BUFFER pFirstBuffer; // Pointer to first buffer descriptor} PACKET_INFO, *PPACKET_INFO;//// Tkip Key structure which RC4 key & MIC calculation
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -