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

📄 dev.h

📁 linux内核源码
💻 H
字号:
/**  * This file contains definitions and data structures specific  * to Marvell 802.11 NIC. It contains the Device Information  * structure wlan_adapter.  */#ifndef _WLAN_DEV_H_#define _WLAN_DEV_H_#include <linux/netdevice.h>#include <linux/wireless.h>#include <linux/ethtool.h>#include <linux/debugfs.h>#include <net/ieee80211.h>#include "defs.h"#include "scan.h"extern struct ethtool_ops libertas_ethtool_ops;#define	MAX_BSSID_PER_CHANNEL		16#define NR_TX_QUEUE			3/* For the extended Scan */#define MAX_EXTENDED_SCAN_BSSID_LIST    MAX_BSSID_PER_CHANNEL * \						MRVDRV_MAX_CHANNEL_SIZE + 1#define	MAX_REGION_CHANNEL_NUM	2/** Chan-freq-TxPower mapping table*/struct chan_freq_power {	/** channel Number		*/	u16 channel;	/** frequency of this channel	*/	u32 freq;	/** Max allowed Tx power level	*/	u16 maxtxpower;	/** TRUE:channel unsupported;  FLASE:supported*/	u8 unsupported;};/** region-band mapping table*/struct region_channel {	/** TRUE if this entry is valid		     */	u8 valid;	/** region code for US, Japan ...	     */	u8 region;	/** band B/G/A, used for BAND_CONFIG cmd	     */	u8 band;	/** Actual No. of elements in the array below */	u8 nrcfp;	/** chan-freq-txpower mapping table*/	struct chan_freq_power *CFP;};struct wlan_802_11_security {	u8 WPAenabled;	u8 WPA2enabled;	u8 wep_enabled;	u8 auth_mode;};/** Current Basic Service Set State Structure */struct current_bss_params {	/** bssid */	u8 bssid[ETH_ALEN];	/** ssid */	u8 ssid[IW_ESSID_MAX_SIZE + 1];	u8 ssid_len;	/** band */	u8 band;	/** channel */	u8 channel;	/** zero-terminated array of supported data rates */	u8 rates[MAX_RATES + 1];};/** sleep_params */struct sleep_params {	u16 sp_error;	u16 sp_offset;	u16 sp_stabletime;	u8 sp_calcontrol;	u8 sp_extsleepclk;	u16 sp_reserved;};/* Mesh statistics */struct wlan_mesh_stats {	u32	fwd_bcast_cnt;		/* Fwd: Broadcast counter */	u32	fwd_unicast_cnt;	/* Fwd: Unicast counter */	u32	fwd_drop_ttl;		/* Fwd: TTL zero */	u32	fwd_drop_rbt;		/* Fwd: Recently Broadcasted */	u32	fwd_drop_noroute; 	/* Fwd: No route to Destination */	u32	fwd_drop_nobuf;		/* Fwd: Run out of internal buffers */	u32	drop_blind;		/* Rx:  Dropped by blinding table */	u32	tx_failed_cnt;		/* Tx:  Failed transmissions */};/** Private structure for the MV device */struct _wlan_private {	int open;	int mesh_open;	int infra_open;	int mesh_autostart_enabled;	__le16 boot2_version;	char name[DEV_NAME_LEN];	void *card;	wlan_adapter *adapter;	struct net_device *dev;	struct net_device_stats stats;	struct net_device *mesh_dev; /* Virtual device */	struct net_device *rtap_net_dev;	struct ieee80211_device *ieee;	struct iw_statistics wstats;	struct wlan_mesh_stats mstats;	struct dentry *debugfs_dir;	struct dentry *debugfs_debug;	struct dentry *debugfs_files[6];	struct dentry *events_dir;	struct dentry *debugfs_events_files[6];	struct dentry *regs_dir;	struct dentry *debugfs_regs_files[6];	u32 mac_offset;	u32 bbp_offset;	u32 rf_offset;	/** Upload length */	u32 upld_len;	/* Upload buffer */	u8 upld_buf[WLAN_UPLD_SIZE];	/* Download sent:	   bit0 1/0=data_sent/data_tx_done,	   bit1 1/0=cmd_sent/cmd_tx_done,	   all other bits reserved 0 */	u8 dnld_sent;	struct device *hotplug_device;	/** thread to service interrupts */	struct task_struct *main_thread;	wait_queue_head_t waitq;	struct workqueue_struct *work_thread;	struct delayed_work scan_work;	struct delayed_work assoc_work;	struct work_struct sync_channel;	/** Hardware access */	int (*hw_host_to_card) (wlan_private * priv, u8 type, u8 * payload, u16 nb);	int (*hw_get_int_status) (wlan_private * priv, u8 *);	int (*hw_read_event_cause) (wlan_private *);};/** Association request * * Encapsulates all the options that describe a specific assocation request * or configuration of the wireless card's radio, mode, and security settings. */struct assoc_request {#define ASSOC_FLAG_SSID			1#define ASSOC_FLAG_CHANNEL		2#define ASSOC_FLAG_BAND			3#define ASSOC_FLAG_MODE			4#define ASSOC_FLAG_BSSID		5#define ASSOC_FLAG_WEP_KEYS		6#define ASSOC_FLAG_WEP_TX_KEYIDX	7#define ASSOC_FLAG_WPA_MCAST_KEY	8#define ASSOC_FLAG_WPA_UCAST_KEY	9#define ASSOC_FLAG_SECINFO		10#define ASSOC_FLAG_WPA_IE		11	unsigned long flags;	u8 ssid[IW_ESSID_MAX_SIZE + 1];	u8 ssid_len;	u8 channel;	u8 band;	u8 mode;	u8 bssid[ETH_ALEN];	/** WEP keys */	struct enc_key wep_keys[4];	u16 wep_tx_keyidx;	/** WPA keys */	struct enc_key wpa_mcast_key;	struct enc_key wpa_unicast_key;	struct wlan_802_11_security secinfo;	/** WPA Information Elements*/	u8 wpa_ie[MAX_WPA_IE_LEN];	u8 wpa_ie_len;	/* BSS to associate with for infrastructure of Ad-Hoc join */	struct bss_descriptor bss;};/** Wlan adapter data structure*/struct _wlan_adapter {	/** STATUS variables */	u8 fwreleasenumber[4];	u32 fwcapinfo;	/* protected with big lock */	struct mutex lock;	u8 tmptxbuf[WLAN_UPLD_SIZE];	/* protected by hard_start_xmit serialization */	/** command-related variables */	u16 seqnum;	/* protected by big lock */	struct cmd_ctrl_node *cmd_array;	/** Current command */	struct cmd_ctrl_node *cur_cmd;	int cur_cmd_retcode;	/** command Queues */	/** Free command buffers */	struct list_head cmdfreeq;	/** Pending command buffers */	struct list_head cmdpendingq;	wait_queue_head_t cmd_pending;	u8 nr_cmd_pending;	/* command related variables protected by adapter->driver_lock */	/** Async and Sync Event variables */	u32 intcounter;	u32 eventcause;	u8 nodename[16];	/* nickname */	/** spin locks */	spinlock_t driver_lock;	/** Timers */	struct timer_list command_timer;	/* TX queue used in PS mode */	spinlock_t txqueue_lock;	struct sk_buff *tx_queue_ps[NR_TX_QUEUE];	unsigned int tx_queue_idx;	u8 hisregcpy;	/** current ssid/bssid related parameters*/	struct current_bss_params curbssparams;	/* IW_MODE_* */	u8 mode;	/* Scan results list */	struct list_head network_list;	struct list_head network_free_list;	struct bss_descriptor *networks;	u8 adhoccreate;	/** capability Info used in Association, start, join */	u16 capability;	/** MAC address information */	u8 current_addr[ETH_ALEN];	u8 multicastlist[MRVDRV_MAX_MULTICAST_LIST_SIZE][ETH_ALEN];	u32 nr_of_multicastmacaddr;	/** 802.11 statistics *///	struct cmd_DS_802_11_GET_STAT wlan802_11Stat;	u16 enablehwauto;	u16 ratebitmap;	u32 fragthsd;	u32 rtsthsd;	u8 txretrycount;	/** Tx-related variables (for single packet tx) */	struct sk_buff *currenttxskb;	u16 TxLockFlag;	/** NIC Operation characteristics */	u16 currentpacketfilter;	u32 connect_status;	u16 regioncode;	u16 txpowerlevel;	/** POWER MANAGEMENT AND PnP SUPPORT */	u8 surpriseremoved;	u16 psmode;		/* Wlan802_11PowermodeCAM=disable				   Wlan802_11PowermodeMAX_PSP=enable */	u32 psstate;	u8 needtowakeup;	struct PS_CMD_ConfirmSleep libertas_ps_confirm_sleep;	struct assoc_request * pending_assoc_req;	struct assoc_request * in_progress_assoc_req;	/** Encryption parameter */	struct wlan_802_11_security secinfo;	/** WEP keys */	struct enc_key wep_keys[4];	u16 wep_tx_keyidx;	/** WPA keys */	struct enc_key wpa_mcast_key;	struct enc_key wpa_unicast_key;	/** WPA Information Elements*/	u8 wpa_ie[MAX_WPA_IE_LEN];	u8 wpa_ie_len;	/** Requested Signal Strength*/	u16 SNR[MAX_TYPE_B][MAX_TYPE_AVG];	u16 NF[MAX_TYPE_B][MAX_TYPE_AVG];	u8 RSSI[MAX_TYPE_B][MAX_TYPE_AVG];	u8 rawSNR[DEFAULT_DATA_AVG_FACTOR];	u8 rawNF[DEFAULT_DATA_AVG_FACTOR];	u16 nextSNRNF;	u16 numSNRNF;	u8 radioon;	u32 preamble;	/** data rate stuff */	u8 cur_rate;	u8 auto_rate;	/** sleep_params */	struct sleep_params sp;	/** RF calibration data */#define	MAX_REGION_CHANNEL_NUM	2	/** region channel data */	struct region_channel region_channel[MAX_REGION_CHANNEL_NUM];	struct region_channel universal_channel[MAX_REGION_CHANNEL_NUM];	/** 11D and Domain Regulatory Data */	struct wlan_802_11d_domain_reg domainreg;	struct parsed_region_chan_11d parsed_region_chan;	/** FSM variable for 11d support */	u32 enable11d;	/**	MISCELLANEOUS */	u8 *prdeeprom;	struct wlan_offset_value offsetvalue;	struct cmd_ds_802_11_get_log logmsg;	u32 monitormode;	u8 fw_ready;	u8 last_scanned_channel;};#endif				/* _WLAN_DEV_H_ */

⌨️ 快捷键说明

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