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

📄 wlc.h

📁 wi-fi sources for asus wl138g v2 pci card
💻 H
📖 第 1 页 / 共 3 页
字号:
	uint		nmac;			/* # of entries on maclist array */	int		macmode;		/* allow/deny stations on maclist array */	struct ether_addr	maclist[MAXMACLIST];	/* list of source MAC addrs to match */	struct ether_addr	BSSID;		/* Filter for receiving bc/mc frames */	struct ether_addr	prev_BSSID;	/* MAC addr of last associated AP (BSS) */	struct ether_addr	announce_BSSID;	/* BSSID to announce in beacon or probe */	wlc_bss_info_t	default_bss;		/* configured BSS parameters */	wlc_bss_info_t	target_bss;		/* join attempt BSS parameters */	/* security */	wsec_key_t*	wsec_keys[WSEC_MAX_KEYS];	/* dynamic key storage */	wsec_key_t	wsec_def_keys[WLC_DEFAULT_KEYS];	/* fixed default key storage */	wsec_key_vec_t	wsec_bsupdate;		/* key update flag for band switch that involves a						 * core switch						 */	bool		wsec_portopen;		/* indicates keys are plumbed */	bool		wsec_swkeys;		/* indicates that all keys should be						 * treated as sw keys (used for debugging)						 */	/* network config */	bool	shortpreamble;		/* currently operating with CCK ShortPreambles */	bool	shortslot;		/* currently using 802.11g ShortSlot timing */	bool	erp_ie_use_protection;	/* currently advertising Use_Protection */	bool	erp_ie_nonerp;		/* currently advertising NonERP_Present */	bool	nonerp_assoc;		/* NonERP STAs associated? */	bool	ofdm_assoc;		/* OFDM STAs associated? */	bool	nonabcap_assoc;		/* nonAfterburnerCapable STAs associated? */	bool	longslot_assoc;		/* Long Slot timing only STAs associated? */	bool	longpre_assoc;		/* bss/ibss: cck long preamble only STAs associated? */	bool	include_legacy_erp;	/* include Legacy ERP info elt ID 47 as well as					 * 802.11g ID 42					 */	bool	ignore_bcns;		/* override: ignore non shortslot bcns in a G network */	bool	barker_overlap_control; /* true=be aware of overlapping BSSs for barker */	bool	g_protection;		/* use g spec protection */	bool	g_protection_cts;	/* use CTS-to-Self instead of RTS/CTS */	bool	n_protection;		/* use OFDM protection on MIMO frames */	bool	interference_mode_crs;	/* aphy crs state for interference mitigation mode */	int8	barker_preamble;	/* current Barker Preamble Mode */	int8	shortslot_override;	/* 802.11g ShortSlot override */	int	nonerp_ibss_timeout;	/* #seconds until nonerp IBSS beacons gone */	int	nonerp_ovlp_timeout;	/* #seconds until nonerp overlapping BSS bcns gone */	int	ofdm_ibss_timeout;	/* #seconds until ofdm IBSS beacons gone */	int	ofdm_ovlp_timeout;	/* #seconds until ofdm overlapping BSS bcns gone */	int	longpre_detect_timeout;	/* #seconds until long preamble bcns gone */	int	barker_detect_timeout;	/* #seconds until bcns signaling Barker long					 * preamble only gone					 */	int	protection_detect_timeout; /* #seconds until bcns signaling Use_Protection gone */	int	n_protection_ibss_detect_timeout; /* #seconds until bcns signaling						   * Use_OFDM_Protection gone						   */	int8	g_protection_control;	/* AP/IBSS control alg for g spec protection */	int8	g_protection_override;	/* override for use of g spec protection */	int8	n_protection_control;	/* AP/IBSS control alg for PreN protection */	int8	n_protection_override;	/* override for use of PreN protection */	int8	PLCPHdr_override;	/* 802.11b Preamble Type override */	int8	txant;			/* userTx antenna setting */	uint16	phytxant;		/* phyTx antenna setting in txheader */	int	nmode;			/* PreN mode 0 = disabled, 1 = enabled */	int	interference_mode;	/* enable interference mitigation mode */	uint	interference_mode_crs_time; /* time at which crs was turned off */	uint16	crsglitch_prev;		/* crsglitch count at last watchdog */	/* do not send prb resp if request older than this, 0 = disable */	uint16		prb_resp_timeout;	struct rateset	sup_rates_override;	/* use only these rates in 11g supported rates if						 * specifed						 */	/* PHY parameters */	uint16		fragthresh[NFIFO];	/* per-fifo fragmentation thresholds */	uint16		RTSThresh;		/* 802.11 dot11RTSThreshold */	uint16		SRL;			/* 802.11 dot11ShortRetryLimit */	uint16		LRL;			/* 802.11 dot11LongRetryLimit */	uint16		SFBL;			/* Short Frame Rate Fallback Limit */	uint16		LFBL;			/* Long Frame Rate Fallback Limit */	int		rssi;			/* RSSI moving average */	int8		phy_noise_list[MAXCHANNEL];	/* noise right after tx */	char		brcm_ie[WLC_MAX_BRCM_ELT];	/* brcm proprietary element */	bool		PSpoll;			/* whether there is an outstanding PS-Poll frame */	uint8		PM;			/* power-management mode (CAM, PS or FASTPS) */	uint8		PMidlebcns;		/* bcns since last pkt was tx'd or rx'd */	bool		PMawakebcn;		/* bcn recvd during current waking state */	/* packet queue */	uint		qvalid;			/* DirFrmQValid and BcMcFrmQValid */	pkt_cb_t	pkt_callback[MAX_PKT_CB + 1]; /* tx completion callback handlers */	uint32		txretried;		/* tx retried number in one msdu */	uint		txrateidx;		/* index into tx rate circular buffer */	ratespec_t     	txrate[NTXRATE][2];	/* circular buffer of prev MPDUs tx rates */	uint8		nickname[32];		/* Set by vx/linux ioctls but currently unused */	uint8		spect_state; 		/* Keep various 11h states */	dot11_quiet_t 	quiet_cmd;	dot11_channel_switch_t 	csa;	uint8 		pwr_constraint;	/* WiFi Multimedia Enhancements (WME) */	ac_bitmap_t	wme_admctl;		/* bit i set if AC i under admission control */	uint16		wme_txop[AC_COUNT];	/* current txop for each ac */	wme_param_ie_t	wme_param_ie;		/* WME parameter info element, which on STA						 * contains parameters in use locally, and on						 * AP contains parameters advertised to STA						 * in beacons and assoc responses.						 */	uint8		apsd_sta_qosinfo;	/* Application-requested APSD configuration */	bool		apsd_sta_usp;		/* Unscheduled Service Period in progress on STA */	wlc_event_t 	*events;		/* ordered list of events to report */	uint32	lifetime[AC_COUNT];		/* MSDU lifetime per AC in us */	modulecb_t	modulecb[WLC_MAXMODULES];	txmod_info_t  txmod_fns[SCB_LAST];};/* quiet.state */#define WAITING_FOR_FLUSH_COMPLETE 	(1 << 0)#define WAITING_FOR_INTERVAL		(1 << 1)#define WAITING_FOR_OFFSET		(1 << 2)#define WAITING_FOR_DURATION		(1 << 3)#define SILENCE				(1 << 4)#define QUIET_STATE(wlc)	0/* spect_state */#define NEED_TO_UPDATE_BCN	(1 << 0)	/* Need to decrement counter in outgoing beacon */#define NEED_TO_SWITCH_CHANNEL	(1 << 1)	/* A channel switch is pending */#define RADAR_SIM		(1 << 2)	/* Simulate radar detection...for testing */#define FASTPM_IDLEBCNS	2	/* fast pm mode: transition from PS off->on after this many idle * bcn periods *//* bandstate array indices */#define BAND_2G_INDEX		0	/* wlc->bandstate[x] index */#define BAND_5G_INDEX		1	/* wlc->bandstate[x] index */#define	CHANNEL_BANDUNIT(wlc, ch)	((ch <= WLC_MAX_2G_CHANNEL) ? BAND_2G_INDEX : BAND_5G_INDEX)#define	OTHERBANDUNIT(wlc)	((uint)((wlc)->band->bandunit? BAND_2G_INDEX : BAND_5G_INDEX))#define	BAND2CORE(wlc, bandunit) ((uint)(((wlc)->ncores > 1)? bandunit: 0))#define IS_MBAND_UNLOCKED(wlc) \	((NBANDS(wlc) > 1) && !(wlc)->bandlocked)/* increment counter */#define WLCNINC(cntr)#define WLCNINCN(cntr)#define AID2PVBMAP(aid)	(aid & 0x3fff)#define AID2AIDMAP(aid)	((aid & 0x3fff) - 1)/* set the 2 MSBs of the AID */#define AIDMAP2AID(pos)	((pos + 1) | 0xc000)/* sum the individual fifo tx pending packet counts */#define	TXPKTPENDTOT(wlc) (wlc->core->txpktpend[0] + wlc->core->txpktpend[1] + \	wlc->core->txpktpend[2] + wlc->core->txpktpend[3])#define WLC_IS_MATCH_SSID(wlc, ssid1, ssid2, len1, len2) \	((len1 == len2) && !bcmp(ssid1, ssid2, len1))extern void wlc_link(wlc_info_t *wlc, bool up, struct ether_addr *addr, wlc_bsscfg_t *bsscfg);extern int wlc_scan_request(wlc_info_t *wlc,	int bss_type, const struct ether_addr* bssid, const uchar ssid[], int ssid_len,	int scan_type, int nprobes, int active_time, int passive_time, int home_time,	const uint16* channel_list, int channel_num, bool save_prb, cb_fn_t fn, void* arg);extern void wlc_set_ssid(wlc_info_t *wlc, uchar SSID[], int len);/* helper functions */extern bool wlc_rateset_isofdm(uint count, uint8 *rates);extern void wlc_remove_all_keys(wlc_info_t *wlc);extern int wlc_format_ssid(char* buf, const uchar ssid[], int ssid_len);extern bool wlc_bssid_is_current(wlc_info_t *wlc, struct ether_addr *bssid);extern uint32 wlc_mhf(wlc_info_t *wlc, uint32 mask, uint32 val, bool allbands);extern void wlc_txstatusrecv(wlc_info_t *wlc);extern void wlc_bss_list_free(wlc_info_t *wlc, wlc_bss_list_t *bss_list);extern void wlc_update_txpwr_shmem(wlc_pub_t *pub);void wlc_rateprobe(wlc_info_t *wlc, struct ether_addr *ea,                   struct scb *scb, ratespec_t rate_override);void *wlc_senddeauth(wlc_info_t *wlc, struct ether_addr *da, struct ether_addr *bssid,                      struct scb *scb, uint16 reason_code);void wlc_mac_event(wlc_info_t* wlc, uint msg, const struct ether_addr* addr,                   uint result, uint status, uint auth_type, void *data, int datalen);void wlc_bss_up(wlc_info_t *wlc, wlc_bsscfg_t *cfg);int wlc_disassociate_client(wlc_info_t *wlc, bool send_disassociate, pkcb_fn_t fn, void *arg);void wlc_assoc_abort(wlc_info_t *wlc);extern int wlc_pkt_callback_register(wlc_info_t *wlc, pkcb_fn_t fn, void *arg, void *pkt);extern void *wlc_sendnulldata(wlc_info_t *wlc, struct ether_addr *da, uint rate_override,                              uint32 pktflags, int prio);extern int wlc_wsec(wlc_info_t *wlc, wlc_bsscfg_t *bsscfg, uint32 val);extern void wlc_read_tsf(wlc_info_t* wlc, uint32* tsf_l_ptr, uint32* tsf_h_ptr);extern bcm_tlv_t *wlc_find_vendor_ie(uint8 *tlvs, int tlvs_len, uint8 *voui, uint8 *type,	int type_len);extern void wlc_set_cwmin(wlc_info_t *wlc, uint16 newmin);extern void wlc_set_cwmax(wlc_info_t *wlc, uint16 newmax);extern void wlc_mac_bcn_promisc(wlc_info_t *wlc);extern void wlc_mac_promisc(wlc_info_t *wlc);extern void wlc_sendprobe(wlc_info_t *wlc, uchar ssid[], int ssid_len);extern void wlc_bss_list_xfer(wlc_bss_list_t *from, wlc_bss_list_t *to);extern void wlc_send_q(wlc_info_t *wlc, struct pktq *q);extern int wlc_prep_sdu(wlc_info_t *wlc, void **sdu, int *nsdu, uint *fifo);extern int wlc_prep_pdu(wlc_info_t *wlc, void *pdu, uint *fifo);extern void wlc_send_action_err(wlc_info_t *wlc, struct dot11_management_header *hdr,	uint8 *body, int body_len);extern void *wlc_frame_get_mgmt(wlc_info_t *wlc, uint16 fc, const struct ether_addr *da,        const struct ether_addr *bssid, uint body_len, uint8 **pbody);extern void *wlc_frame_get_ctl(wlc_info_t *wlc, uint len);extern bool wlc_sendmgmt(wlc_info_t *wlc, void *p, struct scb *scb, int preamble,	wsec_key_t *key, ratespec_t rate_or);extern bool wlc_sendctl(wlc_info_t *wlc, void *p, struct scb *scb, uint fifo,	ratespec_t rate_or, bool enq_only);extern void wlc_recvdata_ordered(wlc_info_t *wlc, struct scb *scb, struct wlc_frminfo *f);extern void wlc_set_pmstate(wlc_info_t *wlc, bool state);extern void wlc_uint64_add(uint32* high, uint32* low, uint32 inc_high, uint32 inc_low);extern void wlc_uint64_sub(uint32* a_high, uint32* a_low, uint32 b_high, uint32 b_low);extern bool wlc_uint64_lt(uint32 a_high, uint32 a_low, uint32 b_high, uint32 b_low);extern void wlc_rm_meas_end(wlc_info_t* wlc);extern void wlc_rm_start(wlc_info_t* wlc);extern int wlc_rm_abort(wlc_info_t* wlc);extern uint32 wlc_calc_tbtt_offset(uint32 bi, uint32 tsf_h, uint32 tsf_l);extern int wlc_roam_scan(wlc_info_t *wlc, uint reason);/* Shared memory and template access */extern void wlc_write_shm(wlc_info_t *wlc, uint offset, uint16 v);extern uint16 wlc_read_shm(wlc_info_t *wlc, uint offset);extern void wlc_write_template_ram(wlc_info_t *wlc, int offset, int len, void *buf);extern void wlc_set_shm(wlc_info_t *wlc, uint offset, uint16 v, int len);extern void wlc_copyto_shm(wlc_info_t *wlc, uint offset, const void* buf, int len);extern void wlc_copyfrom_shm(wlc_info_t *wlc, uint offset, void* buf, int len);extern void wlc_set_rcmta(wlc_info_t *wlc, int idx, const struct ether_addr *addr);extern void wlc_set_addrmatch(wlc_info_t *wlc, int match_reg_offset, const struct ether_addr *addr);extern void wlc_assoc_change_state(wlc_info_t *wlc, uint newstate);extern void wlc_txfifo(wlc_info_t *wlc, uint fifo, void *p, bool commit);extern bool wlc_validate_chip_access(wlc_info_t *wlc);extern void wlc_update_beacon(wlc_info_t *wlc);extern void wlc_read_pmq_ea(wlc_info_t *wlc,  struct ether_addr* eaddr);extern bool wlc_prec_enq(wlc_info_t *wlc, struct pktq *q, void *pkt, int prec);extern void wlc_pkt_flush(wlc_info_t *wlc, void *pkt, uint16 txstatus);extern void wlc_pkt_callback_append(wlc_info_t *wlc, void *new_pkt, void *pkt);extern char* wlc_get_macaddr(wlc_info_t *wlc);extern uint8* wlc_write_info_elt(uint8 *cp, int id, int len, const void* data);extern void wlc_coredisable(wlc_info_t* wlc);extern void wlc_clkctl_clk(wlc_info_t *wlc, uint mode);extern void wlc_xtal(wlc_info_t* wlc, bool want);extern void wlc_radio_hwdisable_upd(wlc_info_t* wlc);extern void wlc_setxband(wlc_info_t *wlc, uint bandunit);extern void wlc_setband(wlc_info_t *wlc, uint bandunit);extern void wlc_rateset_elts(wlc_info_t *wlc, uint count, const uint8* rates,                             struct rateset *sup_rates, struct rateset *ext_rates);extern void wlc_compute_plcp(wlc_info_t *wlc, ratespec_t rate, uint length, uint8 *plcp);extern uint wlc_calc_frame_time(wlc_info_t *wlc, ratespec_t ratespec,	int short_preamble, uint mac_len);extern void wlc_processpmq(wlc_info_t *wlc);extern void wlc_set_ratetable(wlc_info_t *wlc);extern void wlc_scan_default_channels(wlc_info_t *wlc, uint8 *channel_list, int *pchannel_num);extern void wlc_default_bss(wlc_info_t *wlc);extern uint wlc_rx_channel(d11rxhdr_t *rxh);extern void wlc_set_channel(wlc_info_t *wlc, uint channel);extern void wlc_info_init(wlc_info_t* wlc, bool wme, int unit);extern bool wlc_timers_init(wlc_info_t* wlc, int unit);extern const wlc_iovar_t wlc_iovars[];extern bool wlc_update_brcm_ie(wlc_info_t *wlc);extern void wlc_txq_scb_free_notify(void *context, struct scb *remove);extern void wlc_recvdata(wlc_info_t *wlc, osl_t *osh, d11rxhdr_t *rxh, void *p);extern void wlc_recvdata_sendup(wlc_info_t *wlc, struct scb *scb, bool wds, struct ether_addr *da,                                void *p);extern bool wlc_sendsdu(wlc_info_t *wlc, void *sdu);extern struct dot11_header *wlc_80211hdr(wlc_info_t *wlc, osl_t *osh, void *p,                                         wlc_bsscfg_t *bsscfg, struct scb *scb,                                         bool MoreFrag, wsec_key_t *key,                                         uint8 prio);extern void wlc_ether_8023hdr(wlc_info_t *wlc, osl_t *osh, struct ether_header *eh, void *p);extern void wlc_8023_etherhdr(wlc_info_t *wlc, osl_t *osh, void *p);extern void* wlc_hdr_proc(wlc_info_t *wlc, void *sdu, struct scb *scb);extern uint16 wlc_sdu_etype(wlc_info_t *wlc, void *sdu);extern uint8* wlc_sdu_data(wlc_info_t *wlc, void *sdu);extern uint16 wlc_rcvfifo_limit_get(wlc_info_t *wlc);extern void wlc_dump_txdesc(d11txh_t *txh);extern void wlc_dump_txstatus(tx_status_t* txs);extern void wlc_btc_gpio_disable(wlc_info_t *wlc);/* stuff pulled in from wlc.c *//* Interrupt bit error summary.  Don't include I_RU: we refill DMA at other * times; and if we run out, constant I_RU interrupts may cause lockup.  We * will still get error counts from rx0ovfl. */#define	I_ERRORS	(I_PC | I_PD | I_DE | I_RO | I_XU)/* default software intmasks */#define	DEF_RXINTMASK	(I_RI)	/* enable rx int on rxfifo only */#define	DEF_MACINTMASK	(MI_TXSTOP | MI_TBTT | MI_ATIMWINEND | MI_PMQ | \			 MI_PHYTXERR | MI_DMAINT | MI_TFS | MI_BG_NOISE | \			 MI_CCA | MI_TO | MI_GP0 | MI_RFDISABLE)#define	RETRY_SHORT_DEF			7	/* Default Short retry Limit */#define	RETRY_SHORT_MAX			255	/* Maximum Short retry Limit */#define	RETRY_LONG_DEF			4	/* Default Long retry count */#define	RETRY_SHORT_FB			3	/* Short retry count for fallback rate */#define	RETRY_LONG_FB			2	/* Long retry count for fallback rate */#define	MAXTXPKTS		6		/* max # pkts pending */#define	PIO_TX	1 /* Xmit engine for PIO Fifo */#define	PIO_RX	2 /* Recv. engine for PIO Fifo */#define PIOREG(wlc, txrx, fifonum)	(D11REV_LT(wlc->pub.corerev, 8) ? \	((txrx == PIO_TX) ?     (void *)&(wlc->regs->fifo.f32regs.pioregs[fifonum].b2.tx) : \				(void *)&(wlc->regs->fifo.f32regs.pioregs[fifonum].b2.rx)) : \	((txrx == PIO_TX) ?     (void *)&(wlc->regs->fifo.f32regs.pioregs[fifonum].b4.tx) : \				(void *)&(wlc->regs->fifo.f32regs.pioregs[fifonum].b4.rx)))extern void wlc_txmod_fn_register(wlc_info_t *wlc, scb_txmod_t feature_id, txmod_tx_fn_t tx_fn,                                  void *ctx, txmod_deactivate_fn_t deactivate_fn,                                  txmod_activate_fn_t activate_fn);extern void wlc_txq_scb_init(void *ctx, struct scb *scb);#endif	/* _wlc_h_ */

⌨️ 快捷键说明

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