📄 wt.h
字号:
// 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.3.6????should initialize// struct ieee80211com ic; //just for test by hk 2006.3.30 UINT64 ini, end; //added by hk 2006.4.12 PWTWLAN_TXBUF pBeaconWtTxBuf; //////////////////////////////////////////////////////////////////////////////////// //added by hk 2006.5.30 UINT32 KeyTableIndex; //added by hk 2006.6.19 int CurrentWepKeyIndex; //added by hk 2006.6.22 UCHAR NextRecvBank; //added by hk 2006.7.10 UINT8 BestChannel; //tttt // LONG nMgtBusySend; //added by hk 2006.8.24 int wds; struct wds_priv* wdsp; //added by hk 2006.9.27 struct tasklet_struct TxTasklet; struct tasklet_struct RxTasklet; //unsigned int BeaconReceiveWatchDog; //Essid Ap_conceal_addr; NDIS_802_11_SSID Ap_conceal_ssid;} 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 + -