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

📄 wt.h

📁 mini-PCI driver for LHWT chipsets
💻 H
📖 第 1 页 / 共 3 页
字号:
		    ULONG                   TxOKButDeferred;		    ULONG                   OneRetry;		    ULONG                   MoreThanOneRetry;		    ULONG                   TotalRetries;    // Count of receive errors		    ULONG                   RcvCrcErrors;		    ULONG                   RcvAlignmentErrors;		    ULONG                   RcvResourceErrors;		    ULONG                   RcvDmaOverrunErrors;		    ULONG                   RcvCdtFrames;		    ULONG                   RcvRuntErrors;    ULONG                   IoBaseAddress;        ULONG                   IoRange;               ULONG                   InterruptLevel;#ifdef WIN_PLATFORM    NDIS_PHYSICAL_ADDRESS   CRSMemPhysAddress;        NDIS_PHYSICAL_ADDRESS   CfgPhyAddress;    NDIS_PHYSICAL_ADDRESS   MainMemPhyAddress;#endif //   PVOID                   PortOffset;     PUCHAR                   PortOffset;   //PHW_CSR                 CSRAddress;        PWTWLAN_HWCFG			CfgAddress;    PWTWLAN_MAINMEM		MainMemAddress;#ifdef WIN_PLATFORM	    NDIS_MINIPORT_INTERRUPT Interrupt;#endif    PWTWLAN_HWCSR		CSRAddress;	USHORT					IntStatus;    UCHAR                   RevsionID;    USHORT                  SubVendorID;    USHORT                  SubSystemID;    ULONG                   CacheFillSize;    ULONG                   AlignSize;    ULONG                   Debug;    PUCHAR                  HwMiscMemAllocVa;    ULONG                   HwMiscMemAllocSize;#ifdef WIN_PLATFORM    NDIS_PHYSICAL_ADDRESS   HwMiscMemAllocPa;#endif		    UINT                    PhyAddress;         // Address of the phy component 		    UCHAR                   Connector;          // 0=Auto, 1=TPE, 2=MII		    USHORT                  AiTxFifo;           // TX FIFO Threshold		    USHORT                  AiRxFifo;           // RX FIFO Threshold		    UCHAR                   AiTxDmaCount;       // Tx dma count		    UCHAR                   AiRxDmaCount;       // Rx dma count		    UCHAR                   AiUnderrunRetry;    // The underrun retry mechanism		    UCHAR                   AiForceDpx;         // duplex setting		    USHORT                  AiTempSpeed;        // 'Speed', user over-ride of line speed		    USHORT                  AiThreshold;        // 'Threshold', Transmit Threshold		    BOOL                 MWIEnable;          // Memory Write Invalidate bit in the PCI command word		    UCHAR                   Congest;            // Enables congestion control		    UCHAR                   SpeedDuplex;        // New reg value for speed/duplex    NDIS_MEDIA_STATE        MediaState;    NDIS_DEVICE_POWER_STATE CurrentPowerState;    NDIS_DEVICE_POWER_STATE NextPowerState;    UCHAR                   OldParameterField;    // WMI support    ULONG                   CustomDriverSet;    ULONG                   HwErrCount;    // Minimize init-time     BOOL                 bQueryPending;    BOOL                 bSetPending;    BOOL                 bResetPending;#ifdef WIN_PLATFORM    NDIS_MINIPORT_TIMER     LinkDetectionTimer;#endif    WT_QUERY_REQUEST        QueryRequest;    WT_SET_REQUEST          SetRequest;    		    BOOL                 bLinkDetectionWait;		    BOOL                 bLookForLink;		    UCHAR                   CurrentScanPhyIndex;		    UCHAR                   LinkDetectionWaitCount;		    UCHAR                   FoundPhyAt;		    USHORT                  EepromAddressSize;    WT_POWER_MGMT           PoMgmt;#ifdef WIN_PLATFORM    NDIS_SPIN_LOCK          Lock;    NDIS_SPIN_LOCK          SendLock;    NDIS_SPIN_LOCK          RcvLock;    NDIS_SPIN_LOCK          MacLock;#else    spinlock_t          Lock;    spinlock_t          SendLock;    spinlock_t          RcvLock;    spinlock_t          MacLock;#endif	    ULONG                   		RcvRefCount;  // number of packets that have not been returned back#ifdef WIN_PLATFORM    NDIS_EVENT              	AllPacketsReturnedEvent;#endif	BOOL				bLinkStatus;				//when associate or start link;		BOOL			bQosEnable;	WTWLAN_TBD  WtTDB;	WTWLAN_RFD  WtRFD;			WTWLAN_MAC_PARAMETER  MacParameter;	WTWLAN_MAC_DOT11MIB    dot11Mib;#ifdef WIN_PLATFORM	NDIS_802_11_STATISTICS  MacStatistics;#endif	UINT					NdisScanDbNUM;	UINT					ulWlanScanDbSize;	NDIS_802_11_PARAMETER	Ndis80211Parameter;	NDIS_802_11_CUR_NET		NdisCurNet;	WTWLAN_MLME_PARAMETER  MlmeParameter;	//added by hk 2004.9.23    NDIS_802_11_SSID        PreferredIBSS;//�ѡ�BSS����BSSw�ʱͽb��BSS��	WTWLAN_HW_CFG			MacHwCfg;	//802.11 support	NDIS_802_11_MAC_ADDRESS                    BSSID;    NDIS_802_11_SSID                           SSID;    ULONG                                      INFRASTRUCTURE_MODE;    NDIS_802_11_WEP                            WEP;//OID_802_11_ADD_WEP support    NDIS_802_11_KEY_INDEX                      RemoveWEPIndex;//OID_802_11_REMOVE_WEP support    ULONG                                      AUTHENTICATION_MODE;    ULONG                                      PRIVACY_FILTER;//802.1X privacy filter mode:Ndis802_11PrivFilterAcceptAll or Ndis802_11PrivFilter8021xWEP    //NDIS_802_11_BSSID_LIST                     BSSID_LIST_SCAN;    ULONG                                      WEP_STATUS;//WEP status: enable or disable    ULONG                                      RELOAD_DEFAULTS;    NDIS_802_11_NETWORK_TYPE_LIST              NETWORK_TYPES_SUPPORTED;    ULONG                                      NETWORK_TYPE_IN_USE;//Ndis802_11FH or Ndis802_11DS    NDIS_802_11_TX_POWER_LEVEL                 TX_POWER_LEVEL;    NDIS_802_11_RSSI                           RSSI;//received signal strength indication    NDIS_802_11_RSSI                           RSSI_TRIGGER;//determines when an RSSI status indication event will occur    NDIS_802_11_FRAGMENTATION_THRESHOLD        FRAGMENTATION_THRESHOLD;    NDIS_802_11_RTS_THRESHOLD                  RTS_THRESHOLD;    ULONG                                      NUMBER_OF_ANTENNAS;    NDIS_802_11_ANTENNA                        RX_ANTENNA_SELECTED;    NDIS_802_11_ANTENNA                        TX_ANTENNA_SELECTED;    NDIS_802_11_RATES                          SUPPORTED_RATES;    NDIS_802_11_RATES                          DESIRED_RATES;    NDIS_802_11_CONFIGURATION                  CONFIGURATION;    ULONG                                      POWER_MODE;  //  NDIS_802_11_BSSID_LIST                     *pBSSID_LIST;#ifdef WIN_PLATFORM    NDIS_802_11_STATISTICS                     STATISTICS;#endif	//PNDIS_802_11_KEY                            KEY;	ULONG		StaNum;	MacCache   StaTable[MAX_STATIONS];	HASHENTRY HashList;	Memory_OID Memory_OID;	BOOL   IsListenMode;	PReceivedPackets     pReceivedPackets;	//volatile ULONG IntInterval;	//just for test 2005.1.20	ULONG ReceiveSuccessMpduNum;	ULONG ReceiveWrongMpduNum;  ////////////////////////////////////////////////////////////////////////////////////                            /*we add these for wt4!!! */        spinlock_t slock;	  	  	//void __iomem *device_base;	void __iomem *device_base1;	void __iomem *device_base2;		u32 priv_oid;		u32 iw_mode;	struct rw_semaphore mib_sem;	char nickname[IW_ESSID_MAX_SIZE+1];		/*wireless stats*/	struct semaphore stats_sem;	unsigned long stats_timestamp;//??  we'll delete ie later!		/* WPA stuff */	struct list_head bss_wpa_list;	struct semaphore wpa_sem;		//struct work_struct reset_task;	int reset_task_pending;	/* wait for a reset interrupt */	wait_queue_head_t reset_done;		/* used by islpci_mgt_transaction */	struct semaphore mgmt_sem; /* serialize access to mailbox and wqueue */	struct islpci_mgmtframe *mgmt_received;	  /* mbox for incoming frame */	wait_queue_head_t mgmt_wqueue;            /* waitqueue for mbox */		/* Take care of the wireless stats */	//struct work_struct stats_work;	 		int monitor_type;         struct wt_acl acl;	/* network_device structure for wt4 */	struct net_device *ndev;		struct iw_statistics local_iwstatistics;	struct iw_statistics iwstatistics;        struct iw_spy_data spy_data; /* iwspy support */		/* driver network interface members */	struct net_device_stats statistics;		struct pci_dev *pdev;	/* PCI structure information */		/* state machine */	islpci_state_t state;	int state_off;		/*add a temp val for our priv command*/	unsigned int readmem_val;		BOOL bSend_Test;	BOOL bRecv_Test; 	int  Cmd_Type;        REG_MAC_PARAMETER RegMacParameter;			volatile unsigned long debugvar1;	volatile unsigned long debugvar2;	volatile unsigned long debugvar3;	volatile unsigned char debugstring[128];  ////////////////////////////////////////////////////////////////////////////////////  	//added by hk 2006.6.22  	UCHAR NextRecvBank;	//added by hk 2006.9.27	struct 	tasklet_struct 					TxTasklet;	struct 	tasklet_struct 					RxTasklet;} WT_ADAPTER, *PWT_ADAPTER;//#endif //---------------------------------------------------------------------------//////////////////////////////////////////////////////////////////////////////////// Added by HK 10.10 /////////////////////////////////////////////////////////////////////////////////typedef struct{	WTWLAN_BSSID_DESC BD;	int JTo;	Usec PDly;	UINT64 bdTstamp;	Ratestring ORates;}MlmeJoinRequest;typedef struct{	PwrSave Psm; 	BOOL WakeUp;	BOOL ReceiveDtims;}MlmePowerMgtRequest;#define WT_STALL_AND_WAIT(_condition, _timeout_ms, _result)     \{                                                               \    int counter;                                                \    _result = FALSE;                                            \    for(counter = _timeout_ms * 50; counter != 0; counter--)    \    {                                                           \        if(_condition)                                          \        {                                                       \            _result = TRUE;                                     \            break;                                              \        }                                                       \        NdisStallExecution(20);                                 \    }                                                           \}__inline VOID  WT_STALL_EXECUTION(IN UINT MsecDelay);VOID inline WT_STALL_WAIT(IN UINT MsecDelay);#ifdef WIN_PLATFORM__inline NDIS_STATUS WT_GET_STATUS_FROM_FLAGS(PWT_ADAPTER Adapter){    NDIS_STATUS Status = NDIS_STATUS_FAILURE;    if(WT_TEST_FLAG(Adapter, fWT_ADAPTER_RESET_IN_PROGRESS))    {        Status = NDIS_STATUS_RESET_IN_PROGRESS;          }    else if(WT_TEST_FLAG(Adapter, fWT_ADAPTER_HARDWARE_ERROR))    {        Status = NDIS_STATUS_DEVICE_FAILED;    }    else if(WT_TEST_FLAG(Adapter, fWT_ADAPTER_NO_CABLE))    {        Status = NDIS_STATUS_NO_CABLE;    }        Status = NDIS_STATUS_SUCCESS;    return Status;}   #endif//--------------------------------------// Miniport routines in WT_MAIN.C//--------------------------------------#ifdef WIN_PLATFORMNDIS_STATUS DriverEntry(    IN  PDRIVER_OBJECT      DriverObject,    IN  PUNICODE_STRING     RegistryPath);#endif#ifdef WIN_PLATFORMVOID WTAllocateComplete(    //NDIS_HANDLE MiniportAdapterContext,    IN PVOID VirtualAddress,    IN PNDIS_PHYSICAL_ADDRESS PhysicalAddress,    IN ULONG Length,    IN PVOID Context);BOOL WTCheckForHang(    IN PWT_ADAPTER Adapter);VOID WTHalt(    IN PWT_ADAPTER Adapter);    NDIS_STATUS WTInitialize(    OUT PNDIS_STATUS OpenErrorStatus,    OUT PUINT SelectedMediumIndex,    IN PNDIS_MEDIUM MediumArray,    IN UINT MediumArraySize,    IN NDIS_HANDLE MiniportAdapterHandle,    IN NDIS_HANDLE WrapperConfigurationContext);VOID WTHandleInterrupt(    IN NDIS_HANDLE MiniportAdapterContext);VOID WTIsr(    OUT PBOOL InterruptRecognized,    OUT PBOOL QueueMiniportHandleInterrupt,    IN NDIS_HANDLE MiniportAdapterContext);NDIS_STATUS WTQueryInformation(    IN NDIS_HANDLE MiniportAdapterContext,    IN NDIS_OID Oid,    IN PVOID InformationBuffer,    IN ULONG InformationBufferLength,    OUT PULONG BytesWritten,    OUT PULONG BytesNeeded);NDIS_STATUS WTReset(    OUT PBOOL AddressingReset,    IN  NDIS_HANDLE MiniportAdapterContext);VOID WTReturnPacket(    IN NDIS_HANDLE  MiniportAdapterContext,    IN PNDIS_PACKET Packet);VOID WTSendPackets(    IN  NDIS_HANDLE             MiniportAdapterContext,    IN  PPNDIS_PACKET           PacketArray,    IN  UINT                    NumberOfPackets);NDIS_STATUS WTSetInformation(    IN NDIS_HANDLE MiniportAdapterContext,    IN NDIS_OID Oid,    IN PVOID InformationBuffer,    IN ULONG InformationBufferLength,    OUT PULONG BytesRead,    OUT PULONG BytesNeeded);VOID WTShutdown(    IN  NDIS_HANDLE MiniportAdapterContext);#endif#ifdef WIN_PLATFORM     #ifdef NDIS51_MINIPORTVOID WTCancelSendPackets(    IN  NDIS_HANDLE    MiniportAdapterContext,    IN  PVOID             CancelId);VOID WTPnPEventNotify(    IN  NDIS_HANDLE                MiniportAdapterContext,    IN  NDIS_DEVICE_PNP_EVENT   PnPEvent,    IN  PVOID                         InformationBuffer,    IN  ULONG                         InformationBufferLength);#endif   #endif //#ifdef WIN_PLATFORM#ifdef WIN_PLATFORMNDIS_STATUSWTSetPowerD0Private (IN WT_ADAPTER* pAdapter);#endif    VOIDWTSetPowerLowPrivate(PWT_ADAPTER Adapter);VOID  WtExtractPMInfoFromPciSpace(    PWT_ADAPTER pAdapter,    PUCHAR pPciConfig    );VOIDHwSetWakeUpConfigure(    IN PWT_ADAPTER pAdapter,     PUCHAR pPoMgmtConfigType,     UINT WakeUpParameter    );BOOL  WTIsPoMgmtSupported(   IN PWT_ADAPTER pAdapter   );VOID NICIssueSelectiveReset(    PWT_ADAPTER Adapter); //we changed here:PWT_ADAPTER Adapter#ifdef WIN_PLATFORM  NDIS_STATUSWTCalculateWT40PatternForFilter (    IN PUCHAR pFrame,    IN ULONG FrameLength,    IN PUCHAR pMask,    IN ULONG MaskLength,    OUT PULONG pSignature    );#endif VOIDWTRemoveAllWakeUpPatterns (    PWT_ADAPTER pAdapter //we changed here:PWT_ADAPTER pAdapter    );           #define WtSendPacketsHandler  WTSendPackets#define  WT_FREE_SEND_PACKET_FUN(Adapter, pWtTxBuf)  WT_FREE_SEND_PACKET(Adapter, pWtTxBuf)#define  WtSendPacketFun(Adapter, Packet, bFromQueue) WtSendPacket(Adapter, Packet,bFromQueue)#endif  // _WT_H

⌨️ 快捷键说明

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