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

📄 rtmp.h

📁 r73模块的无线网卡在Linux下的驱动程序
💻 H
📖 第 1 页 / 共 5 页
字号:
    // Fast Roaming    BOOLEAN                 bFastRoaming;       // 0:disable fast roaming, 1:enable fast roaming    ULONG                   dBmToRoam;          // the condition to roam when receiving Rssi less than this value. It's negative value.    RADAR_DETECT_STRUCT	    RadarDetect;    BOOLEAN                 bGetAPConfig;    BOOLEAN                 bWscCapable;	// 1:use simple config, 0:otherwise    WSC_LV_INFO             WscIEProbeReq;    WSC_LV_INFO             WscIEBeacon;} PORT_CONFIG, *PPORT_CONFIG;// This data structure keep the current active BSS/IBSS's configuration that this STA// had agreed upon joining the network. Which means these parameters are usually decided// by the BSS/IBSS creator instead of user configuration. Data in this data structurre// is valid only when either ADHOC_ON(pAd) or INFRA_ON(pAd) is TRUE.// Normally, after SCAN or failed roaming attempts, we need to recover back to// the current active settings.typedef struct _ACTIVE_CONFIG {	USHORT		Aid;	USHORT		AtimWin;				// in kusec; IBSS parameter set element	USHORT		CapabilityInfo;	USHORT		CfpMaxDuration;	USHORT		CfpPeriod;	// 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;} ACTIVE_CONFIG, *PACTIVE_CONFIG;////	The miniport adapter structure//typedef struct _RTMP_ADAPTER{	//----------------------------	// Linux specific	//----------------------------	CHAR							nickn[IW_ESSID_MAX_SIZE+1]; // nickname, only used in the iwconfig i/f	struct usb_device				*pUsb_Dev;	struct net_device				*net_dev;	struct usb_device *usb;#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) && defined(CONFIG_PM)	struct pm_dev				*pmdev;#endif	struct tasklet_struct			rx_bh;	struct tasklet_struct			rx_bk;	struct usb_config_descriptor	*config;	devctrlrequest					*devreq;	INT	EAPOLVer;	/* The device we're working with	 * It's important to note:	 *	  (o) you must hold dev_semaphore to change pUsb_Dev	 */	struct semaphore	usbdev_semaphore;		/* protect	usb */	// Thread	struct semaphore	mlme_semaphore;			/* to sleep thread on	*/	struct semaphore	RTUSBCmd_semaphore;		/* to sleep thread on	*/	struct completion	mlmenotify;				/* thread begin/end	 */	struct completion	cmdnotify;				/* thread begin/end	 */	pid_t			MLMEThr_pid;	pid_t			RTUSBCmdThr_pid;	wait_queue_head_t	*wait;#if WIRELESS_EXT >= 12	struct iw_statistics iw_stats;#endif	struct net_device_stats stats;	ULONG  VendorDesc;		// VID/PID	// resource for software backlog queues	struct sk_buff_head			TxSwQueue[NUM_OF_TX_RING];	// 4 AC + 1 HCCA	MGMT_STRUC				MgmtRing[MGMT_RING_SIZE];	// outgoing BEACON frame buffer and corresponding TXD	TXD_STRUC				BeaconTxD;	CHAR					BeaconBuf[256]; // NOTE: BeaconBuf should be 4-byte aligned	// pre-build PS-POLL and NULL frame upon link up. for efficiency purpose.	PSPOLL_FRAME			PsPollFrame;	HEADER_802_11			NullFrame;	// configuration: read from Registry & E2PROM	BOOLEAN bLocalAdminMAC; 					// Use user changed MAC	// Factory default MAC address	UCHAR	PermanentAddress[MAC_ADDR_LEN] ALIGN_USB_RCV;	// User changed MAC address	UCHAR	CurrentAddress[MAC_ADDR_LEN];	MLME_STRUCT 			Mlme;	// ---------------------------	// STA specific configuration	// ---------------------------	PORT_CONFIG 			PortCfg;			// user desired settings	ACTIVE_CONFIG			ActiveCfg;			// valid only when ADHOC_ON(pAd) || INFRA_ON(pAd)	MLME_AUX				MlmeAux;			// temporary settings used during MLME state machine	BSS_TABLE				ScanTab;			// store the latest SCAN result	// encryption/decryption KEY tables	CIPHER_KEY				SharedKey[4];//	CIPHER_KEY				PairwiseKey[64];		// for AP only	// Boolean control for packet filter	BOOLEAN 				bAcceptDirect;	BOOLEAN 				bAcceptMulticast;	BOOLEAN 				bAcceptBroadcast;	BOOLEAN 				bAcceptAllMulticast;	BOOLEAN 				bAcceptRFMONTx;	UINT					ForcePrismHeader;	// 802.3 multicast support	ULONG					NumberOfMcastAddresses; 	// Number of mcast entry exists	UCHAR					McastTable[MAX_MCAST_LIST_SIZE][MAC_ADDR_LEN];		// Mcast list	// RX Tuple chahe for duplicate frame check	TUPLE_CACHE				TupleCache[MAX_CLIENT];		// Maximum number of tuple caches, only useful in Ad-Hoc	UCHAR					TupleCacheLastUpdateIndex;	// 0..MAX_CLIENT-1	// RX re-assembly buffer for fragmentation	FRAGMENT_FRAME			FragFrame;					// Frame storage for fragment frame	// various Counters	COUNTER_802_3			Counters8023;				// 802.3 counters	COUNTER_802_11			WlanCounters;				// 802.11 MIB counters	COUNTER_RALINK			RalinkCounters;				// Ralink propriety counters	COUNTER_DRS 			DrsCounters;				// counters for Dynamic TX Rate Switching	PRIVATE_STRUC			PrivateInfo;				// Private information & counters	// Counters for 802.3 & generic.	// Add 802.11 specific counters later	COUNTER_802_3			Counters;					// 802.3 counters	COUNTER_QA				QACounters;				// Ralink propriety counters	// flags, see fRTMP_ADAPTER_xxx flags	ULONG					Flags;						// Represent current device status	// current TX sequence #	USHORT					Sequence;	// Control disconnect / connect event generation	ULONG					LinkDownTime;	ULONG					LastRxRate;	BOOLEAN 				bConfigChanged; 		// Config Change flag for the same SSID setting	ULONG					ExtraInfo;				// Extra information for displaying status	ULONG					SystemErrorBitmap;		// b0: E2PROM version error	// ---------------------------	// E2PROM	// ---------------------------	ULONG					EepromVersion;			// byte 0: version, byte 1: revision, byte 2~3: unused	UCHAR					EEPROMAddressNum;		// 93c46=6	93c66=8	USHORT					EEPROMDefaultValue[NUM_EEPROM_BBP_PARMS];	ULONG					FirmwareVersion;		// byte 0: Minor version, byte 1: Major version, otherwise unused.	// ---------------------------	// BBP Control	// ---------------------------	UCHAR					BbpWriteLatch[110]; 	// record last BBP register value written via BBP_IO_WRITE/BBP_IO_WRITE_VY_REG_ID	UCHAR					BbpRssiToDbmDelta;	BBP_R17_TUNING			BbpTuning;	// ----------------------------	// RFIC control	// ----------------------------	UCHAR					RfIcType;		// RFIC_xxx	ULONG					RfFreqOffset;	// Frequency offset for channel switching	BOOLEAN 				bAutoTxAgc;		// Enable driver auto Tx Agc control	RTMP_RF_REGS			LatchRfRegs;	// latch th latest RF programming value since RF IC doesn't support READ//	  CCK_TX_POWER_CALIBRATE  CckTxPowerCalibrate;	  // 2004-05-25 add CCK TX power caliberation based on E2PROM settings	UCHAR					RFProgSeq;	EEPROM_ANTENNA_STRUC	Antenna;							// Since ANtenna definition is different for a & g. We need to save it for future reference.	EEPROM_NIC_CONFIG2_STRUC	NicConfig2;	CHANNEL_TX_POWER		TxPower[MAX_NUM_OF_CHANNELS];		// Store Tx power value for all channels.	CHANNEL_TX_POWER		ChannelList[MAX_NUM_OF_CHANNELS];	// list all supported channels for site survey	UCHAR		            ChannelListNum; 		            // number of channel in ChannelList[]    EEPROM_TXPOWER_DELTA_STRUC  TxPowerDeltaConfig;				// Compensate the Tx power BBP94 with this configurate value	UCHAR					    Bbp94;	BOOLEAN					    BbpForCCK;//	UCHAR		ChannelTssiRef[MAX_NUM_OF_CHANNELS];		// Store Tssi Reference value for all channels.//	UCHAR		ChannelTssiDelta;							// Store Tx TSSI delta increment / decrement value	// This soft Rx Antenna Diversity mechanism is used only when user set	// RX Antenna = DIVERSITY ON	SOFT_RX_ANT_DIVERSITY	RxAnt;	BOOLEAN 	bAutoTxAgcA;				// Enable driver auto Tx Agc control	UCHAR		TssiRefA;					// Store Tssi reference value as 25 tempature.	UCHAR		TssiPlusBoundaryA[5];		// Tssi boundary for increase Tx power to compensate.	UCHAR		TssiMinusBoundaryA[5];		// Tssi boundary for decrease Tx power to compensate.	UCHAR		TxAgcStepA;					// Store Tx TSSI delta increment / decrement value	CHAR		TxAgcCompensateA;			// Store the compensation (TxAgcStep * (idx-1))	BOOLEAN 	bAutoTxAgcG;				// Enable driver auto Tx Agc control	UCHAR		TssiRefG;					// Store Tssi reference value as 25 tempature.	UCHAR		TssiPlusBoundaryG[5];		// Tssi boundary for increase Tx power to compensate.	UCHAR		TssiMinusBoundaryG[5];		// Tssi boundary for decrease Tx power to compensate.	UCHAR		TxAgcStepG;					// Store Tx TSSI delta increment / decrement value	CHAR		TxAgcCompensateG;			// Store the compensation (TxAgcStep * (idx-1))	CHAR		BGRssiOffset1;				// Store B/G RSSI#1 Offset value on EEPROM 0x9Ah	CHAR		BGRssiOffset2;				// Store B/G RSSI#2 Offset value	CHAR		ARssiOffset1;				// Store A RSSI#1 Offset value on EEPROM 0x9Ch	CHAR		ARssiOffset2;	// ----------------------------	// LED control	// ----------------------------	MCU_LEDCS_STRUC		LedCntl;	USHORT				LedIndicatorStrength;	// ----------------------------	// DEBUG paramerts	// ----------------------------//	ULONG					DebugSetting[4];	//////////////////////////////////////////////////////////////////////	//	USB	//////////////////////////////////////////////////////////////////////	USHORT				BulkOutMaxPacketSize;	   // 64 in XP	USHORT				BulkInMaxPacketSize;	CmdQ				CmdQ;	CmdQElmt			CmdQElements[COMMAND_QUEUE_SIZE];	// SpinLocks	spinlock_t			MLMEWaitQueueLock;	spinlock_t			CmdQLock;	spinlock_t			BulkOutLock[4];		// for 4 ACs	spinlock_t			MLMEQLock;	spinlock_t			BulkFlagsLock;	/////////////////////	// Transmit Path	/////////////////////	TX_CONTEXT				MLMEContext[PRIO_RING_SIZE];	TX_CONTEXT				BeaconContext[BEACON_RING_SIZE];	TX_CONTEXT				NullContext;	TX_CONTEXT				PsPollContext;	TX_CONTEXT				RTSContext;//	PUCHAR					TxBuffer;//	TX_BUFFER				TxMgmtBuf;//	PURB					pTxMgmtUrb;//	PIRP					pTxMgmtIrp;	struct sk_buff_head		SendTxWaitQueue[4];	UINT32					TxRingTotalNumber[4];	UCHAR					NextTxIndex[4];				// Next TxD write pointer	UCHAR					NextMLMEIndex;				// Next PrioD write pointer	UCHAR					PushMgmtIndex;				// Next SW management ring index	UCHAR					PopMgmtIndex;				// Next SW management ring index	atomic_t				MgmtQueueSize;				// Number of Mgmt request stored in MgmtRing	UCHAR					NextRxBulkInIndex;	UCHAR					CurRxBulkInIndex;	// 4 sets of Bulk Out index and pending flag	UCHAR					NextBulkOutIndex[4];	BOOLEAN					BulkOutPending[4];//	BOOLEAN					ControlPending;	ULONG					PrioRingTxCnt;	UCHAR					PrioRingFirstIndex;	atomic_t				PendingTx;		// Number of Bulkout waiting to be send.	// Data related context and AC specified, 4 AC supported	TX_CONTEXT				TxContext[4][TX_RING_SIZE];	LONG					NumPacketsQueued[4];//	PURB					pTxUrb[4];//	PIRP					pTxIrp[4];	/////////////////////	// Receive Path	/////////////////////	RX_CONTEXT				RxContext[RX_RING_SIZE];//	PURB					pRxUrb;//	PIRP					pRxIrp;//	PUCHAR					RxBuffer;	atomic_t				PendingRx;	/////////////////////	//	Control Flags	///////////////////////	atomic_t				PendingIoCount;	// Flags for bulk out data priority	ULONG					BulkFlags;	ULONG					BulkOutDataOneSecCount;	ULONG					BulkInDataOneSecCount;	ULONG					BulkLastOneSecCount; // BulkOutDataOneSecCount + BulkInDataOneSecCount}	RTMP_ADAPTER, *PRTMP_ADAPTER;/* Define in md5.h *///// SHA context////typedef struct//{//	ULONG		H[5];//	ULONG		W[80];//	INT 		lenW;//	ULONG		sizeHi, sizeLo;//}	SHA_CTX;//// Prototypes of function definition////// Miniport routines in rtmp_main.c//VOID RTUSBHalt(	IN	PRTMP_ADAPTER	pAd,	IN	BOOLEAN 		IsFree);VOID CMDHandler(	IN PRTMP_ADAPTER pAd);INT MlmeThread(	IN void * Context);INT RTUSBCmdThread(	IN void * Context);#if WIRELESS_EXT >= 12struct iw_statistics *rt73_get_wireless_stats(	IN	struct net_device *net_dev);#endifstruct net_device_stats *rt73_get_ether_stats(	IN	struct net_device *net_dev);long rt_abs(long arg);//// Routines in rtmp_init.c//VOID CreateThreads(PRTMP_ADAPTER pAd);void KillThreads(PRTMP_ADAPTER pAd);NDIS_STATUS NICInitTransmit(	IN	PRTMP_ADAPTER	 pAd );NDIS_STATUS NICInitRecv(	IN	PRTMP_ADAPTER	pAd);VOID ReleaseAdapter(	IN	PRTMP_ADAPTER pAd,    IN  BOOLEAN         IsFree,    IN  BOOLEAN         IsOnlyTx);VOID	RTMPInitAdapterBlock(	IN	PRTMP_ADAPTER	pAd);NDIS_STATUS	RTUSBWriteHWMACAddress(	IN	PRTMP_ADAPTER		pAd);VOID NICReadEEPROMParameters(	IN	PRTMP_ADAPTER	pAd);VOID NICInitAsicFromEEPROM(	IN	PRTMP_ADAPTER	pAd);NDIS_STATUS	NICInitializeAsic(	IN	PRTMP_ADAPTER	pAd);VOID NICIssueReset(	IN	PRTMP_ADAPTER	pAd);BOOLEAN	NICCheckForHang(	IN	PRTMP_ADAPTER	pAd);VOID NICUpdateRawCounters(	IN PRTMP_ADAPTER pAd);VOID NICResetFromError(	IN	PRTMP_ADAPTER	pAd);INT LoadFirmware (IN PRTMP_ADAPTER pAd, char *firmName);PUCHAR RTMPFindSection(	IN	PCHAR	buffer);#ifndef BIG_ENDIANULONG	RTMPEqualMemory(	IN	PVOID	pSrc1,	IN	PVOID	pSrc2,	IN	ULONG	Length);#endifULONG	RTMPCompareMemory(	IN	PVOID	pSrc1,	IN	PVOID	pSrc2,	IN	ULONG	Length);VOID	RTMPZeroMemory(	IN	PVOID	pSrc,	IN	ULONG	Length);VOID	RTMPFillMemory(	IN	PVOID	pSrc,	IN	ULONG	Length,	IN	UCHAR	Fill);VOID	RTMPMoveMemory(	OUT PVOID	pDest,

⌨️ 快捷键说明

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