rt2570sw.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 1,922 行 · 第 1/5 页

H
1,922
字号
	 *    (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   */#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)    struct completion	notify;		/* thread begin/end */    pid_t			MLMEThr_pid;    pid_t			RTUSBCmdThr_pid;#else	struct task_struct *	MLMEThr;	volatile int MLMEThr_active;	struct task_struct *	RTUSBCmdThr;	volatile int RTUSBCmdThr_active;#endif#endif // AVOS	//wait_queue_head_t	*wait;		//spinlock_t *lock;#if 1	UINT					SET_R17_FLAG;	UCHAR					BBPR17InitValue;	UCHAR					ResetRequest;	UCHAR					BulkAction;#endif#ifdef AVOS	struct netif *net;#else	struct net_device *net;	BOOLEAN                 bNetDeviceStopQueue;#if WIRELESS_EXT >= 12    struct iw_statistics iw_stats;#endif		struct net_device_stats netstats;#endif /* AVOS */	// configuration	UCHAR           PermanentAddress[ETH_LENGTH_OF_ADDRESS];    // Factory default MAC address	UCHAR           CurrentAddress[ETH_LENGTH_OF_ADDRESS];      // User changed MAC address	USHORT			EEPROMDefaultValue[NUM_EEPROM_BBP_PARMS];	USHORT			EEPROMBBPTuningParameters[NUM_EEPROM_BBP_TUNING_PARMS];    //    // Handle given by NDIS when the Adapter registered itself.    // Various NDIS handle function    //	MGMT_STRUC				MgmtRing[MGMT_RING_SIZE];	// management ring size		UCHAR					NextTxIndex;				// 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					NextBulkOutIndex;	BOOLEAN					BulkOutPending;	BOOLEAN					ControlPending;	ULONG					PrioRingTxCnt;	UCHAR					PrioRingFirstIndex; 	// 802.3 multicast support	ULONG					NumberOfMcAddresses;		// Number of mcast entry exists	UCHAR					McastTable[MAX_MCAST_LIST_SIZE][ETH_LENGTH_OF_ADDRESS];		// Mcast list	ULONG                   Flags;                      // Represent current device status	// Flags for bulk out data priority	ULONG					BulkFlags;	/////////////////////	// Transmit Path	/////////////////////	atomic_t				TxCount;		// Number of Bulkout waiting to be send.	TX_CONTEXT				TxContext[TX_RING_SIZE];	TX_CONTEXT				MLMEContext[PRIO_RING_SIZE];	TX_CONTEXT				BeaconContext[BEACON_RING_SIZE];	TX_CONTEXT				NullContext;	TX_CONTEXT				PsPollContext;	RTS_BUFFER				RTSBuffer;	//WPAPSK_CONTEXT			WpaPskContext;	PUCHAR					TxBuffer;	TX_BUFFER               TxMgmtBuf;	/////////////////////	// Receive Path	/////////////////////	RX_CONTEXT				RxContext[RX_RING_SIZE];	PURB                    pRxUrb;//red: test mode only	PIRP                    pRxIrp;	PUCHAR					RxBuffer;    // SEND queue list	//struct sk_buff_head     SendTxWaitQueue;	struct pbuf_head        SendTxWaitQueue;	USHORT					Sequence;					// Current sequence number	TUPLE_CACHE				TupleCache[MAX_CLIENT];		// Maximum number of tuple caches, only useful in Ad-Hoc	UCHAR                   TupleCacheLastUpdateIndex;  // 0..MAX_CLIENT-1	FRAGMENT_FRAME			FragFrame;					// Frame storage for fragment frame		// For MiniportTransferData	PUCHAR					pRxData;					// Pointer to current RxRing offset / fragment frame offset		// Counters for 802.3 & generic.	// Add 802.11 specific counters later	COUNTER_802_3           Counters;                   // 802.3 counters	COUNTER_802_11          WlanCounters;				// 802.11 MIB counters	COUNTER_RALINK          RalinkCounters;				// Ralink propriety counters	COUNTER_DRS             DrsCounters;                // counters for Dynamic Rate Switching	COUNTER_QA				QACounters;				// Ralink propriety counters	NDIS_MEDIA_STATE        MediaState;	UCHAR                   StationState;	NDIS_DEVICE_POWER_STATE CurrentPowerState;          // Current device power state	NDIS_DEVICE_POWER_STATE NextPowerState;             // Next device power state	PRIVATE_STRUC			PrivateInfo;				// Private information & counters	// SpinLocks	spinlock_t			SendTxWaitQueueLock;		// SendTxWaitQueue spinlock	spinlock_t			MLMEWaitQueueLock;		    // SendTxWaitQueue spinlock	spinlock_t			CmdQLock;		            // SendTxWaitQueue spinlock	spinlock_t			BulkOutLock;		        // SendTxWaitQueue spinlock	spinlock_t			ControlLock;		        // SendTxWaitQueue spinlock	spinlock_t			MLMEQLock;		            // SendTxWaitQueue spinlock	spinlock_t			GenericLock;		        // SendTxWaitQueue spinlock	spinlock_t          MemLock;                    // need to check	// Reference count	LONG                    RefCount;           // Keep adapter refer count for checkforhang & halt	ULONG                   SendRefCount;       // number of packet that have not been confirmed	ULONG                   RcvRefCount;        // number of packets that have not been returned back	// Various NDIS Event	int              ExitEvent;		NDIS_MEDIA_STATE                    LinkIsActive;	ULONG                               CurrentLookAhead;	CmdQ								CmdQ;	DATA_BULKOUT_QUEUE					DataQ;	MLME_BULKOUT_QUEUE					MLMEQ;	// Boolean control for packet filter	BOOLEAN					bAcceptDirect;	BOOLEAN					bAcceptMulticast;	BOOLEAN					bAcceptBroadcast;	BOOLEAN					bAcceptAllMulticast;	// Control to check Tx hang	BOOLEAN					bTxBusy;		// Control disconnect / connect event generation	ULONG					LinkDownTime;	UCHAR					LastSsidLen;               // the actual ssid length in used	CHAR					LastSsid[MAX_LEN_OF_SSID]; // NOT NULL-terminated	MACADDR					LastBssid;	BOOLEAN					bConfigChanged;				// Config Change flag for the same SSID setting		PORT_CONFIG             PortCfg;	MLME_STRUCT             Mlme;	/////////////////////	// USB	/////////////////////	USHORT                              BulkOutMaxPacketSize;   // 64 in XP	USHORT                              BulkInMaxPacketSize;	/////////////////////	//  Control Flags	/////////////////////	LONG                                PendingTx;	atomic_t                                PendingRx;	LONG                                PendingReset;	LONG                                BulkOutFailed;	LONG                                BulkInFailed;	LONG                                DeviceFailed;	UCHAR                               DeviceMode;	BOOLEAN                             UnplugDevice;	atomic_t                                TerminateThreads;	atomic_t                                PendingIoCount;	BOOLEAN                             BSSSelected;	BOOLEAN                             StationWasAssociated;	BOOLEAN                             StationIsAssociated;	BOOLEAN                             StationIsAuthenticated;	UCHAR                               WepLevel;	BOOLEAN                             OutOfRangeDetected;	BOOLEAN                             AddressOverrided;	BOOLEAN                             AutoAuthentication;	BOOLEAN                             AutoPreamble;	BOOLEAN                             AutoJoin;	BOOLEAN                             UseInternalFWImage;	BOOLEAN                             AnyAP;		PVOID								pInformationBuffer;	ULONG								InformationBufferLength;	PULONG								pBytesWritten;	PULONG								pBytesNeeded;	BOOLEAN								SendDelimitingPacket;	ULONG								DelimitingPacketSent;	UINT								FragmentsSent;	USHORT								BulkOutLength;	USHORT								BulkOutRemained;	BOOLEAN								ContinBulkOut;	USHORT								BulkInRemained;	BOOLEAN								ContinBulkIn;	BOOLEAN								BeaconIntervalChangeAllowed;	USHORT								SentBeaconsCount;	USHORT								ReceivedBeaconsCount;	LARGE_INTEGER						TransmittedFragmentCount;#ifdef TEST_MODE_SUPPORT	CmdQElmt							CmdQElements[12];#else	CmdQElmt							CmdQElements[COMMAND_QUEUE_SIZE];#endif	USHORT								MACCounters[11];	TX_RATE_SWITCHING_STRUC			TxRateSwitchingStruc[12];	ULONG			CurrRateGoodTime;	UCHAR			CurrRateBadTime;	UCHAR			TxQuality;	BBP_TUNING_PARAMETERS_STRUC			BBPTuningParameters;	ULONG					LastRxRate;	ULONG					PacketsSentBetweenTBTTs;	BOOLEAN					ScanAllowed;	// Alpha can't link up problem	ULONG					ExtraInfo;				// Extra information for displaying status	//struct net_device_stats	net_device_stats;	/* interface statistics */#ifdef AVOS    PUCHAR              usb_rw_buffer;      // USB read/write buffer.    struct pbuf_head	rxq;    struct pbuf_head	done;#endif}   RT2570ADAPTER, *PRT2570ADAPTER;#endif////////////////////////////////////////////////////////////////////////////////  inline FUNCTIONS////   IncrementIoCount and DecrementIoCount////  DESCRIPTION////   We keep a pending IO count. This count is initialized to one.//   Subsequently, the count is incremented for each new IRP received or//   created and is decremented when each IRP is completed.//   Transition to 'one' therefore indicates no IO is pending and signals//   Adapter->RemoveEvent. Transition to 'zero' signals an event//   (Adapter->RemoveEvent) to enable device removal.////  INPUT////    Adapter                       Ptr to the adapter object////  OUTPUT////    -//////////////////////////////////////////////////////////////////////////////inline VOID IncrementIoCount(PRT2570ADAPTER Adapter);inline VOID DecrementIoCount(IN PRT2570ADAPTER pAdapter);////////////////////////////////////////////////////////////////////////////// __inline VOID EnQTxPacket(PRT2570ADAPTER Adapter, PNDIS_PACKET Packet)// {//     PTX_QUEUE tempTxQnode;//////     if (AllocateMemory(&tempTxQnode, sizeof(TX_QUEUE))!=NDIS_STATUS_SUCCESS)//     {//         NdisMSendComplete(Adapter->AdapterHandle, Packet, NDIS_STATUS_SUCCESS);//         return;//     }////     tempTxQnode->pNdisPacket = Packet;//     tempTxQnode->next = NULL;////     if (Adapter->TxQHead==NULL)//     {//         Adapter->TxQHead = tempTxQnode;//     }////     if (Adapter->TxQTail!=NULL)//     {//         Adapter->TxQTail->next = tempTxQnode;//     }////     Adapter->TxQTail = tempTxQnode;// }////////////////////////////////////////////////////////////////////////////// __inline VOID DeQTxPacket(PRT2570ADAPTER Adapter)// {//     PTX_QUEUE tempTxQnode;////     tempTxQnode = Adapter->TxQHead;//     Adapter->TxQHead = tempTxQnode->next;////     if (Adapter->TxQHead==NULL)//     {//         Adapter->TxQTail=NULL;//     }////     FreeMemory(tempTxQnode, sizeof(TX_QUEUE));// }#define DEVICE_VENDOR_REQUEST_OUT       (USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE)  //0x40#define DEVICE_VENDOR_REQUEST_IN        (USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE )  //0xc0#define INTERFACE_VENDOR_REQUEST_OUT    0x41#define INTERFACE_VENDOR_REQUEST_IN     0xc1#define	PL_RESET_IN	(1<<3)		/* reset input pipe */////////////////////////////////////////////////////////////////////////////// Misc definitions////////////////////////////////////////////////////////////////////////////#define OS_IS_WIN_2000              0   #define OS_IS_WIN_ME                1#define OS_IS_WIN_98                2#define OS_IS_WIN_XP                3////////////////////////////////////////////////////////////////////////////// Station States definitions////////////////////////////////////////////////////////////////////////////#define STATION_STATE_INITIALIZING          0x00#define STATION_STATE_SCANNING              0x01#define STATION_STATE_JOINNING              0x02#define STATION_STATE_AUTHENTICATING        0x03#define STATION_STATE_ASSOCIATING           0x04#define STATION_STATE_READY                 0x05#define STATION_STATE_OUT_OF_RANGE          0x06#define STATION_STATE_DISASSOCIATING        0x07#define STATION_STATE_DIAUTHENTICATING      0x08#define STATION_STATE_REASSOCIATING         0x09#define STATION_STATE_FORCED_JOINNING       0x0a#define STATION_STATE_RECONFIGURING         0x0b#define STATION_STATE_FW_UPGRADE            0x0c#define STATION_STATE_FORCED_JOIN_FAILURE   0x0d #define STATION_STATE_RESETTING             0x0e #define STATION_STATE_RESET_PENDING         0x0f #define STATION_STATE_NOT_NET_MODE          0x10#define STATION_STATE_WAIT_ACTION           0x11 //under XP we need this state to allow XP to take control#define STATION_STATE_REJECTING_PACKETS     0x99 #define STATION_STATE_NO_CARD               0xf0 #define STATION_STATE_MGMT_ERROR            0xf1 #define STATION_STATE_GENERAL_ERROR         0xf2 #define STATION_STATE_POWER_DOWN            0xff////////////////////////////////////////////////////////////////////////////// SCAN Type Definitions////////////////////////////////////////////////////////////////////////////#define SCAN_TYPE_ACTIVE                    0#define SCAN_TYPE_PASSIVE                   1////////////////////////////////////////////////////////////////////////////// Operating Modes definitions////////////////////////////////////////////////////////////////////////////#defi

⌨️ 快捷键说明

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