📄 zd1205.h
字号:
wait_queue_head_t iorwRsp_wait; wait_queue_head_t term_wait; wait_queue_head_t msdelay; struct semaphore ps_sem; struct semaphore bcn_sem; struct semaphore reg_sem; struct semaphore config_sem; struct usb_interface *interface; /* the interface for this device */ spinlock_t intr_lock; spinlock_t rx_pool_lock; u8 tx_buff[ZD1211_MAX_MTU];#if 1//(LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) u8 IntEPBuffer[MAX_EPINT_BUFFER];#else u8 *IntEPBuffer; dma_addr_t IntBufferHandle;#endif u8 IntEPBuffer2[MAX_EPINT_BUFFER]; u8 IntEPBuffer3[MAX_EPINT_BUFFER]; u8 num_interrupt_in; u8 num_interrupt_out; u8 num_bulk_in; u8 num_bulk_out; u8 in_interval; u8 out_interval; u8 ep4isIntOut; u8 cmd_end; u8 read_end; u16 wMaxPacketSize;#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) unsigned int flags; unsigned int kevent_flags;#else unsigned long flags; unsigned long kevent_flags;#endif int release; /* release number */ int total_rx_cnt; int end; u32 usbTxCnt; u32 usbTxCompCnt; struct rx_list_elem **rx_struct_array; struct tasklet_struct zd1211_rx_tasklet; struct tasklet_struct zd1211_tx_tasklet; struct tasklet_struct rx_buff_tasklet; struct work_struct scan_tout_event; struct work_struct kevent; struct zdap_ioctl zdreq; /* ath_desc: support for unpatched wpasupplicant */ struct iw_mlme mlme_req; struct ifreq ifreq; struct zydas_wlan_param zd_wpa_req; int ifcmd; //debug counter u32 regWaitRCompCnt; u32 regWaitWCompCnt; u32 regRWCompCnt; u32 regWaitRspCnt; u32 regRspCompCnt; u32 regUnCompCnt; u32 regRdSleepCnt;#else struct pci_dev *pdev;#endif struct driver_stats drv_stats;#if ZDCONF_WE_STAT_SUPPORT == 1 struct iw_statistics iwstats;#elif !defined(ZDCONF_WE_STAT_SUPPORT) #error "Undefine ZDCONF_WE_STAT_SUPPORT"#endif struct timer_list watchdog_timer; /* watchdog timer id */ struct timer_list tm_chal_id; struct timer_list tm_scan_id; struct timer_list tm_auth_id; struct timer_list tm_asoc_id; struct timer_list tm_hking_id; struct timer_list tm_mgt_id; char ifname[IFNAMSIZ]; spinlock_t bd_lock; /* board lock */ spinlock_t bd_non_tx_lock; /* Non transmit command lock */ spinlock_t q_lock; spinlock_t cs_lock; spinlock_t conf_lock; int using_dac; struct tasklet_struct zd1205_tasklet; struct tasklet_struct zd1205_ps_tasklet; struct tasklet_struct zd1205_tx_tasklet; struct proc_dir_entry *proc_parent; struct list_head active_rx_list; /* list of rx buffers */ struct list_head rx_struct_pool; /* pool of rx buffer struct headers */ u16 rfd_size; u8 rev_id; /* adapter PCI revision ID */ u8 sniffer_on; int skb_req; /* number of skbs neede by the adapter */ rwlock_t isolate_lock; int driver_isolated; char *cable_status; void *regp; u8 macAdr[8]; u8 mcastAdr[8]; u32 intrMask; zd1205_SwTcbQ_t *freeTxQ; zd1205_SwTcbQ_t *activeTxQ; u32 txCachedSize; u8 *txCached; u16 dtimCount; u8 numTcb; u16 numTbd; u8 numRfd; u8 numTbdPerTcb; u32 rxOffset; u32 debugflag; card_Setting_t cardSetting; u8 BSSID[8]; u32 dbg_flag; //debug counter u32 bcnCnt; u32 dtimCnt; u32 txCmpCnt; u32 rxCnt; u32 retryFailCnt; u32 txCnt; u32 txIdleCnt; u32 rxIdleCnt; u32 rxDupCnt; u32 DriverDiscardedFrmCauseByMulticastList; u32 DriverDiscardedFrmCauseByFrmCtrl; u32 DriverReceivedFrm; u32 DriverRxMgtFrmCnt; u32 ErrLongFrmCnt; u32 ErrShortFrmCnt; u32 ErrToHostFrmCnt; u32 ErrZeroLenFrmCnt; u32 ArFreeFailCnt; u32 ArSearchFailCnt; u32 ArAgedCnt; u32 DropFirstFragCnt; u32 rxNeedFragCnt; u32 rxCompFragCnt; u32 AllocSkbFailCnt; u32 txQueToUpCnt; u32 txQueSetCnt; u32 sleepCnt; u32 wakeupCnt; //HMAC counter u32 hwTotalRxFrm; u32 hwCRC32Cnt; u32 hwCRC16Cnt; u32 hwDecrypErr_UNI; u32 hwDecrypErr_Mul; u32 hwRxFIFOOverrun; u32 hwTotalTxFrm; u32 hwUnderrunCnt; u32 hwRetryCnt; u32 TxStartTime; u32 HMAC_TxTimeout; u8 bTraceSetPoint; u8 bEnableTxPwrCtrl; u8 TxOFDMCnt; u8 TxOFDMType; u8 TxPwrCCK; u8 TxPwrOFDM; // 6M - 36M u8 bFixedRate; u8 bDataTrafficLight; u8 NoBcnDetectedCnt; u8 LinkTimer; u32 LinkLEDn; u32 LinkLED_OnDur; u32 LinkLED_OffDur; u32 DataLED; u16 AddrEntryTable; u8 bAllowAccessRegister; U8 FlashType; u16 ReadRegCount; u16 SetPoint; u8 dtim_notify_en; u8 config_next_bcn_en; u32 invalid_frame_good_crc; u8 bGkInstalled; u8 rxSignalQuality; u8 rxSignalStrength; u8 rxSignalQualityIndB; u8 rxSignalQuality1; u8 rxSignalQuality2; u16 EepSetPoint[14]; u16 SetPointOFDM[3][14];//JWEI 2003/12/31 u32 RegionCode; u32 RF_Mode; u8 PA_Type; u8 MaxTxPwrSet; u8 MinTxPwrSet; u8 bss_index; bss_info_t BSSInfo[BSS_INFO_NUM]; tuple_Cache_t cache; defrag_Array_t defragArray; rxInfo_t rxInfo; //added for STA atomic_t DoNotSleep; u8 bSurpriseRemoved; u8 bAssoc; u8 PwrState; u8 SuggestionMode; u8 bPSMSupported; u8 bAPAlive; u8 BSS_Members; u8 Notification; u8 WorseSQThr; u8 bIBSS_Wakeup_Dest; u8 bFrmRxed1; u8 bAnyActivity; u8 NiceSQThr; u8 NiceSQThr_OFDM; u8 bEnableSwAntennaDiv; u8 Ant_MonitorDur1; u8 Ant_MonitorDur2; u8 CR138Flag; u8 MulticastAddr[194]; // the first byte is the number of multicast addresses u32 TotalTxDataFrmBytes; u32 TotalRxDataFrmBytes; u32 txMulticastFrm; u32 txMulticastOctets; u32 txUnicastFrm; u32 txUnicastOctets; u32 NormalBackoff; u32 UrgentBackoff; u32 LooseBackoff; u32 Acc_Num_OFDM; u32 Acc_SQ_OFDM; u32 Bcn_Acc_Num; u32 Bcn_Acc_SQ; u32 CheckForHangLoop; u16 SequenceNum; u16 iv16; u32 iv32; u32 Acc_Num; u32 Acc_SQ; u32 GroupHashP1; u32 GroupHashP2; u32 PSThreshhold; u8 rxDecryType; u32 rx11bDataFrame; u32 rxOFDMDataFrame;#ifdef OFDM u8 bTxBurstEnable; int TxBurstCount;#endif#ifdef HOST_IF_USB u32 USBCSRAddress; u8 bUSBDeveiceAttached; u8 bUSBDeveiceResetting; u8 bHandleNonRxTxRunning; u32 REG_6e4_Add; u32 Continue2Rx; u8 LastZDContinuousTxRate; u32 WaitLenInfoCnt; u32 CompLenInfoCnt; u32 NoMergedRxCnt; u8 bFlashable;#endif u8 bDisableTx; u8 PHYSettingFlag; u8 PHYTestIndex; u8 PHYTestTimer; u8 PHYTestTimerCount; u8 PHYTestRssiBound; u8 PHYTestRssi; u8 PHYLowPower; u8 IPCFlag; u8 AdapterMaxRate; u8 PHYFreOFDMframe; u8 EnableTxPwrCtrl; u32 PHYTestTotal; u32 TrafficBound; u32 DriverRxFrmCnt; u64 rxDataPerSec; u64 txDataPerSec; u32 txUnCachedSize; dma_addr_t txUnCachedPhys; void *txUnCached; //Modified for Supplicant int bDefaultIbssMacMode; u32 bOLBC; u32 nOLBC_CounterInSec;};typedef struct zd1205_private zd1205_private_t;struct usb_eth_dev{ char *name; __u16 vendor; __u16 device; __u32 private; /* LSB is gpio reset value */};#define ZD_IOCTL_REG_READ 0x01#define ZD_IOCTL_REG_WRITE 0x02#define ZD_IOCTL_MEM_DUMP 0x03#define ZD_IOCTL_RATE 0x04#define ZD_IOCTL_SNIFFER 0x05#define ZD_IOCTL_CAM_DUMP 0x06#define ZD_IOCTL_DUMP_PHY 0x07#define ZD_IOCTL_CARD_SETTING 0x08#define ZD_IOCTL_HASH_DUMP 0x09#define ZD_IOCTL_RFD_DUMP 0x0A#define ZD_IOCTL_MEM_READ 0x0B#define ZD_IOCTL_MEM_WRITE 0x0C//for STA#define ZD_IOCTL_TX_RATE 0x0D#define ZD_IOCTL_EEPROM 0x0E//for debug purposes#define ZD_IOCTL_BCN 0x10#define ZD_IOCTL_REG_READ16 0x11#define ZD_IOCTL_REG_WRITE16 0x12//for CAM Test#define ZD_IOCTL_CAM_READ 0x13#define ZD_IOCTL_CAM_WRITE 0x14#define ZD_IOCTL_CAM_RESET 0x15#define ZD_IOCTL_READ_PHY 0x16#define ZD_IOCTL_WRITE_PHY 0x17#define ZD_IOCTL_CONT_TX 0x18#define ZD_IOCTL_SET_MIC_CNT_ENABLE 0x19#define ZD_IOCTL_GET_MIC_CNT_ENABLE 0x1A#define ZD_IOCTL_DEBUG_FLAG 0x21#define ZDAPIOCTL SIOCDEVPRIVATE/**************************************************************************** Function Declarations****************************************************************************/void zd1205_sleep_reset(struct zd1205_private *macp);void update_beacon_interval(struct zd1205_private *macp, int val);void zd1205_sw_reset(struct zd1205_private *macp);void zd1205_watchdog_cb(struct net_device *);void zd1205_dump_data(char *info, u8 *data, u32 data_len);void zd1205_init_card_setting(struct zd1205_private *macp);/* ath: loading/saving files from kernel is a hack *///void zd1205_load_card_setting(struct zd1205_private *macp, u8 bInit);//void zd1205_save_card_setting(struct zd1205_private *macp);zd1205_SwTcb_t * zd1205_first_txq(struct zd1205_private *macp, zd1205_SwTcbQ_t *Q);/* ath: gcc4 needs inline function bodies in the declaration */u32 zd_readl(u32 offset);void zd_writel(u32 value, u32 offset);void zd1205_disable_int(void);void zd1205_enable_int(void);void zd1205_lock(struct zd1205_private *macp);void zd1205_unlock(struct zd1205_private *macp);void zd1205_device_reset(struct zd1205_private *macp);void zd1205_config_wep_keys(struct zd1205_private *macp);void zd1205_config_dyn_key(u8 DynKeyMode, u8 *pkey, int idx);struct sk_buff* zd1205_prepare_tx_data(struct zd1205_private *macp, u16 bodyLen);void zd1205_tx_test(struct zd1205_private *macp, u16 size);void zd1205_qlast_txq(struct zd1205_private *macp, zd1205_SwTcbQ_t *Q, zd1205_SwTcb_t *signal);int zd1205_DestPowerSave(struct zd1205_private *macp, u8 *pDestAddr);int zd1205_found1(struct pci_dev *pcid, const struct pci_device_id *ent);void zd1205_remove1(struct pci_dev *pcid);BOOLEAN a_OSC_get_cal_int( u8 ch, u32 rate, u8 *intValue, u8 *calValue);void zd1205_tx_isr(struct zd1205_private *);u32 zd1205_rx_isr(struct zd1205_private *macp);void zd1205_clear_structs(struct net_device *dev);unsigned char zd1205_init(struct zd1205_private *);int zd1205_open(struct net_device *);int zd1205_close(struct net_device *);int zd1205_change_mtu(struct net_device *, int);int zd1205_set_mac(struct net_device *, void *);void zd1205_set_multi(struct net_device *);void zd1205_IncreaseTxPower(struct zd1205_private *macp, u8 TxPwrType);void zd1205_DecreaseTxPower(struct zd1205_private *macp, u8 TxPwrType);void iLED_ON(struct zd1205_private *macp, u32 LEDn);void iLED_OFF(struct zd1205_private *macp, u32 LEDn);void iLED_SWITCH(struct zd1205_private *macp, u32 LEDn);void HKeepingCB(struct net_device *dev);void zd1205_mgt_mon_cb(struct net_device *dev);int zd1205_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);int zd1205_xmit_frame(struct sk_buff *skb, struct net_device *dev);struct net_device_stats *zd1205_get_stats(struct net_device *);void hostap_michael_mic_failure(struct zd1205_private *macp, struct hostap_ieee80211_hdr *hdr, int keyidx);#ifndef HOST_IF_USBvoid zd1205_start_ru(struct zd1205_private *);#elsestruct rx_list_elem *zd1205_start_ru(struct zd1205_private *);#endifvoid zd1205_process_wakeup(struct zd1205_private *macp);void zd1205_connect_mon(struct zd1205_private *macp);void zd1205_watchdog(struct zd1205_private *macp);void zd1205_house_keeping(struct zd1205_private *macp);void zd1211_set_multicast(struct zd1205_private *macp);int zd1205_dis_connect(struct zd1205_private *macp);void ChangeMacMode(u8 MAC_Mode, u8 Channel);void zd1205_alloc_skbs(struct zd1205_private *macp);const int zd1211_mlme(struct zd1205_private *macp);#if ZDCONF_WE_STAT_SUPPORT == 1struct iw_statistics * zd1205_iw_getstats(struct net_device *dev);#elif !defined(ZDCONF_WE_STAT_SUPPORT) #error "Undefine ZDCONF_WE_STAT_SUPPORT"#endif#endif /* _ZD1205_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -