📄 rtmp.h
字号:
ULONG RxRingErrCount; ULONG KickTxCount; ULONG TxRingErrCount; LARGE_INTEGER RealFcsErrCount; ULONG PendingNdisPacketCount; ULONG OneSecOsTxCount[NUM_OF_TX_RING]; ULONG OneSecDmaDoneCount[NUM_OF_TX_RING]; UINT32 OneSecTxDoneCount; ULONG OneSecRxCount; UINT32 OneSecTxAggregationCount; UINT32 OneSecRxAggregationCount; UINT32 OneSecReceivedByteCount; UINT32 OneSecFrameDuplicateCount; UINT32 OneSecTransmittedByteCount; // both successful and failure, used to calculate TX throughput UINT32 OneSecTxNoRetryOkCount; UINT32 OneSecTxRetryOkCount; UINT32 OneSecTxFailCount; UINT32 OneSecFalseCCACnt; // CCA error count, for debug purpose, might move to global counter UINT32 OneSecRxOkCnt; // RX without error UINT32 OneSecRxOkDataCnt; // unicast-to-me DATA frame count UINT32 OneSecRxFcsErrCnt; // CRC error UINT32 OneSecBeaconSentCnt; UINT32 LastOneSecTotalTxCount; // OneSecTxNoRetryOkCount + OneSecTxRetryOkCount + OneSecTxFailCount UINT32 LastOneSecRxOkDataCnt; // OneSecRxOkDataCnt ULONG DuplicateRcv; ULONG TxAggCount; ULONG TxNonAggCount; ULONG TxAgg1MPDUCount; ULONG TxAgg2MPDUCount; ULONG TxAgg3MPDUCount; ULONG TxAgg4MPDUCount; ULONG TxAgg5MPDUCount; ULONG TxAgg6MPDUCount; ULONG TxAgg7MPDUCount; ULONG TxAgg8MPDUCount; ULONG TxAgg9MPDUCount; ULONG TxAgg10MPDUCount; ULONG TxAgg11MPDUCount; ULONG TxAgg12MPDUCount; ULONG TxAgg13MPDUCount; ULONG TxAgg14MPDUCount; ULONG TxAgg15MPDUCount; ULONG TxAgg16MPDUCount; LARGE_INTEGER TransmittedOctetsInAMSDU; LARGE_INTEGER TransmittedAMSDUCount; LARGE_INTEGER ReceivedOctesInAMSDUCount; LARGE_INTEGER ReceivedAMSDUCount; LARGE_INTEGER TransmittedAMPDUCount; LARGE_INTEGER TransmittedMPDUsInAMPDUCount; LARGE_INTEGER TransmittedOctetsInAMPDUCount; LARGE_INTEGER MPDUInReceivedAMPDUCount;} COUNTER_RALINK, *PCOUNTER_RALINK;typedef struct _COUNTER_DRS { // to record the each TX rate's quality. 0 is best, the bigger the worse. USHORT TxQuality[MAX_STEP_OF_TX_RATE_SWITCH]; UCHAR PER[MAX_STEP_OF_TX_RATE_SWITCH]; UCHAR TxRateUpPenalty; // extra # of second penalty due to last unstable condition ULONG CurrTxRateStableTime; // # of second in current TX rate BOOLEAN fNoisyEnvironment; BOOLEAN fLastSecAccordingRSSI; UCHAR LastSecTxRateChangeAction; // 0: no change, 1:rate UP, 2:rate down UCHAR LastTimeTxRateChangeAction; //Keep last time value of LastSecTxRateChangeAction ULONG LastTxOkCount;} COUNTER_DRS, *PCOUNTER_DRS;/*************************************************************************** * security key related data structure **************************************************************************/typedef struct _CIPHER_KEY { UCHAR Key[16]; // right now we implement 4 keys, 128 bits max UCHAR RxMic[8]; // make alignment UCHAR TxMic[8]; UCHAR TxTsc[6]; // 48bit TSC value UCHAR RxTsc[6]; // 48bit TSC value UCHAR CipherAlg; // 0-none, 1:WEP64, 2:WEP128, 3:TKIP, 4:AES, 5:CKIP64, 6:CKIP128 UCHAR KeyLen; #ifdef CONFIG_STA_SUPPORT UCHAR BssId[6];#endif // CONFIG_STA_SUPPORT // // Key length for each key, 0: entry is invalid UCHAR Type; // Indicate Pairwise/Group when reporting MIC error} CIPHER_KEY, *PCIPHER_KEY;// structure to define WPA Group Key Rekey Intervaltypedef struct PACKED _RT_802_11_WPA_REKEY { ULONG ReKeyMethod; // mechanism for rekeying: 0:disable, 1: time-based, 2: packet-based ULONG ReKeyInterval; // time-based: seconds, packet-based: kilo-packets} RT_WPA_REKEY,*PRT_WPA_REKEY, RT_802_11_WPA_REKEY, *PRT_802_11_WPA_REKEY;#ifdef RTMP_MAC_USB/*************************************************************************** * RTUSB I/O related data structure **************************************************************************/typedef struct _RT_SET_ASIC_WCID { ULONG WCID; // mechanism for rekeying: 0:disable, 1: time-based, 2: packet-based ULONG SetTid; // time-based: seconds, packet-based: kilo-packets ULONG DeleteTid; // time-based: seconds, packet-based: kilo-packets UCHAR Addr[MAC_ADDR_LEN]; // avoid in interrupt when write key} RT_SET_ASIC_WCID,*PRT_SET_ASIC_WCID;typedef struct _RT_SET_ASIC_WCID_ATTRI { ULONG WCID; // mechanism for rekeying: 0:disable, 1: time-based, 2: packet-based ULONG Cipher; // ASIC Cipher definition UCHAR Addr[ETH_LENGTH_OF_ADDRESS]; } RT_SET_ASIC_WCID_ATTRI,*PRT_SET_ASIC_WCID_ATTRI;// for USB interface, avoid in interrupt when write keytypedef struct RT_ADD_PAIRWISE_KEY_ENTRY { UCHAR MacAddr[6]; USHORT MacTabMatchWCID; // ASIC CIPHER_KEY CipherKey;} RT_ADD_PAIRWISE_KEY_ENTRY,*PRT_ADD_PAIRWISE_KEY_ENTRY;// Cipher suite type for mixed mode group cipher, P802.11i-2004typedef enum _RT_802_11_CIPHER_SUITE_TYPE { Cipher_Type_NONE, Cipher_Type_WEP40, Cipher_Type_TKIP, Cipher_Type_RSVD, Cipher_Type_CCMP, Cipher_Type_WEP104} RT_802_11_CIPHER_SUITE_TYPE, *PRT_802_11_CIPHER_SUITE_TYPE;#endif // RTMP_MAC_USB //typedef struct { UCHAR Addr[MAC_ADDR_LEN]; UCHAR ErrorCode[2]; //00 01-Invalid authentication type //00 02-Authentication timeout //00 03-Challenge from AP failed //00 04-Challenge to AP failed BOOLEAN Reported;} ROGUEAP_ENTRY, *PROGUEAP_ENTRY;typedef struct { UCHAR RogueApNr; ROGUEAP_ENTRY RogueApEntry[MAX_LEN_OF_BSS_TABLE];} ROGUEAP_TABLE, *PROGUEAP_TABLE;//// Cisco IAPP format//typedef struct _CISCO_IAPP_CONTENT_{ USHORT Length; //IAPP Length UCHAR MessageType; //IAPP type UCHAR FunctionCode; //IAPP function type UCHAR DestinaionMAC[MAC_ADDR_LEN]; UCHAR SourceMAC[MAC_ADDR_LEN]; USHORT Tag; //Tag(element IE) - Adjacent AP report USHORT TagLength; //Length of element not including 4 byte header UCHAR OUI[4]; //0x00, 0x40, 0x96, 0x00 UCHAR PreviousAP[MAC_ADDR_LEN]; //MAC Address of access point USHORT Channel; USHORT SsidLen; UCHAR Ssid[MAX_LEN_OF_SSID]; USHORT Seconds; //Seconds that the client has been disassociated.} CISCO_IAPP_CONTENT, *PCISCO_IAPP_CONTENT;/* * Fragment Frame structure */typedef struct _FRAGMENT_FRAME { PNDIS_PACKET pFragPacket; 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;//// Arcfour Structure Added by PaulWu//typedef struct _ARCFOUR{ UINT X; UINT Y; UCHAR STATE[256];} ARCFOURCONTEXT, *PARCFOURCONTEXT;//// Tkip Key structure which RC4 key & MIC calculation//typedef struct _TKIP_KEY_INFO { UINT nBytesInM; // # bytes in M for MICKEY ULONG IV16; ULONG IV32; ULONG K0; // for MICKEY Low ULONG K1; // for MICKEY Hig ULONG L; // Current state for MICKEY ULONG R; // Current state for MICKEY ULONG M; // Message accumulator for MICKEY UCHAR RC4KEY[16]; UCHAR MIC[8];} TKIP_KEY_INFO, *PTKIP_KEY_INFO;//// Private / Misc data, counters for driver internal use//typedef struct __PRIVATE_STRUC { UINT SystemResetCnt; // System reset counter UINT TxRingFullCnt; // Tx ring full occurrance number UINT PhyRxErrCnt; // PHY Rx error count, for debug purpose, might move to global counter // Variables for WEP encryption / decryption in rtmp_wep.c UINT FCSCRC32; ARCFOURCONTEXT WEPCONTEXT; // Tkip stuff TKIP_KEY_INFO Tx; TKIP_KEY_INFO Rx;} PRIVATE_STRUC, *PPRIVATE_STRUC;/*************************************************************************** * Channel and BBP related data structures **************************************************************************/// structure to tune BBP R66 (BBP TUNING)typedef struct _BBP_R66_TUNING { BOOLEAN bEnable; USHORT FalseCcaLowerThreshold; // default 100 USHORT FalseCcaUpperThreshold; // default 512 UCHAR R66Delta; UCHAR R66CurrentValue; BOOLEAN R66LowerUpperSelect; //Before LinkUp, Used LowerBound or UpperBound as R66 value.} BBP_R66_TUNING, *PBBP_R66_TUNING;// structure to store channel TX powertypedef struct _CHANNEL_TX_POWER { USHORT RemainingTimeForUse; //unit: sec UCHAR Channel;#ifdef DOT11N_DRAFT3 BOOLEAN bEffectedChannel; // For BW 40 operating in 2.4GHz , the "effected channel" is the channel that is covered in 40Mhz.#endif // DOT11N_DRAFT3 // CHAR Power; CHAR Power2; UCHAR MaxTxPwr; UCHAR DfsReq;} CHANNEL_TX_POWER, *PCHANNEL_TX_POWER;// structure to store 802.11j channel TX powertypedef struct _CHANNEL_11J_TX_POWER { UCHAR Channel; UCHAR BW; // BW_10 or BW_20 CHAR Power; CHAR Power2; USHORT RemainingTimeForUse; //unit: sec} CHANNEL_11J_TX_POWER, *PCHANNEL_11J_TX_POWER;typedef struct _SOFT_RX_ANT_DIVERSITY_STRUCT { UCHAR EvaluatePeriod; // 0:not evalute status, 1: evaluate status, 2: switching status UCHAR EvaluateStableCnt; UCHAR Pair1PrimaryRxAnt; // 0:Ant-E1, 1:Ant-E2 UCHAR Pair1SecondaryRxAnt; // 0:Ant-E1, 1:Ant-E2 UCHAR Pair2PrimaryRxAnt; // 0:Ant-E3, 1:Ant-E4 UCHAR Pair2SecondaryRxAnt; // 0:Ant-E3, 1:Ant-E4 SHORT Pair1AvgRssi[2]; // AvgRssi[0]:E1, AvgRssi[1]:E2 SHORT Pair2AvgRssi[2]; // AvgRssi[0]:E3, AvgRssi[1]:E4 SHORT Pair1LastAvgRssi; // SHORT Pair2LastAvgRssi; // ULONG RcvPktNumWhenEvaluate; BOOLEAN FirstPktArrivedWhenEvaluate; RALINK_TIMER_STRUCT RxAntDiversityTimer;} SOFT_RX_ANT_DIVERSITY, *PSOFT_RX_ANT_DIVERSITY;/*************************************************************************** * structure for radar detection and channel switch **************************************************************************/typedef struct _RADAR_DETECT_STRUCT { //BOOLEAN IEEE80211H; // 0: disable, 1: enable IEEE802.11h UCHAR CSCount; //Channel switch counter UCHAR CSPeriod; //Channel switch period (beacon count) UCHAR RDCount; //Radar detection counter UCHAR RDMode; //Radar Detection mode UCHAR RDDurRegion; //Radar detection duration region UCHAR BBPR16; UCHAR BBPR17; UCHAR BBPR18; UCHAR BBPR21; UCHAR BBPR22; UCHAR BBPR64; ULONG InServiceMonitorCount; // unit: sec UINT8 DfsSessionTime;#ifdef DFS_FCC_BW40_FIX CHAR DfsSessionFccOff;#endif BOOLEAN bFastDfs; UINT8 ChMovingTime; UINT8 LongPulseRadarTh;#ifdef MERGE_ARCH_TEAM CHAR AvgRssiReq; ULONG DfsLowerLimit; ULONG DfsUpperLimit; UINT8 FixDfsLimit; ULONG upperlimit; ULONG lowerlimit;#endif // MERGE_ARCH_TEAM //} RADAR_DETECT_STRUCT, *PRADAR_DETECT_STRUCT;#ifdef CARRIER_DETECTION_SUPPORTtypedef enum CD_STATE_n{ CD_NORMAL, CD_SILENCE, CD_MAX_STATE} CD_STATE;#ifdef MERGE_ARCH_TEAM#define CARRIER_DETECT_RECHECK_TIME 3#define CARRIER_DETECT_CRITIRIA 280#define CARRIER_DETECT_STOP_RATIO 2#define CARRIER_DETECT_STOP_RECHECK_TIME 4#define CARRIER_DETECT_CRITIRIA_A 230#define CARRIER_DETECT_DELTA 7#define CARRIER_DETECT_DIV_FLAG 0#define CARRIER_DETECT_THRESHOLD 0x0fffffff#endif // MERGE_ARCH_TEAM //typedef struct CARRIER_DETECTION_s{ BOOLEAN Enable; UINT8 CDSessionTime; UINT8 CDPeriod; CD_STATE CD_State;}CARRIER_DETECTION_STRUCT, *PCARRIER_DETECTION_STRUCT;#endif // CARRIER_DETECTION_SUPPORT //#ifdef NEW_DFStypedef struct _NewDFSDebug{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -