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

📄 wlc.h

📁 wi-fi sources for asus wl138g v2 pci card
💻 H
📖 第 1 页 / 共 3 页
字号:
	uint32		mhf;			/* union of ucode M_HOST_FLAG and M_HOST_FLAG2 */	struct rateset	hw_rateset;		/* rates supported by chip (phy-specific) */	uint8		basic_rate[WLC_MAXRATE+1]; /* basic rates indexed by rate */	int8		antgain;		/* antenna gain from srom */	int		roam_trigger;		/* "good enough" threshold for current AP */	uint		roam_delta;		/* "signif better" thresh for new AP candidates */	int		roam_trigger_def;	/* roam trigger init. value */	uint		roam_delta_def;		/* roam delta init. value */	uint		phycal_nslope;		/* time of last nrssislope calibration */	uint		phycal_noffset;		/* time of last nrssioffset calibration */	uint16		CWmin;	/* The minimum size of contention window, in unit of aSlotTime */	uint16		CWmax;	/* The maximum size of contention window, in unit of aSlotTime */} wlcband_t;/* generic function callback takes just one arg */typedef void (*cb_fn_t)(void *);/* tx completion callback takes 3 args */typedef void (*pkcb_fn_t)(wlc_info_t *wlc, uint txstatus, void *arg);typedef struct {	pkcb_fn_t fn;		/* function to call when tx frame completes */	void *arg;		/* void arg for fn */	uint8 nextidx;		/* index of next call back if threading */	bool entered;		/* recursion check */} pkt_cb_t;#define WLC_MAX_BRCM_ELT	32	/* Max size of BRCM proprietary elt *//* Indexes for A band txpwr from srom */#define A_LOW_CHANS  0  /* Index for low channels in A band */#define A_MID_CHANS  1  /* Index for mid channels in A band */#define A_HIGH_CHANS 2  /* Index for high channels in A band */#define G_ALL_CHANS  0 /* Index for all channels in G band *//* aci_state state bits */#define ACI_ACTIVE	(1 << 1)		/* enabled either manually or automatically */#define ACI_AUTO	(1 << 2)		/* Auto or manual *//* module control blocks */typedef	struct {	char name[32];               /* module name : NULL indicates empty array member */	const wlc_iovar_t *iovars;	/* iovar table */	void *hdl;			/* handle passed when handler 'doiovar' is called */	watchdog_fn_t watchdog_fn;	/* watchdog handler */	iovar_fn_t iovar_fn;		/* iovar handler */	down_fn_t down_fn;		/* down handler */} modulecb_t;/* Allowed transmit features for scb */typedef enum scb_txmod {	SCB_START, /* Node to designate start of the tx path */	SCB_CRAM,	SCB_APPS,	SCB_AMSDU,	SCB_BA,	SCB_AMPDU,	SCB_TRANSMIT,	/* Node to designate enqueue to wlc->txq */	SCB_LAST} scb_txmod_t;/* Function that does transmit packet feature processing. prec is precedence of the packet */typedef void (*txmod_tx_fn_t)(void *ctx, struct scb *scb, void *pkt, uint prec);/* Callback for txmod when it gets deactivated by other txmod */typedef void (*txmod_deactivate_fn_t)(void *ctx, struct scb *scb);/* Callback for txmod when it gets activated */typedef void (*txmod_activate_fn_t)(void *ctx, struct scb *scb);/* Structure to store registered functions for a Txmod */typedef struct txmod_info {	txmod_tx_fn_t		tx_fn;			/* Process the packet */	txmod_deactivate_fn_t	deactivate_notify_fn;	/* Handle the deactivation of the feature */	txmod_activate_fn_t	activate_notify_fn;	/* Handle the activation of the feature */	void *ctx; 					/* Opaque handle to be passed */} txmod_info_t;/* * Principle common (os-independent) software data structure. */struct wlc_info {	wlc_pub_t	pub;			/* wlc public state (must be first field of wlc) */	void		*wl;			/* pointer to os-specific private state */	/* submodule handler */	led_info_t	*ledh;			/* pointer to led specific information */	void		*sup;			/* pointer to supplicant state */	void		*btparam;		/* bus type specific cookie */	d11regs_t	*regs;			/* pointer to device registers */	int		vars_size;		/* size of vars, free vars on detach */	uint32		btc_mhf;		/* MHF for Blue Tooth Coexistance */	void		*phy_sh;		/* pointer to shared phy state */	bool		sbclk;			/* sb has clock */	bool		plldown;		/* true if we should power off pll in down state */	bool		forcefastclk;		/* true if the h/w is forcing the use of fast clk */	/* version info */	uint16		vendorid;		/* PCI vendor id */	uint16		deviceid;		/* PCI device id */	uint		ucode_rev;		/* microcode revision */	struct ether_addr perm_etheraddr;	/* original sprom local ethernet address */	/* multiband */	uint		ncores;			/* # d11 hardware cores */	wlccore_t	*core;			/* pointer to active io core */	wlcband_t	*band;			/* pointer to active per-band state */	wlccore_t	corestate[MAXCORES];	/* per-core state (one per hw core) */	wlcband_t	bandstate[MAXBANDS];	/* per-band state (one per phy/radio) */	bool		bandlocked;		/* disable auto multi-band switching */	/* interrupt */	uint32		macintstatus;		/* bit channel between isr and dpc */	uint32		macintmask;		/* sw runtime master macintmask value */	uint32		defmacintmask;		/* default "on" macintmask value */	volatile uint32	maccontrol;		/* maccontrol register sw cache */	/* up and down */	bool		radio_monitor;		/* radio timer is running */	bool		down_override;		/* true=down */	bool		going_down;		/* down path intermediate variable */	/* timer */	struct wl_timer *wdtimer;		/* timer for watchdog routine */	uint		fast_timer;		/* Periodic timeout for 'fast' timer */	uint		slow_timer;		/* Periodic timeout for 'slow' timer */	uint		glacial_timer;		/* Periodic timeout for 'glacial' timer */	uint		now;			/* # elapsed seconds */	uint		phycal_mlo;		/* last time measurelow calibration was done */	uint		phycal_txpower;		/* last time txpower calibration was done */	struct wl_timer *radio_timer;		/* timer for hw radio button monitor routine */	struct wl_timer *led_timer;		/* periodic led timer */	/* promiscuous */	bool		monitor;		/* monitor (MPDU sniffing) mode */	bool		bcnmisc_ibss;		/* bcns promisc mode override for IBSS */	bool		bcnmisc_scan;		/* bcns promisc mode override for scan */	bool		bcnmisc_monitor;	/* bcns promisc mode override for monitor */	bool		_piomode;		/* true if pio mode */	bool		channel_qa_active;	/* true if chan qual measurement in progress */	bool		bcns_lost;		/* indicate if the STA can see the AP */	bool		war16165;		/* PCI slow clock 16165 war flag */	bool		check_for_unaligned_tbtt; /* check unaligned tbtt flag */	bool		PM_override;		/* no power-save flag, override PM(user input) */	bool		PMenabled;		/* current power-management state (CAM or PS) */	bool		PMpending;		/* waiting for tx status with PM indicated set */	bool		PMblocked;		/* block any PSPolling, PS mode being used to buffer						 * AP traffic						 */	bool		WME_PM_blocked;		/* Can STA go to PM when in WME Auto mode */	bool		dtim_programmed;	/* wait for dtim beacon */	bool		wake;			/* host-specified PS-mode sleep state */	bool		wakeforclkctl;		/* force wake for clkctl change */	bool		wakefortxfifo;		/* force wake for tx fifo access */	bool		wakeformacsuspend;	/* force wake for mac suspend and wait */	bool		wme_noack;		/* enable WME no-acknowledge mode */	ac_bitmap_t	wme_dp;			/* Discard (oldest first) policy per AC */	bool		wme_apsd;		/* enable Advanced Power Save Delivery */	bool		wme_apsd_assoc;		/* an associated STA is using APSD */	int		vlan_mode;		/* OK to use 802.1Q Tags (ON, OFF, AUTO) */	uint16		tx_prec_map;		/* Precedence map based on HW FIFO space */	uint16		fifo2prec_map[NFIFO];	/* pointer to fifo2_prec map based on WME */	bool		_regulatory_domain;	/* 802.11d enabled? */	bool		tx_suspended;		/* data fifos need to remain suspended */	bool		wpa_msgs;		/* enable/disable wpa indications via wlc_wpa_msg */	/* BSS Configurations */	wlc_bsscfg_t	*bsscfg[WLC_MAXBSSCFG];	/* set of BSS configurations, idx 0 is default and						 * always valid						 */	wlc_bsscfg_t	cfg;			/* the primary bsscfg (can be AP or STA) */	int		bsscfg_prb_idx;		/* index of bsscfg using ucode probe response */	int		bsscfg_bcn_idx;		/* index of bsscfg using ucode beacon(designated						 * bss)					 */	uint		aps_associated;		/* count of active (up) AP bsscfgs */	uint8		block_datafifo;		/* prohibit posting frames to data fifos */	bool		bcmcfifo_drain;		/* TX_BCMC_FIFO is set to drain */	uint8	eventing[WL_EVENTING_MASK_LEN];		/* 128-bit mask for MAC event reporting to							 * outside world							 */	uint8	event_msgs[WL_EVENTING_MASK_LEN];	/* 128-bit mask for MAC event reporting via							 * data packets							 */	struct pktq	txq;			/* common tx pkt Q */	/* scb data */	scb_module_t	*scbstate;		/* pointer to scb module state */	uint		seckeys;		/* 58 key table shm address */	wlc_event_cb_t callback;		/* event callback function */	/* channel quality measure */	int		channel_quality;	/* quality metric(0-3) of last measured channel, or						 * -1 if in progress						 */	uint		channel_qa_channel;	/* channel number of channel being evaluated */	int8		channel_qa_sample[WLC_CHANNEL_QA_NSAMP]; /* rssi samples of background								  * noise								  */	uint		channel_qa_sample_num;	/* count of samples in channel_qa_sample array */	/* quiet channels currently for radar sensitivity or 11h support */	chanvec_t	quiet_channels;		/* channels on which we cannot transmit */	/* roaming */	uint		roam_metric;		/* eval metric used in roam scan cb */	uint		time_since_bcn;		/* second count since our last beacon was seen */	uint32		tsf_h;		/* tracked TSF high bits (to detect retrograde TSF) */	uint32		tsf_l;		/* tracked TSF low bits (to detect retrograde TSF) */	int		roam_scan_block;	/* roam scan frequency mitigator */	int		roam_scan_period;	/* user-specified roam scan period */	uint		roam_reason;		/* cache so we can report w/WLC_E_ROAM event */	/* association */	struct wl_timer *assoc_timer;		/* timer for auth/assoc request timeout */	uint		assoc_type;		/* roam or association */	uint		assoc_state;	uint		sta_retry_time;		/* time to retry on initial assoc failure */	uint16		assoc_capability;	/* next (re)association request overrides */	uint16		assoc_listen;	struct ether_addr assoc_bssid;	uint8		*assoc_elts;	uint		assoc_elts_len;	struct dot11_assoc_req *assoc_req;	/* last (re)association request */	uint		assoc_req_len;	bool		assoc_req_is_reassoc;	/* is a reassoc */	struct dot11_assoc_resp *assoc_resp;	/* last (re)association response */	uint		assoc_resp_len;	uint		sup_type;	bool		sup_auth_pending;	/* flag for auth timeout */	wlc_bss_list_t	join_targets;	uint		join_targets_last;	/* index of last target tried (next: --last) */	/* 802.11h Quiet Period */	struct {		int duration; 		/* TU's */		int period;		int offset; 		/* TU's offset from TBTT in Count field */		uint32 _state;		int countdown;		/* Beacons from now when quiet period will start */		uint32 start_prep_tsf;	/* When to start preparing to be quiet(ie shutdown FIFOs)					 */		uint32 start_tsf;	/* When to start being quiet */		uint32 end_tsf;	/* When we can start xmiting again */		/* dual purpose: wait for offset with beacon & wait for duration */		struct wl_timer *timer;	} quiet;	/* 802.11h Channel Switch Announcement */	struct {		uint32	secs;		/* seconds until channel switch */		int8	channel;	/* target channel */	} channel_sw;	/* Demodulator frequency tracking */	bool		freqtrack;		/* Have we increased the frequency						 * tracking bandwidth of the						 * demodulator?						 */	uint		freqtrack_starttime;	/* Start time(in seconds) of the last						 * frequency tracking attempt						 */	int8		freqtrack_attempts;	/* Number of times we tried to acquire						 * beacons by increasing the freq						 * tracking b/w						 */	int8		freqtrack_override;	/* Override setting from registry */	/* scan */	struct {		/* scan times are in milliseconds */		int		bss_type;	/* Scan for Infra, IBSS, or Any */		int		ssid_len;		uchar		ssid[DOT11_MAX_SSID_LEN];		struct ether_addr bssid;		uint8		channel_list[MAXCHANNEL];	/* list of channels to scan */		int		channel_num;	/* length of channel_list */		int		channel_idx;	/* index in channel_list of current channel we are						 * scanning						 */		uint8		channel_return;	/* channel to return to when scan is done */		uint8		state;		/* scan state bits */		int8		pass;		/* current scan pass or scan state */		int8		nprobes;	/* number of probes per channel */		uint16		home_time;	/* dwell time for the home channel between channel						 * scans						 */		uint16		active_time;	/* dwell time per channel for active scanning */		uint16		passive_time;	/* dwell time per channel for passive scanning */		int		away_limit;	/* number of non-home channels to scan before						 * returning to home						 */		int		away_count;	/* number of non-home channels we have scanned						 * consecutively						 */		uint32		start_tsf;	/* TSF read from chip at start of channel scan */		struct wl_timer *timer;		/* timer for BSS scan operations */		cb_fn_t		cb;		/* function to call when scan is done */		void		*cb_arg;	/* arg to cb fn */		/* scan defaults */		struct {			uint16	home_time;	/* dwell time for the home channel between channel						 * scans						 */			uint16	unassoc_time;	/* dwell time per channel when unassociated */			uint16	assoc_time;	/* dwell time per channel when associated */			uint16	passive_time;	/* dwell time per channel for passive scanning */			int8	nprobes;	/* number of probes per channel */			int8	passive;	/* scan type: 1 -> passive, 0 -> active */		} defaults;	} scan;	wlc_bss_list_t	scan_results;	bool ibss_allowed;	/* If FALSE, all IBSS will be ignored during a scan				 * and the driver will not allow the creation of an IBSS network				 */	uint		aci_start_time;		/* adjacent channel interference start time */	int		aci_exit_check_period;	uint		txpend16165war;			uint		dbgsel;			/* maccontrol debug gpio select */	bool		assocroam;		/* TRUE: roam to preferred assoc band in oid						 * broadcast scan						 */	wlc_bss_list_t	custom_scan_results;	/* results from ioctl scan */	uint		_spect_management;	/* 802.11h dot11SpectrumManagementRequired value */	/* Currently, JP-variants are reported througth WLC_GET_COUNTRY_LIST if TRUE */	bool		country_list_extended;	uint16		AID;			/* association ID */	uint16		counter;		/* per-sdu monotonically increasing counter */

⌨️ 快捷键说明

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